SERP API — Google, Bing & DuckDuckGo Search Results as JSON | FetchLayer
SERP API Google Bing DuckDuckGo

One SERP API for Google, Bing and DuckDuckGo.

Send a query, get the results page back as JSON: ranked organic results, People Also Ask questions, answer boxes, knowledge panels, news and more, for the country, market or region you pick. Rank checks cost one request at any depth. Same key over REST or MCP.

30 free requests No credit card Half credit until 1 October 2026

Request

$ curl -X POST \
  https://api.fetchlayer.dev/google-search/search \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"query":"open source crm","limit":10}'

One page read, one request. $0.00199 at full price, half that during the beta.

Captured 15 September 2026. Every field in the Google docs

Response

{
  "resultType": "search",
  "parameters": {
    "query": "open source crm",
    "country": "us",
    "language": "en",
    "device": "desktop"
  },
  "organicResults": [
    {
      "position": 1,
      "title": "Twenty | #1 Open Source CRM",
      "url": "https://twenty.com/",
      "source": "Twenty"
    },
    {
      "position": 2,
      "title": "Free Open Source CRM Software | Download EspoCRM",
      "url": "https://www.espocrm.com/download/",
      "source": "EspoCRM"
    }
    // +7 more
  ],
  "peopleAlsoAsk": [
    "What is the best open source CRM?",
    "Will CRM be replaced by AI?",
    "Is there a free CRM I can use?"
    // +1 more
  ],
  "relatedSearches": [
    "Open source crm github",
    "Open source crm free"
    // +6 more
  ],
  "organicCount": 9,
  "pagesScraped": 1,   // billed requests
  "nextCursor": "eyJ2IjoxLCJxIjoib3BlbiBzb3VyY2UgY3JtIiwiZ2wiOiJ1cyIs…"
  // also: ads, answerBox, topStories, videos, discussions, localResults, knowledgePanel
}

3 engines

Google, Bing, DuckDuckGo

one key, one bill

1 request

Per rank check

up to 200 positions deep

$1.99 / 1,000

Pay-as-you-go

credits never expire

18 tools

Search tools over MCP

billed exactly like REST

Three engines

Each engine shows something the others don’t.

Pick the engine your users search on, or query all three and compare. Every card links to that engine’s API page and its full reference.

Google

Live · beta

The results page most people see, with the features around it.

  • Organic results with position, site name, snippet, date and sitelinks
  • People Also Ask questions and related searches
  • Answer box, knowledge panel and top stories
  • Local results with rating, review count, price level and hours
  • Videos, shorts and discussions (English-language pages)
Any country and languageCity-level locationDesktop or mobileRank checks to 100

Bing

Live · beta

The one engine here that returns its AI overview.

  • Organic results with sitelinks (deepLinks)
  • Answer box: a direct fact, or the AI overview with its sources
  • Knowledge panel, People Also Ask questions, related searches
  • Result estimate and corrected query, when Bing shows them
  • Bing News (up to 100) and Bing Videos (up to 105)
38 marketsDesktop or mobileRank checks to 200

DuckDuckGo

Live · beta

Web results plus images, news and instant answers, in 64 regions.

  • Organic results with dates, ads listed apart
  • The zero-click summary box, and sitelinks on request
  • Instant answers: topic summary, fact rows, official site
  • Images (up to 300) with size, colour, type and license filters
  • News (up to 150) and videos (up to 120)
64 regionsRank checks to 200

On all three

One key, one convention

POST a JSON body with a query. Each engine keeps its own field names, documented route by route.

Ads never take a position

Ads come back in their own list, so position 8 is the eighth organic result.

Page on with a cursor

Send nextCursor back with the same query and filters to read further.

JSON or markdown

Every route takes format: markdown, handy for feeding results to a model.

A notes array

Each response says when a result is narrower than you asked for.

Search URLs parsed free

resolve-url turns a results-page URL into request fields at no cost.

Side by side

What each engine returns, field by field.

Built from the API reference, not a sales sheet. A feature is only returned when the engine shows it for that query, which for most features is some of the time.

SERP features and routes available for Google, Bing and DuckDuckGo
Capability Google Bing DuckDuckGo
Web results
Organic results as JSON Yes: Up to 100 a request Yes: Up to 200 a request Yes: Up to 200; the engine lists about 190–200
Results per page read Yes: 6–10, as Google shows them Yes: 10 Yes: 10 on the first page, up to 15 after
Sitelinks Yes: sitelinks Yes: deepLinks Partly: With includeSitelinks, adds 1 page
Ads, outside the ranking Yes: ads Yes: ads (text ads are rare) Yes: ads
SERP features
Answer box Yes: Featured snippet, weather, unit converter Yes: Direct fact Partly: Zero-click summary
AI overview No: Not returned Yes: With its sources No: Not returned
People Also Ask Partly: Questions only Partly: Questions only No: Not returned
Knowledge panel Yes: Facts and profiles Yes: Facts and official site Partly: Via /instant-answer
Related searches Yes: relatedSearches Yes: relatedSearches No: Not returned
Top stories Yes: With publish time Yes: With age No: Use /news
Local results Yes: Rating, reviews, price level, hours No: Maps modules not returned No: Not returned
Videos Partly: In results, English pages only Yes: In results, and /videos (up to 105) Yes: /videos (up to 120)
Discussions and forums Partly: English pages only No: Not returned No: Not returned
Total result estimate No: Google shows none Partly: totalResults, when Bing shows it No: DuckDuckGo shows none
More routes
News search No: Top stories only Yes: /news, up to 100 Yes: /news, up to 150
Image search No: No route No: No route Yes: /images, up to 300
Instant answers No: No route No: No route Yes: /instant-answer
Autocomplete Yes: /autocomplete Yes: /suggestions Yes: /suggestions
Parse a search URL Yes: /resolve-url, free Yes: /resolve-url, free Yes: /resolve-url, free
Targeting and tracking
Where results are for Yes: Any two-letter country, a language and a city Yes: 38 markets, with country and language overrides Yes: 64 region codes, or wt-wt for none
Device Yes: Desktop or mobile (mobile takes about 15s) Yes: Desktop or mobile No: Not a parameter
Time range Yes: Hour, day, week, month, year Yes: Day, week, month, year Yes: Day, week, month, year
Rank check depth Yes: Up to 100 (default 50) Yes: Up to 200 (default 100) Yes: Up to 200 (default 100)
MCP tools Yes: 4 Yes: 6 Yes: 8
Returned Partly, or with a condition Not available

Rank tracking API

A rank check costs one request, however deep it goes.

Send a query and a domain or URL. The check pages through results for you, up to 100 positions on Google and 200 on Bing and DuckDuckGo, and returns the best position, every match and the page it sits on. Ten result pages or one, you pay for one request.

Buyers increasingly ask an assistant instead of a search box, and the two rankings move independently. The AI Visibility API answers the same question for ChatGPT: where you rank in AI answers, and whether they cite you at all.

bing/rank-check real example, trimmed
$ curl -X POST \
  https://api.fetchlayer.dev/bing/rank-check \
  -H "Authorization: Bearer ss-your-key" \
  -d '{"query":"reddit api","target":"fetchlayer.dev","depth":200}'
{
  "resultType": "rank-check",
  "query": "reddit api",
  "market": "en-US",
  "target": {
    "input": "fetchlayer.dev",
    "type": "domain"
  },
  "found": true,
  "position": 124,
  "matches": [
    {
      "position": 124,
      "page": 10,
      "url": "https://fetchlayer.dev/blog/reddit-api-closed-2026"
    }
  ],
  "depth": 200,
  "depthScanned": 125,
  "serpPagesFetched": 10,   // pages read, never billed
  "pagesScraped": 1   // what you pay: 1 request
}

Found at position 124 after reading 10 result pages. Billed: one request. A domain matches its subdomains on whole hostname labels, so look-alike domains never count.

Worked example

100 keywords, all three engines, checked daily.

  1. 100 keywords × 3 engines × 30 days = 9,000 checks
  2. 9,000 checks × 1 request = 9,000 requests
  3. 9,000 × $1.99 ÷ 1,000 = $17.91 a month

Google alone is 3,000 checks, $5.97. Reading the same 100 positions through search would take at least 10 result pages a keyword, because Google shows 6–10 results a page: 3,000 × 10 = 30,000 requests, $59.70 or more.

Full price, pay-as-you-go. 9,000 requests also fit inside the Starter plan’s 15,000 a month ($25). Until 1 October 2026 the beta bills every other request: about $8.96.

Your numbers

Engines

9,000 checks = 9,000 requests

$17.91/mo

about $8.96 at beta half credit, until 1 October 2026

Domain or page

example.com matches the site and, by default, its subdomains. example.com/blog matches pages under that path, never /blogging.

Stops early, or scans it all

By default the check stops after the first result page with a match. Set allMatches to scan the full depth and report every position.

found: false means it looked

The whole depth was examined, or every result the engine had. On Bing and DuckDuckGo, a results page that can’t be read part-way through returns a retryable 503, never a false “not found”.

MCP & agents

Live

Your AI already knows how to use this.

One MCP server at mcp.fetchlayer.dev gives your agent 18 search tools across Google, Bing and DuckDuckGo, next to every other FetchLayer platform. It can search, check a ranking or pull the news mid-conversation, on the same key and credits as REST. The conversation below is an illustration; the ranking in it is the real Google rank-check example from our docs.

1
Pick your editor
2
Agent discovers 204 tools
3
Query any platform instantly
connect your agent ~30s

Pick your editor and we hand you the config with your key already in it — no JSON to hand-edit, no wrapper code.

Get your free API key

Free tier · no credit card · any MCP host

New chat fetchlayer connected

Where does github.com rank on Google for "open source crm"?

Used fetchlayer.google_search_rank_check

github.com ranks #3 for "open source crm" (US, English, desktop), with SuiteCRM - Open source CRM for the world on page 1. The check read 1 result page and cost one request.

Ask a follow-up…

Works with every MCP-compatible tool

Cursor
Claude
VS Code
Windsurf
Cline
Hermes
OpenClaw
Kiro
No wrapper code
All 204 endpoints exposed as tools
Official & maintained
Free to install

The 18 search tools

Google

  • google_search
  • google_search_rank_check
  • google_search_autocomplete
  • google_search_resolve_url

Bing

  • bing_search
  • bing_rank_check
  • bing_suggestions
  • bing_news
  • bing_videos
  • bing_resolve_url

DuckDuckGo

  • duckduckgo_search
  • duckduckgo_rank_check
  • duckduckgo_instant_answer
  • duckduckgo_suggestions
  • duckduckgo_news
  • duckduckgo_videos
  • duckduckgo_images
  • duckduckgo_resolve_url

resolve-url tools are free; every other call bills like its REST route. Set up the MCP server.

Pricing

Priced per request, the same on every engine.

Free

30requests

Once, to try every engine and route. No credit card.

Pay as you go

$1.99per 1,000 requests

Packs from $19.90 for 10,000 requests. Credits never expire and there is no monthly fee.

Subscriptions

$25/ month

Starter includes 15,000 requests a month; larger plans go up to 5,000,000.

What each SERP API call costs
Call Cost How you see it
Search (web results) 1 request per result page read pagesScraped in the response says how many
News, videos, images 1 request per list page read Bing news lists 10 articles; DuckDuckGo about 30
Rank check 1 request, at any depth serpPagesFetched reports the pages read, never billed
Autocomplete, suggestions, instant answer 1 request One call, one request
resolve-url Free Parses a URL without contacting the engine

Beta: Google, Bing and DuckDuckGo bill at half credit until 1 October 2026. Only successful responses cost credits, and the same credits work on every FetchLayer platform.

All plans

FAQ

SERP API questions, answered.

What is a SERP API?

SERP stands for search engine results page. A SERP API sends a query to a search engine for you and returns that results page as structured data: the organic results in rank order with title, URL and snippet, plus the features around them, such as People Also Ask, answer boxes, knowledge panels and top stories. Developers use one for rank tracking, SEO tools, market research and to give AI agents live web results without parsing HTML.

Is this a Google SERP API?

Yes, and a Bing and DuckDuckGo one on the same key. For Google it returns organic results with position, site name, snippet, date and sitelinks, and the People Also Ask questions, related searches, answer box, top stories, videos, discussions, local results, knowledge panel and ads, for any country, language, city and device. It does not return Google’s AI Overview or a total result count. Google’s own Custom Search JSON API is closed to new customers, and Google says existing customers have until January 1, 2027 to transition to an alternative.

Does Microsoft still offer a Bing Search API?

No. Microsoft retired the Bing Search APIs on August 11, 2025 and decommissioned existing instances. It points customers to Grounding with Bing Search in Azure AI Agents, which feeds web data into an agent’s generated answer rather than returning the results page. FetchLayer’s Bing routes return the results page itself as JSON, including Bing’s AI overview with its sources.

Is there an official DuckDuckGo search API?

Not for ranked web results. DuckDuckGo publishes no API that returns its organic results list, so FetchLayer returns the results any visitor to duckduckgo.com sees, as JSON, along with news, videos, images, instant answers and suggestions.

How is a search billed?

One request per result page read, at $1.99 per 1,000 requests pay-as-you-go. A one-page search is one request; asking for more results reads more pages, and pagesScraped in the response tells you how many were billed. News, videos and images bill per list page read. Autocomplete, suggestions and instant answers are one request each, and resolve-url is free. Google, Bing and DuckDuckGo are in beta and bill at half credit until 1 October 2026.

How much does a rank check cost?

Exactly one request, however deep it scans: 100 positions on Google, or 200 on Bing and DuckDuckGo. The response reports the result pages it read in serpPagesFetched, and that number is never billed. A deep check can take 30 seconds or more, and a Google check up to about 150 seconds when Google turns requests away, so give your HTTP client a generous timeout.

Can I get results for a specific country, city or language?

Yes. Google takes any two-letter country, a language and a city-level location such as "Austin,Texas,United States", on desktop or mobile. Bing takes one of 38 markets such as en-GB or de-DE, with optional country and language overrides, on desktop or mobile. DuckDuckGo takes one of its 64 region codes, such as uk-en, or wt-wt for no region. Requests default to a US, English searcher.

Why do positions differ from what I see in my browser?

Rankings depend on who is searching and when. Country, market or region, language, city and device all change the order, and so does time. Bing’s positions also move noticeably between regions and between two checks minutes apart. Your own browser adds personalisation on top. Track a query over time rather than reading one check as fixed.

Do you return total result counts and People Also Ask answers?

Total counts: only Bing, as totalResults, when Bing shows an estimate. Google and DuckDuckGo publish none, so page with nextCursor until hasNextPage is false or endOfResults is true. People Also Ask: Google and Bing return the questions, not their answers.

Are there rate limits?

No plan has a per-minute request cap: your credits or monthly allowance are the limit. Very bursty traffic waits briefly for a free slot rather than being rejected outright. Plan for latency instead: a one-page search usually answers in a few seconds, a Google mobile search takes about 15 seconds, and deep rank checks take 30 seconds or more.

Can AI agents use it over MCP?

Yes. The FetchLayer MCP server at https://mcp.fetchlayer.dev exposes 18 search tools across the three engines, such as google_search, bing_search, duckduckgo_search and the three rank checks, among 204 tools in total. Tool calls use the same key and are billed exactly like REST, so a rank check from an agent is still one request.

Is FetchLayer affiliated with Google, Microsoft or DuckDuckGo?

No. FetchLayer is not affiliated with Google, Microsoft or DuckDuckGo, and is not endorsed or sponsored by them. Their names are used only to describe which search results the API returns.

Sources

FetchLayer is not affiliated with Google, Microsoft or DuckDuckGo. Product names are used only to identify the search results the API returns. Response samples on this page come from our API reference and were captured in September 2026; results change over time.

Three engines. One key.

Your first 30 requests are free. Every response tells you how many requests it cost.

Google API reference Bing API reference DuckDuckGo API reference