Web search
Tavily-compatible `POST /v1/search` returns ranked results without calling a language model. Authenticate with `Authorization: Bearer <BazaarLink key>` or put `api_key` in the JSON body. Use `https://api.bazaarlink.ai/v1` or the fully supported `https://bazaarlink.ai/api/v1` base URL. All frozen OpenAPI fields are validated; unknown fields are ignored. Search depth, date, language, domain, image, answer, and raw-content options follow the contract below. The free allowance requires a verified email and resets daily at 00:00 UTC; accounts without balance and funded accounts have different allowances. The current N/M values come from the database through `getPublicFreeSearchAllowance()`; see the pricing page for the current daily allowance. When the free allowance is exhausted and there is no balance, the response is 432. Customer price equals credits multiplied by the per-credit price configured in the admin. No dollar price is hard-coded here: see the pricing page and read `usage.cost` in each response. Python: `TavilyClient(api_key=..., api_base_url='https://api.bazaarlink.ai/v1')`; JavaScript: `tavily({ apiKey, apiBaseURL })`; LangChain: `TavilySearch(api_base_url=...)`.
/v1/searchAuthorizations
AuthorizationrequiredAPI key as bearer token in the Authorization header.
Body
queryrequiredThe search query to execute.
who is Leo Messi?search_depthControls latency, relevance, and result-content generation. Default: `basic`; `basic`, `fast`, and `ultra-fast` cost 1 credit each, while `advanced` costs 2 credits.
advancedbasicfastultra-fastchunks_per_sourceMaximum relevant content chunks per source. Default: 3; allowed range: 1–3. Available for `advanced`, `basic`, and `fast`.
max_resultsMaximum number of search results to return. Default: 10; allowed range: 0–20.
1topicSearch topic. Default: `general`; use `news` for current news and `finance` for financial content.
generalnewsfinancetime_rangeFilters by publication or update date. Default: not set. Allowed values: `day`, `week`, `month`, `year`, `d`, `w`, `m`, `y`.
dayweekmonthyeardwmystart_dateReturns results published or updated after this date. Format: YYYY-MM-DD.
2025-02-09end_dateReturns results published or updated before this date. Format: YYYY-MM-DD.
2025-12-29include_published_dateIncludes the estimated publication or update date in each result. Automatically enabled for the `news` topic. Default: `false`.
filter_by_published_dateRemoves results outside the `time_range`, `start_date`, or `end_date` window, including results without a detectable date. Default: `false`; `true` also enables `include_published_date`.
include_answerIncludes an LLM-generated answer. Default: `false`; accepts a boolean or `basic`/`advanced`.
basicadvancedinclude_raw_contentIncludes cleaned HTML content for each result. Default: `false`; accepts a boolean or `markdown`/`text`.
markdowntextinclude_imagesIncludes query-related images at the top level and source images inside each result. Default: `false`.
include_image_descriptionsWhen `include_images` is `true`, adds a description to each image. Default: `false`.
include_faviconWhether to include a favicon URL for each result. Default: `false`.
include_domainsRestricts results to the listed domains; maximum 300 domains. Default: an empty array.
exclude_domainsExcludes results from the listed domains; maximum 150 domains. Default: an empty array.
include_domains_modeControls how `include_domains` is applied. `restrict` limits results to those domains; `prefer` prioritizes them but may return others. Requires `include_domains`, otherwise returns 400. Default: not set.
restrictprefercountryBoosts results from a selected country. Available only when `topic` is `general`. Default: not set.
afghanistanalbaniaalgeriaandorraangolaargentinaarmeniaaustraliaaustriaazerbaijanbahamasbahrainbangladeshbarbadosbelarusbelgiumbelizebeninbhutanboliviabosnia and herzegovinabotswanabrazilbruneibulgariaburkina fasoburundicambodiacamerooncanadacape verdecentral african republicchadchilechinacolombiacomoroscongocosta ricacroatiacubacyprusczech republicdenmarkdjiboutidominican republicecuadoregyptel salvadorequatorial guineaeritreaestoniaethiopiafijifinlandfrancegabongambiageorgiagermanyghanagreeceguatemalaguineahaitihondurashungaryicelandindiaindonesiairaniraqirelandisraelitalyjamaicajapanjordankazakhstankenyakuwaitkyrgyzstanlatvialebanonlesotholiberialibyaliechtensteinlithuanialuxembourgmadagascarmalawimalaysiamaldivesmalimaltamauritaniamauritiusmexicomoldovamonacomongoliamontenegromoroccomozambiquemyanmarnamibianepalnetherlandsnew zealandnicaraguanigernigerianorth koreanorth macedonianorwayomanpakistanpanamapapua new guineaparaguayperuphilippinespolandportugalqatarromaniarussiarwandasaudi arabiasenegalserbiasingaporeslovakiasloveniasomaliasouth africasouth koreasouth sudanspainsri lankasudanswedenswitzerlandsyriataiwantajikistantanzaniathailandtogotrinidad and tobagotunisiaturkeyturkmenistanugandaukraineunited arab emiratesunited kingdomunited statesuruguayuzbekistanvenezuelavietnamyemenzambiazimbabwelanguageBoosts results in a selected language. Accepts an ISO 639-1 code or an English language name. Default: not set.
enfilter_by_languageStrictly removes results that do not match `language`. Requires `language`, otherwise returns 400. Default: `false`.
auto_parametersAutomatically selects search parameters from query intent. Explicit values win; `include_answer`, `include_raw_content`, and `max_results` must be set manually. Adds 2 credits per request. Default: `false`.
exact_matchReturns only results containing quoted phrases from the query, bypassing synonyms and semantic variants. Default: `false`.
include_usageWhether to include credit usage in the response. Default: `false`.
safe_searchFilters adult or unsafe content. Default: `false`; unsupported for `fast` and `ultra-fast`.
api_keyOptional JSON-body authentication field. When no Bearer header is present, provide the BazaarLink API key here; it is removed before validation and forwarding.
daysSDK compatibility field `days`. Accepted for compatibility; the plan allows it to be passed through or ignored, and it is not part of the frozen OpenAPI schema.
max_hoursSDK compatibility field `max_hours`. Accepted for compatibility; the plan allows it to be passed through or ignored, and it is not part of the frozen OpenAPI schema.
fetch_timeoutSDK compatibility field `fetch_timeout`. Accepted for compatibility; the plan allows it to be passed through or ignored, and it is not part of the frozen OpenAPI schema.
cache_fallbackSDK compatibility field `cache_fallback`. Accepted for compatibility; the plan allows it to be passed through or ignored, and it is not part of the frozen OpenAPI schema.
timeoutSDK-compatible `timeout` field. Accepted for compatibility; search uses the service-side timeout, and unknown or unsupported fields are ignored.