Discover API
Discover API synchronous request
Use the Bright Data Discover API synchronous endpoint to get ranked search results in a single request with no polling, within a 60-second timeout.
POST
The Bright Data Discover API synchronous endpoint returns ranked search results in the same HTTP response, so you do not create a task or poll for results. Use the synchronous endpoint when a search completes inside the 60-second timeout budget and you need results inline, for example in an AI agent, a RAG pipeline or a chat backend.
The synchronous endpoint accepts the same request body as the asynchronous Discover API endpoint. Only the response differs: the synchronous endpoint returns the final results payload instead of a
The synchronous response uses the same schema as Retrieve Results. The
task_id.
Body Parameters
string
required
The search query.
Maximum length: 1,500 characters.
string
Describes the specific goal of the search to help the AI evaluate and rank result relevance. If not provided, the
query string is used as the intent.Maximum length: 3,000 characters.For best results, use the following formula:
string
default:"standard"
required
Controls the search depth and ranking behavior of the request.
standard- Provides standard search depth and AI ranking. Best for general use cases where a balance of relevance and speed is needed.zeroRanking- Bypasses AI ranking to maximize the raw volume of results returned. Best when you want to collect as much broad data as possible without relevance filtering.InzeroRankingmode, thenum_resultsparameter has no effect on the number of results returned. Additionally,include_contentis not supported in this mode.deep- Performs a more exhaustive, broader search. Best when you need comprehensive coverage of a topic and prioritize thoroughness over speed.fast- Optimizes the request for quicker response times. Best for time-sensitive tasks where getting immediate results is the top priority.
array of strings
A list of exact keywords that must appear in the search results. The API automatically applies
intext: operators to guarantee keyword inclusion.Example: ["Product Manager", "Roadmap"]string
default:"json"
The response format.Available options:
json, mdWhen set tomdandinclude_contentis true, the content field returns parsed Markdown instead of raw HTML.
boolean
default:"false"
If true, the response will include the page content in markdown format.PDF support: When a search result links to a PDF file, the API will automatically extract and parse the PDF content. Limitations:
- Maximum PDF file size: 50 MB
- Maximum PDF parsing time: 30 seconds
- If either limit is exceeded, the content field returns empty.
boolean
default:"false"
If true, the response will extract and include an array of images.
string
default:"en"
The language to search in and return data for.Supported across 31 languages to align with Voyage AI and SERP capabilities, including but not limited to:
en (English), es (Spanish), fr (French), de (German), zh (Chinese), ja (Japanese), ar (Arabic), he (Hebrew), ko (Korean), hi (Hindi), pt (Portuguese), and ru (Russian).integer
The exact number of search results to return in the response.
boolean
default:"true"
If true, duplicate results will be removed from the response.
string
Search only for content updated from the date specified (format: YYYY-MM-DD).
string
Search only for content updated until the date specified (format: YYYY-MM-DD).
string
default:"US"
Get search results from a specific country. This accepts all standard 2-letter ISO country codes (e.g.,
US, GB, DE, IL, FR, JP). This will prioritize content from the selected country in the search results.string
Get search results localized to a specific city using SERP
uule encoding (e.g., "New York", "Berlin", "Tel Aviv"). For best results, use this in conjunction with the corresponding country parameter.Synchronous vs. Asynchronous
The synchronous and asynchronous Discover API endpoints take identical request bodies. They differ only in how you receive results.
Use the synchronous endpoint when the result feeds directly into an AI integration. An agent, a retrieval-augmented generation (RAG) pipeline or a chat backend can send one request and use the ranked results in the same turn, with no task tracking and no polling loop to build or maintain.
Use the asynchronous endpoint when a search may exceed the 60-second synchronous timeout, or when you collect results in the background and fetch them later with Retrieve Results.
status field is always done because the results are final when the response returns.
string
The status of the request. For the synchronous endpoint this is always
done.integer
The time taken to process the request in seconds.
object[]
A list of sorted search results.
Errors
The synchronous endpoint carries over the validation and authentication errors from the asynchronous Discover API endpoint, and adds a504 error when a search does not finish within the 60-second timeout budget.
FAQs
What happens when a synchronous request times out?
What happens when a synchronous request times out?
When a search does not complete within the 60-second timeout budget, the synchronous endpoint returns a
504 error and no results. Retry with a narrower query or a smaller num_results, or send the same request body to the asynchronous Discover API endpoint and fetch the results later with Retrieve Results.Does a timeout return partial results?
Does a timeout return partial results?
No. The synchronous endpoint does not return partial results. A request either returns the complete ranked results with a
200 status, or it returns a 504 error with no results.Is the synchronous response schema the same as Retrieve Results?
Is the synchronous response schema the same as Retrieve Results?
Yes. The synchronous endpoint returns the same payload schema as Retrieve Results: a
status field, a duration_seconds field and a results array. The only difference is that status is always done, because the results are final when the response returns.When should I use the synchronous endpoint instead of the asynchronous one?
When should I use the synchronous endpoint instead of the asynchronous one?
Use the synchronous endpoint when the result feeds directly into an AI integration such as an agent, a RAG pipeline or a chat backend, and the search completes within 60 seconds. Use the asynchronous endpoint for large or slow searches, batch jobs and background collection.
Why am I getting a 403 Forbidden error?
Why am I getting a 403 Forbidden error?
Access to the Bright Data Discover API is restricted. It must be manually enabled for your account by your account manager.