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.
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
ReturnedPartly, or with a conditionNot 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.
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.
100 keywords × 3 engines × 30 days = 9,000 checks
9,000 checks × 1 request = 9,000 requests
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
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.
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.
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.
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.