---
source_url: "https://brightdata.com/products/discover-api?utm_source=openai"
title: Discover API - Bright Data
mirrored_at: 2026-08-10T13:04:50.803Z
host: brightdata.com
cited_in_42a: true
mirror_canonical: "https://index.42a.ai/brightdata.com/products/discover-api__q__utm_source_openai"
---

> **Original source:** https://brightdata.com/products/discover-api?utm_source=openai

## Discover API: Source Discovery for AI Agents

Before an agent can extract, scrape, or enrich, it needs to know where. Discover API returns a ranked, live set of URLs from the public web, ready to feed directly into your agent’s extraction, analysis, or monitoring pipeline.

No credit card required

![](https://media.brightdata.com/2026/03/Discover-API_hero_image_v2.webp)

-   Always live retrieval from  
    the web
-   Up to 1000 results per  
    request
-   Ranked for  
    intent
-   Built for parallel agent  
    workloads

## Step 1 of your agentic web data pipeline

Agents built on hardcoded data sources break when sources move, change, or go stale. Discover gives agents a live, ranked map of where the relevant data actually lives, so the next pipeline step always hits the right source.

![](https://media.brightdata.com/2026/03/rank_intent_on.svg)

Ranked for intent

Returns the sources your agent should target next, ranked by task relevance, not SEO rank

![](https://media.brightdata.com/2026/03/high_recall_on.svg)

High recall in one request

Up to 1,000 pipeline-ready URLs per request. No pagination logic, no deduplication overhead.

![](https://media.brightdata.com/2026/03/live_retrival_on.svg)

Live retrieval by default

Every URL is verified live. Your agent never passes a dead endpoint to the next pipeline stage.

![](https://media.brightdata.com/2026/03/evidence_on.svg)

Evidence, not summaries

Optional cleaned Markdown source text for verification and RAG

![](https://media.brightdata.com/2026/03/production_realiability_on.svg)

Production reliability at scale

Built for high throughput, parallel agent workloads

## 

Why agents use Discover

Search engines are for humans. Search APIs are optimized for speed and top links. Discover is built for market-aware workflows that require freshness, high recall, and verifiable context.

Prioritize sources that match the task, not sources that win SEO

![](https://media.brightdata.com/2026/03/01_ranked_for_intent.webp)

Retrieve up to 1000 results without manual pagination logic

![](https://media.brightdata.com/2026/03/02_high_recall_in_one_request.webp)

Reduce risk from stale cached or indexed paths

![](https://media.brightdata.com/2026/03/03_live_retrieval_by_default.webp)

Optional cleaned Markdown source text for verification and RAG

![](https://media.brightdata.com/2026/03/04_evidence_not_summaries.webp)

Built for high throughput, parallel agent workloads

![](https://media.brightdata.com/2026/03/05_production_reliability_at_scale.webp)

                              `` `POST https://api.brightdata.com/discover`  ```bash curl "https://api.brightdata.com/discover"  -H "Authorization: Bearer "  -H "Content-Type: application/json"  -d '{     "query": "competitor pricing changes enterprise plan 2026",     "num_results": 50,     "intent": "find official pricing pages and change notes",     "content": true,     "format": "markdown" }' ``


                              
                            

                              `require('request-promise')({     url: 'https://geo.brdtest.com/mygeo.json',     proxy: 'http://brd-customer-[your customerID]-zone-residential:"[your password]"@brd.superproxy.io:33335',     }) .then(function(data){ console.log(data); },     function(err){ console.error(err); });`
                              
                            

                              `import requests url = "https://api.brightdata.com/datasets/snapshots/{id}/download" headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers) print(response.json())`
                              
                            

                              `using System; using System.Net;  class Example {     static void Main()     {         // Replace '[your customerID]' and '[your password]' with your actual credentials         var client = new WebClient();         client.Proxy = new WebProxy("brd.superproxy.io:33335");         client.Proxy.Credentials = new NetworkCredential("brd-customer-[your customerID]-zone-residential", "[your password]");         Console.WriteLine(client.DownloadString("https://geo.brdtest.com/mygeo.json"));     } }`
                              
                            

### Quickstart

### Built for market intelligence

![](https://media.brightdata.com/2026/03/Request.svg)

##### Competitive intelligence

Track pricing, launches, and positioning changes

![](https://media.brightdata.com/2026/03/Request-1.svg)

##### Risk monitoring

Detect incidents, policy changes, and signals

![](https://media.brightdata.com/2026/03/Request-2.svg)

##### Due diligence

Verify claims across many independent sources

![](https://media.brightdata.com/2026/03/Request-3.svg)

##### Enrichment

Populate CRM with verified live web data

![](https://media.brightdata.com/2026/03/Request-4.svg)

##### Vertical search engines

Build intent-ranked search for one domain

![](https://media.brightdata.com/2026/03/Request-5.svg)

##### Alternative data

Capture long-tail signals across the web

## Designed to work with Bright Data Datasets

Use Discover for live discovery and fresh evidence. Use Bright Data Datasets for baseline grounding and faster retrieval at scale. For large, repeatable data needs, Datasets are more cost effective than re-discovering the same entities over and over, and they give your agent a stronger starting point before it performs live discovery.

[Learn more](#popup-155639)

### FAQ

[

### Is Discover cached or indexed?

](<#Is Discover cached or indexed?>)

Discover is always live. Each request is executed at query time against the live web.

[

### What does intent do?

](<#What does intent do?>)

intent tells Discover what the agent is trying to accomplish so results are ranked for the task.

[

### When should I use include\_content?

](<#When should I use include_content?>)

Use include\_content=true when you need verification or RAG grounding with source text.

[

### Should I use Discover or Datasets?

](<#Should I use Discover or Datasets?>)

Use Datasets for baseline coverage. Use Discover for live discovery and fresh evidence. Most teams use both.

[

### What happens if I need more than 1000 results?

](<#What happens if I need more than 1000 results?>)

Chain multiple Discover calls or use Datasets for bulk ingestion, then use Discover to keep it fresh.

## Start for free

Talk to an expert to discuss your agent needs

[Docs](#popup-155639) [Demos](https://brightdata.com/)

### Give your agents the power  
to see the whole market.

[Request beta access](#popup-170970)