Cheapest SERP API for Developers

Build search tools with Google, Bing, Yahoo, DuckDuckGo and Brave results in JSON. Web up to 20× off, from $0.03/1K units. Quick uses one unit; Deep bills by page.

Try for Free View Documentation
From $0.03
Per 1K Web units · Enterprise Plus
5
Search Engines, One Key
112
Country Codes
10
Free Calls, No Card

Web up to 20× off, from $0.03/1K units. Quick normally uses one Web unit per call; Deep uses one per requested page.

Run a live search on any of the five engines

One real call against the API, no signup and no key. Switch the engine and run it again — the shape never changes.

Five Search Engines, One API Key

All five share one Web rate: up to 20× off, from $0.03 per 1,000 Web units. Quick uses one unit per call; Deep bills each requested page.

Google

From $0.03/1K Web units
Web · News · Images · Videos
  • The richest Deep Search feature set
  • Featured snippets, PAA, knowledge panel
  • Sitelinks and local pack
  • AI Overview when available on paid Deep opt-in (include_aio)
  • News from $0.01/1K calls
Learn more →

Yahoo

From $0.03/1K Web units
Web · News · Images · Videos
  • People Also Ask, answers and sources
  • Related searches and inline videos
  • AI Overview on request (include_aio)
  • Broad image filters: size, colour, type
  • 112 country codes
Learn more →

Bing

From $0.03/1K Web units
Web · News · Images · Videos
  • People Also Ask, answers and sources
  • Related searches and inline videos
  • News up to ~49 articles per call
  • Knowledge panel, local pack if shown
  • 112 country targeting
Learn more →

DuckDuckGo

From $0.03/1K Web units
Web · News · Images · Videos
  • The leanest response of the five
  • Organic results and ads, ~10 per page
  • Deepest image results (~95 at num=100)
  • Unpersonalized results
  • Images from $0.18/1K calls
Learn more →

Brave

From $0.03/1K Web units
Web · News · Images · Videos
  • Independent web index
  • Widest organic page: 10–20 results
  • People Also Ask and related searches
  • AI Overview on request (include_aio)
  • Same web pricing as every engine
Learn more →

What Actually Differs Between the Five Engines

Same price, same keys, same parameters. What changes is which blocks a result page carries and how deep a single call goes.

Deep Search feature coverage

Read this as how often a block is filled in, never as which keys you get — the keys are identical on all five. Quick Search is organic-only on every engine by design, so every row below describes GET /api/search.

Deep Search block Google Bing Yahoo DuckDuckGo Brave
Organic results per page~10~7~7~10~10–20
AdsYesYesYesYesYes
People Also Ask (answers + sources)YesYesYesNoYes
Related searchesYesYesYesNoYes
Inline videosYesYesYesNoYes
Featured snippetMore frequentWhere presentWhere presentWhere presentWhere present
Knowledge panelYesWhere presentWhere presentWhere presentWhere present
Local packYesWhere presentWhere presentNoWhere present
SitelinksYesNoNoNoNo
AI Overview — opt in with include_aioYesAlways nullYesAlways nullYes
Pixel positions — pixel_position (beta)YesYesYesYesNot supported

A block a result page did not carry comes back as null or [], never as a missing key, so the table changes what your parser finds, never what it has to handle. AI Overview and pixel positions are paid-tier features; on a free-tier call they return empty with metadata.aiOverviewUnavailable / metadata.pixelPositionUnavailable set to free_tier.

How deep one call goes, per engine

Measured on our own endpoints at the maximum num each one accepts. Every figure is a ceiling, not a promise — a short answer always carries a delivery block telling you exactly how short it is.

Endpoint Google Bing Yahoo DuckDuckGo Brave
/api/search — web, num=100Up to 100 organic results on every engine, retrieved across up to 10 result pages in one call
/api/news — num=50Full set in one call~47–49~47–49~44~29
/api/images — num=100~60~60~60~95~50
/api/videos — num=100~60~59~60~59~50
Image filters: size, type, colour, aspectYesYesYesYesNo
Image filters: people, timeNoYesYesTime onlyNo

News caps at num=50; web, images and videos cap at num=100. On engine=google the news endpoint returns its whole result set in a single call, so pages has no effect there and it is always billed as one page. language coverage is broadest on Yahoo, Bing and Brave and narrower on DuckDuckGo; it is not accepted on /api/videos. safe is not accepted on /api/images.

So which one do you call?

Rank tracking and URL lists → any engine on Quick Search

Quick Search (/api/search/quick) is organic-only on all five engines: position, title, URL, snippet and displayed URL, and nothing else to parse. Its smaller payload costs the same Web rate as Deep Search, so a rank tracker need not parse unused page features.

SERP-feature research → Google, then Yahoo or Bing

If the question is "what else is on this page", Google Deep Search carries the most: sitelinks, the most frequent featured snippets, knowledge panel and local pack. Yahoo and Bing carry People Also Ask with answers and source links, related searches and inline videos at the same price.

AI answers and citations → Google, Yahoo or Brave

Add include_aio=true to a paid Deep Search call on Google, Yahoo or Brave. When an overview is available, results.aiOverview contains the answer text and cited source pages; otherwise it is null. On bing and ddg the key is always null.

A second, independent read → Brave or DuckDuckGo

Brave runs its own index and returns the widest organic page of the five, 10–20 results. DuckDuckGo returns unpersonalized results and the deepest image sets we measure at num=100, about 95. Both are worth calling when you want a view that is not shaped by personalization.

One Request Format, Five Search Engines

A single GET with an API key header. To switch engine you change one query parameter — nothing else about the call or the response changes.

cURL — the same query on two engines
# Deep Search on Google — the full SERP object, up to 100 results
curl "https://apiserpent.com/api/search?q=best+crm+software&engine=google&num=20&country=us" \
  -H "X-API-Key: YOUR_API_KEY"

# Same query, Brave index. Only `engine=` changed.
curl "https://apiserpent.com/api/search?q=best+crm+software&engine=brave&num=20&country=us" \
  -H "X-API-Key: YOUR_API_KEY"

# Quick Search — organic only, built for rank tracking
curl "https://apiserpent.com/api/search/quick?q=best+crm+software&engine=ddg&num=10" \
  -H "X-API-Key: YOUR_API_KEY"
JSON Response — the key set is identical on every engine
{
  "success": true,
  "query": "best crm software",
  "type": "web",
  "engine": "brave",
  "country": "us",
  "pagesRequested": 2,
  "pagesScraped": 2,
  "results": {
    "organic": [
      {
        "title": "The 12 Best CRM Software Platforms of 2026",
        "url": "https://example.com/best-crm",
        "snippet": "We tested 30 CRMs across pricing, pipeline tools and…",
        "displayedUrl": "example.com/best-crm",
        "position": 1
      }
    ],
    "ads": { "top": [], "bottom": [], "totalCount": 0 },
    "peopleAlsoAsk": [
      {
        "question": "What is the easiest CRM to use?",
        "answer": "Most small teams start with a pipeline-first tool…",
        "sourceUrl": "https://example.com/easy-crm",
        "sourceTitle": "Choosing a CRM",
        "sourceDisplay": "example.com › easy-crm"
      }
    ],
    "relatedSearches": [ { "query": "free crm software" } ],
    "featuredSnippet": null,
    "aiOverview": null,      // opt in with include_aio=true
    "knowledgePanel": null,
    "localPack": [],
    "richSnippets": [],
    "videos": [],
    "shopping": []
  },
  "metadata": {
    "totalOrganicResults": 20,
    "hasAds": false,
    "hasPeopleAlsoAsk": true,
    "hasRelatedSearches": true,
    "hasFeaturedSnippet": false,
    "hasAiOverview": false,
    "hasKnowledgePanel": false,
    "hasLocalPack": false
  },
  "meta": { "totalOrganic": 20, "requestedNum": 20, "elapsed": "8100ms" }
}

Every key above is always present. A block the result page did not contain — or that the engine you asked for does not carry — arrives as its own empty value (null for object-shaped blocks, [] for array-shaped ones), never as a missing key. That is the whole reason one parser can serve all five engines. Prefer a flat list? format=simple returns a single results array of position, title, url plus a total.

Every Parameter, Every Field, Written Once

The same parameter names work on every engine and, where the endpoint supports them, across web, news, image and video search.

Core request parameters

  • q — query, up to 2048 chars
  • engine — google | yahoo | bing | ddg | brave
  • country — 112 codes, default us
  • language — 2-letter ISO 639-1
  • num — results, up to 100 (news 50)
  • pages — 1–10 web, 1–5 news; num wins
  • freshness — h | d | w | m | y
  • safe — off | moderate | strict
  • format — full | simple

Opt-in extras

  • include_aio — AI Overview block
  • include_video_stats — views, duration
  • pixel_position — on-screen coordinates
  • timeout — your own ceiling, in seconds
  • timeout_ms — the same, in milliseconds
  • sort — relevance | date (news: yahoo, bing)
  • size, type, color, aspect (images)
  • license — cc, public, share… (images)
  • time — day | week | month | year (videos)

Web search result fields

  • organic[].position
  • organic[].title
  • organic[].url
  • organic[].snippet
  • organic[].displayedUrl
  • featuredSnippet.text
  • peopleAlsoAsk[].question
  • relatedSearches[].query
  • ads.top[].title, ads.top[].url

News, image and video fields

  • articles[].title, .url, .source
  • articles[].publishedTime (YYYY-MM-DD)
  • articles[].snippet, .image
  • images[].thumbnail, .original
  • images[].width, .height, .pageUrl
  • videos[].title, .url, .duration
  • videos[].views (a number), .publisher
  • videos[].publishedTime, .thumbnail
  • delivery.requested / .returned

Field sets are standardised across engines: the seven news keys, the eight image keys and the eleven video keys are the complete set, in the same order, whichever engine you called. Full API reference →

You Are Told Exactly What You Got

A SERP API earns its keep on the imperfect calls. Here is what the response tells you when one comes back short.

Short answers ship, they do not fail

Every endpoint has a maximum time it will spend on a request. When that budget runs out we return the results already gathered plus a top-level delivery block: requested, returned, a machine-readable reason and a sentence safe to show a human. We never throw away the work and hand you an error instead.

Every block stands on its own

The response is never all-or-nothing. Each of the eleven result blocks carries its own value, so a page with no knowledge panel still returns organic results, People Also Ask and related searches — and the shape is identical either way. Your parser never has to branch on what a particular result page happened to carry.

Set your own deadline

Send timeout in seconds (or timeout_ms) and the call answers inside your budget rather than ours. It can only lower the endpoint's limit, never raise it, and it is clamped rather than rejected. GET /api/status publishes the live limit for every endpoint mounted on your account.

Empty is refunded, short is charged

If a search could not be completed on our side and comes back empty, the credits go back automatically. A search that completes and genuinely has no matches is a real answer and is charged. A short-but-delivered response is charged normally — and says so, in the same delivery block.

Up to 833× Cheaper Than Competitors

Every price below comes from the provider's own pricing page. Watch the two right-hand columns — the cheap-looking rates often hide a queue, a credit multiplier, or no AI Overviews at all.

Provider Entry price /1K Cheapest /1K Free tier AI Overviews
Serpent API (Web — all engines) $0.60 $0.03 Free to start Opt-in via include_aio (paid Deep Search — google, yahoo, brave)
Scrapingdog $1.00 (LITE, $40/mo) $0.14 ($30,000 plan) 200 credits (~40 Google searches) Separate request
Serper $1.00 $0.30 2,500 queries No endpoint published
DataForSEO $0.60 $0.60 (~5-min queue; $2.00 synchronous) ~$1 trial credit Doubles the task price
Oxylabs $1.00 $0.50 (quote-only Custom+ tier; Google billed at 2× base) 2,000 results No published support
Bright Data $1.50 $1.30 ($499/mo Scale plan) 5,000/mo Not stated
SerpApi $25.00 $1.96 ($106,050 plan) 250/mo Sometimes a separate request

Web from $0.03/1K Web units at the Enterprise Plus tier, across every engine. New Web credit uses $0.30/1K after one $100 Growth deposit, $0.10/1K after one $500 Scale deposit, $0.05/1K after one $1,000 Enterprise deposit, or $0.03/1K after one $1,250 Enterprise Plus deposit. Credit you already hold keeps the price you bought it at. SerpApi's entry plan is $25/1K — 42× our entry rate. At Serpent's $1,250 Enterprise Plus deposit, that entry price is up to 833× our Web rate.

Rates read from each provider's published pricing on 10 September 2026. “Cheapest” is the best rate a vendor lists, whatever it costs to reach; entry price is the lowest paid plan. Oxylabs shows its plan tiles in a rotating carousel, so one page view shows only part of the ladder: $0.50 is the Google rate on its quote-only Custom+ tier, and $0.60 on the $999-a-month Business plan is the cheapest rate on a tier with a published price. Serper's homepage now publicly lists its paid ladder and six-month validity, checked 6 October 2026. SerpApi · Serper · DataForSEO · Bright Data · Oxylabs · Scrapingdog

One Rate Card, Every Engine

Prices are flat per category and identical across Google, Bing, Yahoo, DuckDuckGo and Brave. No subscription, no seat fee, and credits do not expire.

Web Search

from $0.03
per 1,000 Web units (Enterprise Plus, one $1,250 deposit)
  • Quick and Deep share one price
  • Up to 100 results per Deep call
  • Every feature block included
  • All five engines, same rate
Default$0.60/1K Web units
Growth$0.30/1K Web units
Scale$0.10/1K Web units
Enterprise$0.05/1K Web units
Enterprise Plus$0.03/1K Web units
Read the docs →

News

from $0.01
per 1,000 calls (Scale tier)
  • Up to 50 articles per request
  • Title, URL, source, date, image
  • Freshness: hour, day, week, month
  • Sort by relevance or date
Default$0.20/1K calls
Growth$0.02/1K calls
Scale$0.01/1K calls
Enterprise$0.01/1K calls
Enterprise Plus$0.01/1K calls
News API →

Images

from $0.18
per 1,000 calls (Enterprise Plus tier)
  • Thumbnail and full-size URLs
  • Dimensions and source page
  • Size, type, colour, aspect filters
  • Licence filters where supported
Default$0.35/1K calls
Growth$0.32/1K calls
Scale$0.25/1K calls
Enterprise$0.21/1K calls
Enterprise Plus$0.18/1K calls
Image API →

Videos

from $0.05
per 1,000 calls (Enterprise Plus tier)
  • Eleven standardised video fields
  • Views as a number, not a string
  • Duration, publisher, published date
  • Freshness filtering on every engine
Default$0.10/1K calls
Growth$0.09/1K calls
Scale$0.07/1K calls
Enterprise$0.06/1K calls
Enterprise Plus$0.05/1K calls
Video API →

Tiers

priced by deposit size
your best deposit in a calendar month sets that month’s price
  • $100 buys Growth — Web $0.30/1K
  • $500 buys Scale — Web $0.10/1K
  • $1,000 buys Enterprise — Web $0.05/1K
  • $1,250 buys Enterprise Plus — Web $0.03/1K
  • Credit you already hold keeps the price you bought it at
  • $10 minimum first deposit
WebUp to 20× off — from $0.03/1K
NewsUp to 20× off — from $0.01/1K
Images & Videosfrom $0.18 / $0.05 per 1K
Free calls10 calls
Full pricing →

Quick Search is billed one Web unit per request, whatever depth you ask for. Deep Search is billed one Web unit per page requested, up to 10 pages, on every tier and at any balance — so num=100 is ten units on Deep Search and one on Quick Search. Refunded or charged-back amounts don't count toward your tier.

Search API Pricing for Developers

No monthly subscriptions. No complicated setups. Just low-cost search results with reliable, structured data.

Pay-As-You-Go Pricing

No monthly minimums. Web search is up to 20× off, from $0.03 per 1,000 units; Quick uses one unit per call and Deep one per requested page. Credits never expire.

Clean JSON Responses

Organic results, People Also Ask with sources, featured snippets, knowledge panels, local packs and inline videos — already parsed, in named fields.

Unified Search API

One endpoint format for all five search engines, and one results shape. Switch between Google, Bing, Yahoo, DuckDuckGo and Brave with a single parameter.

Free Tier — no card required

Get started with free access to all five search engines. No credit card needed. The best way to test and prototype before committing to a paid plan.

Volume Discounts

Growth requires one $100 deposit, Scale one $500 deposit, Enterprise one $1,000 deposit and Enterprise Plus one $1,250 deposit for new credit. Web search drops to $0.03/1K at Enterprise Plus and news to $0.01/1K. Ideal for high-volume workloads.

RESTful & Simple

Standard GET requests with API key auth. Works with cURL, Python, JavaScript, or any HTTP client. Integrate in minutes.

SERP API Questions

A SERP API (Search Engine Results Page API) lets you programmatically retrieve search results from engines like Google, Bing, Yahoo, DuckDuckGo, and Brave. Send an HTTP request with your query and receive structured JSON containing organic results and any page features available for that query, such as ads, People Also Ask, featured snippets, knowledge panels and local packs. Serpent Web credit reaches $0.03 per 1,000 Web units at Enterprise Plus after one qualifying $1,250 deposit; free API calls are available on a new account.
All five engines are billed at the same Web category rate, so the choice is about the data, not the bill. Google Deep Search carries the richest feature set — sitelinks, the most frequent featured snippets, knowledge panel and local pack, and an AI Overview on request. Yahoo and Bing return People Also Ask with answers and source links, related searches and inline videos. DuckDuckGo returns the leanest object — organic results and ads — which is exactly what a rank tracker wants. Brave returns 10 to 20 organic results per page, the widest of the five, and also accepts include_aio. The only parameter that is not available everywhere is pixel_position, which Deep Search supports on google, yahoo, bing and ddg but not on brave.
Yes. GET /api/search returns one results object whose keys are identical on google, yahoo, bing, ddg and brave: organic, ads, peopleAlsoAsk, relatedSearches, featuredSnippet, aiOverview, knowledgePanel, localPack, richSnippets, videos and shopping. A block the result page did not contain comes back as its own empty value — null for object-shaped blocks, [] for array-shaped ones — never as a missing key. The metadata object follows the same rule and carries a has* boolean for each block, so you can write one parser and point it at any engine. What varies between engines is how often a given block is filled in, not which keys you get.
Yes, Serpent gives every new account free API calls — no credit card required. They can be used on any endpoint: Web Search (Quick or Deep, any engine), News, Images, Videos, AI Rank, LinkedIn, Maps, YouTube, and Instagram. When you are ready to scale, the minimum deposit for new users is $10.
Pricing is flat per category and the same for every engine. Web requests are $0.60 / $0.30 / $0.10 / $0.05 / $0.03 per 1,000 (Default / Growth / Scale / Enterprise / Enterprise Plus). News is $0.20 / $0.02 / $0.01 / $0.01 / $0.01 per 1,000. Images are $0.35 / $0.32 / $0.25 / $0.21 / $0.18 per 1,000. Videos are $0.10 / $0.09 / $0.07 / $0.06 / $0.05 per 1,000. One qualifying $100, $500, $1,000 or $1,250 deposit earns the respective tier for new credit; existing credit keeps its original price schedule. Refunded or charged-back amounts don't count toward your tier. AI Ranking single-engine starts from $0.70/1K at Enterprise Plus; all-engine calls start from $1.40/1K. Social: YouTube from $0.01/1K, Instagram from $0.20/1K.
Not per unit — both use the Web category rate. What differs is how many units a call uses. Quick Search is billed one Web unit per request, whatever depth you ask for. Deep Search is billed one Web unit per page requested, up to 10 pages, on every tier and at any balance. A one-page request costs the same on both; at num=100, Deep Search uses ten units and Quick Search one.
Every endpoint has a maximum time it will spend on a request. When that budget runs out we return the results already gathered plus a top-level delivery block giving what you requested, what was returned and a plain-English note — we do not discard the work and return an error. You can lower the ceiling yourself with timeout (seconds) or timeout_ms; it can only shorten the endpoint budget, never extend it. GET /api/status publishes the live limit for every endpoint mounted on your account. On billing: an empty response that could not be completed is refunded automatically, while a short but delivered response is charged normally and says so.
AI Overviews are opt-in. Send include_aio=true on a Deep Search call (GET /api/search) with engine=google, engine=yahoo or engine=brave, on a paid tier. When one is available you get results.aiOverview with the answer text and the source pages it cites, and metadata.hasAiOverview is true. On engine=bing and engine=ddg the key is always null. If no AI Overview is available for the query, aiOverview comes back null and every other block still returns — the request is never all-or-nothing.
SerpApi's entry plan is $25 per 1,000 searches — $25 a month for 1,000. Serpent Web requests start at $0.60 per 1,000 on the Default tier and $0.03 per 1,000 at Enterprise Plus. There are no monthly subscriptions, and credits are usage-based.

Try the Free SERP API Today

Get free API calls on a new account, usable on eligible endpoints. No credit card needed. Web search is up to 20× off, from $0.03 per 1,000 Web units.

Try for Free

Related guides

Hands-on tutorials and comparisons built on the SERP API.

SERP API Cost CalculatorEstimate billable Web units by chosen tier and search depth. ScrapingBee and Serpent for Google SearchCompare the documented result fields, controls and billing units for a defined workload. Scrape.do Google plugin alternativesPrice a parsed result and test the fields your application needs. Bright Data SERP API alternativesCompare synchronous and batch delivery with monthly cash commitments. Scrapingdog Google search alternativesConvert standard, advanced and mobile credits into usable plan capacity. ZenRows Fetch alternativesCompare structured Google results, configured credits and follow-on page work. Scale SERP alternativeModel annual cash, overage and paid search features at your workload. Cheap SerpApi alternativeCompare the real monthly bill with field fit and migration effort. No subscription SERP APIChoose for uneven paid demand using cash, credit validity and output needs. Pay per success billingAudit which delivered, empty and partial searches cost credits. LLM web search API choicesMatch links, retrieved pages or cited answers to your agent's task. What Is a SERP API?The plain-English primer on what a SERP API does and why developers use one. SERP API Pricing ComparedEvery major provider's pricing side by side, with the cheapest pick by use case. Best SERP APIs in 2026Five providers tested, compared, and ranked on price, speed, and data quality. Scrape Google in PythonThree methods to pull Google results in Python, tested side by side. SERP API for AI AgentsGive an LLM agent real-time web search with a single API call. Keyword Research at ScaleRun keyword research programmatically with live SERP data.