// Search API

The Search API for
Search and Scrape, One Call

Send a query, and DataBlue searches Google, DuckDuckGo, or Brave, then scrapes each result into markdown or JSON in the same request. No separate search provider to wire up, no second scrape call per URL. Each result comes back in the same shape as a single /scrape call, so existing parsing code just works. Sign up and get 1,000 one-time credits to run your first query.

// What It Is

Search Results, With the Pages Attached.

A search API takes a query and returns ranked results the way a search engine sees them, not a page of blue links you have to parse yourself. Most search APIs stop there and hand back titles and snippets. DataBlue goes further and scrapes each result page too, when you ask it to, so the content behind every link arrives in the same response.

That combination matters most for AI agents and RAG pipelines, where a search result without its content is only half useful. Query DataBlue once, and each result arrives with markdown for an LLM to read or a schema-validated JSON object you define. Empty the formats array, and the same endpoint turns into a lightweight SERP lookup, rank and snippet only.

The job lifecycle mirrors DataBlue's own Crawl endpointrather than any other provider's search API, since both run as background jobs with the same polling, SSE, and webhook options. Teams already using Crawl or Scrape will recognize the pattern immediately.

// One Query, Scraped Results

From Query to Ranked Content.

Starting a search returns a job ID right away. Poll GET /search/{job_id} or set a webhook, and each result lands with its content already scraped.

request
# REST
curl -X POST "https://api.datablue.dev/v1/search" \
  -H "Authorization: Bearer wh_..." \
  -H "Content-Type: application/json" \
  -d '{
    "query": "best python web scraping libraries 2026",
    "engine": "google",
    "formats": ["markdown"]
  }'
response.json
{
  "success": true,
  "job_id": "550e8400-e29b-...",
  "status": "started"
}

# then: GET /search/{job_id}
  "data": [{
    "rank": 1, "title": "...",
    "markdown": "..."
  }]
// What You Control

Search, Scrape, or
Both, Your Call.

A query alone rarely tells the whole story. These controls decide which engine answers it and how much of each result comes back.

Multi-engine queries

Google via SearXNG, DuckDuckGo, or Brave, switchable per request with the engine field.

Search + scrape combo

Every result carries markdown or JSON, scraped in the same job as the search itself.

SERP-only mode

Leave formats empty and get title and snippet back without scraping a single page.

Per-result extraction

Nest an extract schema and every result returns typed fields instead of freeform text.

Bring your own key

Route through Google Custom Search or Brave's official API using your own credentials.

Webhook notifications

Set webhook_url and a signed request lands the moment the search job completes.

// Why DataBlue

Built for Production, Priced for Scale.

Most search APIs charge extra the moment you want more than a snippet. DataBlue doesn't split the bill that way. A scraped result costs the same flat credit weight as a plain scrape call, and a SERP-only result costs the same too, so combining search and scraping in one job never carries a markup. Monthly plan credits reset each billing period, and top-up credits never expire.

Every scraped result gets the same rendering treatment as a standalone /scrape call, an HTTP fetch racing a browser render, so JavaScript-heavy result pages come back complete rather than half-loaded. Switching to a different engine takes one field, not a new integration. Bring your own Google or Brave API key if you'd rather route through a quota you already pay for.

Output is LLM-ready by default because every scraped result reuses the same markdown shape as a single /scrape call. Markdown from every result drops straight into a RAG pipeline without extra parsing. Nest an extract schema in the request and the whole batch of results returns typed JSON instead. Point a query at your own research topic and watch ranked, scraped results land in one response.

// Use Cases

What Teams Build With It.

A combined search and scrape call quietly replaces a lot of glue code behind agents, chatbots, and research tools.

AI agent web search

Give an agent one tool call that searches and reads results, instead of chaining a search call into a separate scrape call.

RAG retrieval

Pull live, ranked content into a retrieval pipeline without babysitting a separate search provider and scraper.

Answer engines & chatbots

Ground a chatbot's answers in fresh search results rather than a knowledge base that goes stale.

Competitive research

Run the same query across engines and compare what each one surfaces, side by side.

Lead & company research

Search a company name and scrape the top results into tidy notes in one pass.

Freshness monitoring

Re-run a query on a schedule and diff the scraped results to catch the moment a top answer changes.

// Getting Started

Your First Search in Seconds.

No sales call and no contract to sign. Sign up, grab a key, and your first query is one request away.

01

Create a Free Account

Sign up and grab an API key instantly. You get 1,000 one-time signup credits to test real queries, no credit card required.

02

Send Your First Search

Call /v1/search with a Bearer token and a query. Add formats to scrape each result, or leave it empty for SERP data only.

03

Read the Results

Poll GET /search/{job_id} or set a webhook, and ranked results with scraped content arrive together. Ship it.

// Pricing

Search and scrape, priced like one call.

Start free with 1,000 one-time signup credits. Each result costs the same flat credit weight whether it's scraped or SERP-only, so a search job's total cost is clear before it finishes. There's no premium for choosing a different engine or adding extraction. Monthly plans reset on schedule, and top-up credits stay available until you spend them.

// FAQ

Search API Questions.

What is a Search API?

A search API takes a query, runs it against a real search engine, and hands the results back as organized data instead of a page you'd have to scrape yourself. DataBlue's version goes a step further. It searches and, if you ask it to, scrapes every result page too, in the same job. Send a query and get ranked results with full page content attached.

Which search engines does DataBlue support?

Google through SearXNG by default, with DuckDuckGo and Brave available as alternatives. Set engine to switch between them on any request. Google Custom Search and Brave's own API work too, if you'd rather bring your own key than route through DataBlue's default. Pick whichever engine matches where your users actually search.

Does the Search API scrape the result pages too?

Yes, and that's the whole point. Set formats to markdown or json, and each result comes back with the page content already scraped and parsed. Skip the two-step process of searching first, then scraping every URL by hand. One job returns ranked results with content attached, ready for a RAG pipeline or an agent to read directly.

Can I get search results without scraping, SERP only?

Yes. Pass an empty formats array, and DataBlue returns each result's title and snippet without touching the pages themselves. That's useful when you only need to know what ranks, not what's on the page. Add formats back once you decide you need the content too.

How is this different from the Google SERP API?

The Google SERP API is built for rank tracking. It returns the whole Google results page, ads and all, exactly as Google renders it. The Search API serves a different job. It runs a lighter query across whichever engine you pick, then optionally scrapes each result page into markdown or JSON for an agent or RAG pipeline to consume. Pick the SERP API for SEO work and the Search API for search-driven retrieval.

Can I extract structured data from each search result?

Yes, through the same extract config used on a single scrape call. Pass a prompt and a JSON Schema, and every result gets processed by an LLM provider you configure, returning typed fields instead of raw markdown. A single search job doubles as a bulk extraction job across every result it finds. Point extract at a schema once and reuse it across every query.

How do I get notified when a search job finishes?

Poll GET /search/{job_id} and check the status field, or subscribe over SSE and watch results arrive as they're scraped. Set webhook_url on top of either approach, and DataBlue posts a signed notification once the job completes, verified with webhook_secret. Most short searches finish in a few seconds, so polling alone usually works fine. Wire up a webhook for longer jobs and stop watching the clock.

How much does the Search API cost?

Each scraped result costs the same flat credit weight as a single scrape call, and a SERP-only result costs the same too. There's no separate charge for choosing DuckDuckGo over Google, or for adding extract on top. Monthly plan credits reset each billing period, and top-up credits never expire. New accounts start with 1,000 one-time signup credits, enough to test real queries before spending anything.

Does this match Firecrawl's search endpoint?

Not directly. Firecrawl's search endpoint answers synchronously and uses different field names. DataBlue's Search API runs as an async job instead, the same pattern used by Crawl, with engine selection and a SERP-only mode built in. What does carry over is the per-result content. Each scraped result uses the same markdown, JSON, and metadata shape as a single /scrape call, so downstream parsing code doesn't change between endpoints.

Can I use my own Google or Brave API key?

Yes. Set google_api_key and google_cx to route through Google's Custom Search API instead of the default SearXNG path, or set brave_api_key to use Brave's official API directly. That's useful if you already have a quota with one of those providers and want to reuse it. Bring your own key, and DataBlue handles the scraping half regardless of which search backend answered the query.

Start Searching in One Call.

Grab a free key and send your first search. Get ranked results with scraped content already attached, no card required, with 1,000 one-time signup credits to get you started.