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

One SERP API for 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

Request

$ curl -X POST \
  https://api.fetchlayer.dev/bing/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.

Captured 15 September 2026. Every field in the Bing docs

Response

{
  "resultType": "search",
  "market": "en-US",
  "device": "desktop",
  "results": [
    {
      "position": 1,
      "title": "Best Open Source CRM Software for 2026: Top 8 Picks Reviewed",
      "domain": "crm.org",
      "date": null
    },
    {
      "position": 2,
      "title": "9 Best Open Source CRMs Of 2026 – Forbes Advisor",
      "domain": "www.forbes.com",
      "date": "Feb 9, 2026"
    }
    // +8 more
  ],
  "answerBox": {
    "type": "ai_overview",
    "sources": [
      {
        "url": "https://crm.org/crmland/open-source-crm"
      }
      // +1 more
    ]
  },
  "relatedSearches": [
    {
      "query": "open source crm GitHub"
    }
    // +1 more
  ],
  "totalResults": null,
  "pagesScraped": 1,   // billed requests
  "nextCursor": "eyJ2IjoxLCJmIjoiTU9BMktZVk5kQ2g5IiwibyI6MTEs…"
  // also: ads, knowledgePanel, relatedQuestions, topStories, videos, correctedQuery
}

2 engines

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

14 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.

Bing

Live

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

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 Bing and DuckDuckGo
Capability Bing DuckDuckGo
Web results
Organic results as JSON Yes: Up to 200 a request Yes: Up to 200; the engine lists about 190–200
Results per page read Yes: 10 Yes: 10 on the first page, up to 15 after
Sitelinks Yes: deepLinks Partly: With includeSitelinks, adds 1 page
Ads, outside the ranking Yes: ads (text ads are rare) Yes: ads
SERP features
Answer box Yes: Direct fact Partly: Zero-click summary
AI overview Yes: With its sources No: Not returned
People Also Ask Partly: Questions only No: Not returned
Knowledge panel Yes: Facts and official site Partly: Via /instant-answer
Related searches Yes: relatedSearches No: Not returned
Top stories Yes: With age No: Use /news
Local results No: Maps modules not returned No: Not returned
Videos Yes: In results, and /videos (up to 105) Yes: /videos (up to 120)
Discussions and forums No: Not returned No: Not returned
Total result estimate Partly: totalResults, when Bing shows it No: DuckDuckGo shows none
More routes
News search Yes: /news, up to 100 Yes: /news, up to 150
Image search No: No route Yes: /images, up to 300
Instant answers No: No route Yes: /instant-answer
Autocomplete Yes: /suggestions Yes: /suggestions
Parse a search URL Yes: /resolve-url, free Yes: /resolve-url, free
Targeting and tracking
Where results are for Yes: 38 markets, with country and language overrides Yes: 64 region codes, or wt-wt for none
Device Yes: Desktop or mobile No: Not a parameter
Time range Yes: Day, week, month, year Yes: Day, week, month, year
Rank check depth Yes: Up to 200 (default 100) Yes: Up to 200 (default 100)
MCP tools 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 200 positions, 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 two engines, checked daily.

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

Full price, pay-as-you-go. 6,000 requests also fit inside the Starter plan’s 15,000 a month ($25).

Your numbers

Engines

6,000 checks = 6,000 requests

$11.94/mo

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 14 search tools across 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 Bing rank-check example from our docs.

1
Pick your editor
2
Agent discovers 200 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 fetchlayer.dev rank on Bing for "reddit api"?

Used fetchlayer.bing_rank_check

fetchlayer.dev ranks #124 for "reddit api" (en-US), with Reddit API Shut Down in 2026: What Still Works | FetchLayer on page 10. The check read 10 result pages 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 200 endpoints exposed as tools
Official & maintained
Free to install

The 14 search tools

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

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.

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.

How much does a rank check cost?

Exactly one request, however deep it scans: 200 positions. 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, so give your HTTP client a generous timeout.

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

Yes. 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. DuckDuckGo publishes none, so page with nextCursor until hasNextPage is false or endOfResults is true. People Also Ask: Bing returns 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, 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 14 search tools across the two engines, such as bing_search, duckduckgo_search and their rank checks, among 200 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 Bing and DuckDuckGo?

No. FetchLayer is not affiliated with Bing and 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 Bing and 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.

Two engines. One key.

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

Bing API reference DuckDuckGo API reference