Try it
Run a live Bing SERP request
One real call, no signup and no key. The engine picker opens on Bing; you get the results page and the raw JSON.
Endpoints & Pricing
Four Bing Endpoints, One API Key
Web, news, images and videos each have their own endpoint and their own published rate. Pricing is per category, so choosing Bing never changes what a call costs.
Web SERP
- Organic rows: title, url, snippet, displayedUrl
- People Also Ask with answers & sources
- Related searches for keyword expansion
- Inline videos with duration and views
- Rich snippets: breadcrumb, date, rating
- Up to
num=100per call (a ceiling, not a promise)
News
- 1–50 articles per request via
num sort=dateorsort=relevance- Freshness: hour, day, week, month, year
- Title, URL, source, published time, image
- SafeSearch accepted on Bing news
- 112-country targeting
Images
- About 60 images measured at
num=100 - Size: small, medium, large, wallpaper
- Type: photo, clipart, lineart, animated, face
- People filter: face, portrait, nonportrait
- Colour, aspect, licence and time filters
- Thumbnail, original URL, width × height
Videos
- About 59 videos measured at
num=100 - Duration filter: short, medium, long
- Resolution: 360p, 480p, 720p, hd, 1080p
- Title, URL, duration, views, date
- Thumbnail and source platform
- Freshness filter and 112-country targeting
Pixel Position & Geometry on every Bing SERP element
Rank 3 on a page with a video carousel above it is not the same rank 3 as on a plain page. Add pixel_position=true to any Bing Deep Search (/api/search) call and every item — organic rows, ads, People Also Ask, videos, related searches — comes back with an integer pixel_position (its y-coordinate on the rendered desktop page) and a full pixel_box with x, y, width and height. Bing is one of the four engines that support it. Same per-call price, opt-in flag, paid tiers only; values describe a standard desktop rendering, and an item deep in the response can come back null — branch on the field's presence and fall back to position.
{
"organic": [
{ "position": 1, "pixel_position": 612, "pixel_box": { "x": 48, "y": 612, "w": 1310, "h": 231 } }
],
"peopleAlsoAsk": [
{ "pixel_position": 726, "pixel_box": { "x": 48, "y": 726, "w": 1310, "h": 142 } }
]
}
Quick Start
Bing Search in One Request
One query parameter switches the engine. Everything else — the path, the auth header, the response shape — is the same as the rest of the catalog, so a Bing integration is a one-line change to code you have already written.
# Full Bing SERP: 20 organic rows plus every feature block on the page curl "https://apiserpent.com/api/search?q=best+crm+software&engine=bing&country=us&num=20" \ -H "X-API-Key: YOUR_API_KEY" # Organic only, built for speed — rank tracking at one call per keyword curl "https://apiserpent.com/api/search/quick?q=best+crm+software&engine=bing&country=uk&num=50" \ -H "X-API-Key: YOUR_API_KEY" # Bing news, newest first — sort= is not offered on every engine curl "https://apiserpent.com/api/news?q=azure+outage&engine=bing&sort=date&freshness=1d&num=25" \ -H "X-API-Key: YOUR_API_KEY"
{
"success": true,
"query": "best crm software",
"engine": "bing",
"country": "us",
"results": {
"organic": [
{
"position": 1,
"title": "The 12 Best CRM Software Platforms of 2026",
"url": "https://example.com/best-crm-software",
"snippet": "We put 12 CRMs through the same 40-account migration...",
"displayedUrl": "example.com"
}
],
"peopleAlsoAsk": [
{
"question": "Which CRM is best for a small B2B sales team?",
"answer": "For teams under 20 reps, look for per-seat pricing and...",
"sourceUrl": "https://example.com/small-team-crm",
"sourceTitle": "CRM for Small Sales Teams",
"sourceDisplay": "example.com › small-team-crm"
}
],
"relatedSearches": [
{ "query": "crm software pricing comparison" },
{ "query": "free crm for startups" }
],
"richSnippets": [
{
"position": 1,
"breadcrumb": "example.com › guides › crm",
"publishDate": "2026-08-19",
"rating": 4.6,
"reviews": 312
}
],
"videos": [
{
"title": "CRM Buyer's Guide 2026 — What Nobody Tells You",
"url": "https://www.youtube.com/watch?v=example123",
"duration": "12:34",
"source": "YouTube",
"date": "2026-07-15",
"views": "1.2M views",
"thumbnail": "https://cdn.example-video.com/thumb.jpg"
}
],
"ads": { "top": [], "bottom": [], "totalCount": 0 },
"featuredSnippet": null,
"aiOverview": null,
"knowledgePanel": null,
"localPack": [],
"shopping": []
},
"metadata": {
"totalOrganicResults": 20,
"hasPeopleAlsoAsk": true,
"hasRelatedSearches": true,
"hasVideos": true,
"hasAiOverview": false,
"source": "bing"
},
"meta": {
"totalOrganic": 20,
"requestedNum": 20,
"elapsed": "7420ms"
}
}
Read metadata.has* before you read a block — it is the cheapest way to find out whether a block is worth parsing on this response. aiOverview is always null on engine=bing, and metadata.hasAiOverview is false to match, so a parser that checks the flag first never has to special-case the engine.
Data Fields
Every Field a Bing Call Returns
Named JSON fields, not HTML you have to select against. Nothing here needs a parser of your own, and nothing changes shape between calls.
Web Search Fields
- organic[].position
- organic[].title
- organic[].url
- organic[].snippet
- organic[].displayedUrl
- peopleAlsoAsk[].question
- peopleAlsoAsk[].answer
- relatedSearches[].query
- richSnippets[].breadcrumb
- richSnippets[].publishDate
- ads.top[].title, ads.top[].url
News Search Fields
- articles[].position
- articles[].title
- articles[].url
- articles[].source
- articles[].publishedTime
- articles[].snippet
- articles[].image
- totalResults
Image & Video Fields
- images[].thumbnail
- images[].original
- images[].width, images[].height
- images[].source, images[].pageUrl
- videos[].title, videos[].url
- videos[].duration
- videos[].views
- videos[].date
- videos[].thumbnail
Bing Request Parameters
- q (search query)
- engine=bing
- num (1–100 web, 1–50 news)
- pages (pagination, 1–10)
- country (112 codes, gb aliases uk)
- language (ISO 639-1, e.g. en, de, ja)
- freshness (h, d, 7d, w, m, y)
- safe (off, moderate, strict)
- sort (date, relevance — news)
- pixel_position (Deep Search, paid)
- format (full, simple)
Why Bing SERP data
Bing data, after Microsoft closed the door on it
On 11 August 2025 Microsoft decommissioned the entire Bing Search API family and closed it to new signups. What it offers instead is built to feed a language model, not your database.
The official replacement never hands you the list
The retirement covered the whole family: Web, Image, Video, News, Entity, Autosuggest, Spell Check, Visual Search and Custom Search. Microsoft points former API customers at Grounding with Bing Search inside Azure AI Agents. Its own documentation is blunt about what you get: “Developers and end users don’t have access to raw content returned from Grounding with Bing Search.” You receive a model-written answer plus citations that must be displayed exactly as supplied, and only on a paid Azure subscription.
That is a fine product for an assistant and a useless one for a rank tracker. If you need to know which URL sits at position 7 today and which one sat there last Tuesday, you need an endpoint that returns positions. This is that endpoint.
Roughly one US desktop search in eight
StatCounter put Bing at 12.82% of United States desktop search in August 2026, against Google’s 81.99%. On mobile the gap is far wider, but desktop is where B2B software, enterprise IT and high-consideration purchases are researched — the queries whose traffic converts.
For a US B2B site, being invisible on Bing is not a rounding error, and it is the cheapest visibility gap most teams have never measured.
Microsoft’s own agents reach the web by querying Bing
The agent tooling Microsoft now sells runs a Bing query on the model’s behalf and feeds it what comes back. Bing rankings therefore have a second audience that did not exist three years ago: the assistants and agents built on Microsoft’s stack.
Tracking your Bing positions week over week is the closest measurement you can put on what those agents are able to find about you.
Eleven keys, always present, on every engine
Deep Search returns one results shape: organic, ads, peopleAlsoAsk, relatedSearches, featuredSnippet, aiOverview, knowledgePanel, localPack, richSnippets, videos and shopping.
A block the Bing page did not carry arrives as [] or null, never as a missing key, so your parser never throws on an absent field and never needs a branch per engine. Add Bing to an existing integration by changing one query parameter.
Feature blocks
More Than Blue Links
A Bing result page is not ten links in a column. Deep Search parses the blocks around them into named fields, and Quick Search on engine=bing still carries the feature blocks Bing supports.
People Also Ask
Each question arrives with its answer text, the source page URL, the source title and the displayed breadcrumb — a content brief and an intent map in the same field.
Related Searches
The query variants Bing itself suggests, as relatedSearches[].query. Seed a keyword list from them instead of guessing at long-tail variations.
Inline Videos
Videos embedded in the web results, with title, URL, duration, view count, publish date and thumbnail — separate from the dedicated /api/videos endpoint.
Rich Snippets
The enhancements attached to an organic row: breadcrumb path, publish date, star rating, review count, price range, sitelinks and inline FAQ — typed, so rating is a number, not "4.5/5".
Ads
Paid listings with title, URL, snippet and displayed URL, on the pages that carry them. Ad copy is where a competitor states its positioning in its own words.
Freshness & SafeSearch
freshness narrows to the last hour, day, week, month or year. safe is a filter applied to what we return, so a strict request comes back shorter rather than unfiltered.
Use cases
What Teams Actually Pull Bing Results For
Four jobs that account for most Bing SERP traffic, and the parameters each one needs.
Second-engine rank tracking
Most rank trackers report Google and stop. Adding Bing costs one extra call per keyword at the same Web rate, and it is the fastest way to find pages that rank well on one engine and nowhere on the other.
Use Quick Search for this: /api/search/quick?engine=bing&num=50&country=us is organic-only and built for speed, and web billing is flat — one call, one charge, whatever depth you asked for.
Microsoft Advertising competitor watch
The ads block carries title, URL, snippet and displayed URL for the paid listings on a page, so you can log which competitors bid on which commercial queries and how their copy changes over a quarter.
Deep Search only — Quick Search is tuned for organic rows. Ads appear on commercial-intent queries and are genuinely absent on most informational ones, so expect an empty array more often than not.
Content briefs from PAA and related searches
One Deep Search call returns the People Also Ask questions with their answers and sources, plus the related searches Bing suggests. That is a heading outline and a semantic keyword set from a single request.
Run it across a keyword list with freshness unset, then diff the question set month over month to catch intent shifts before they show up in your traffic.
Above-the-fold and layout audits
Rank alone hides how far down the page you actually are. pixel_position=true returns the y-coordinate and bounding box of every element, so you can score share-of-voice by pixels rather than by ordinal position.
Paid tiers, Deep Search, desktop US locale, no price increase over a normal call. See the pixel position spec for the full contract.
# One line per keyword: date, keyword, our position on Bing (or 0 if unranked). # Quick Search is organic-only and flat-billed, so 50 results costs the same as 10. DOMAIN="example.com" while IFS= read -r kw; do pos=$(curl -s -G "https://apiserpent.com/api/search/quick" \ --data-urlencode "q=$kw" \ -d "engine=bing" -d "country=us" -d "num=50" \ -H "X-API-Key: $SERPENT_KEY" \ | jq -r --arg d "$DOMAIN" \ '[.results.organic[] | select(.url | contains($d))][0].position // 0') echo "$(date -u +%F),$kw,$pos" >> bing-positions.csv done < keywords.txt
FAQ
Bing SERP API Questions
engine=bing on /api/search and you get a ranked list of URLs back as JSON.
results object carries the same eleven keys on every engine: organic, ads, peopleAlsoAsk, relatedSearches, featuredSnippet, aiOverview, knowledgePanel, localPack, richSnippets, videos and shopping. Every key is always present, so a block the Bing result page did not carry arrives as [] or null rather than disappearing — you write one parser and point it at any engine. On engine=bing, aiOverview is always null; People Also Ask, related searches, rich snippets and inline videos are the blocks Bing fills in most often, and ads appear on the pages that carry them.
num up to 100 in a single call. num is a ceiling, not a promise: num=50 and below delivers in full, and above that a call is best-effort, with a short answer carrying meta.partialResults and a delivery block explaining what arrived. News takes num from 1 to 50. Image and video search also accept num up to 100, but measured at num=100 Bing returns about 60 images and about 59 videos.
country, language, num, pages, freshness, safe and format. Bing news additionally accepts sort=date or sort=relevance and its own SafeSearch setting, which not every engine in the catalog offers. Image search takes size (small, medium, large, wallpaper), type (photo, clipart, lineart, animated, face), color, aspect, license, time and a people filter of face, portrait or nonportrait. Video search takes duration (short, medium, long) and resolution (360p, 480p, 720p, hd, 1080p).
country parameter — us, uk, in, de, fr, jp, br, ca, au and more, with gb accepted as an alias for uk. GET /api/countries returns the full list and needs no API key. The language parameter takes a 2-letter ISO 639-1 code and Bing has some of the broadest language coverage in the catalog. Language is accepted on web, news and image search, but not on video search.
pixel_position=true to a Bing Deep Search (/api/search) call and every item comes back with a pixel_position integer — its y-coordinate on the rendered desktop SERP — plus a pixel_box giving x, y, width and height. It is supported on Google, Yahoo, Bing and DuckDuckGo; engine=brave carries no pixel fields. It is desktop, US locale, paid tiers only, and it costs no more than a normal call. Pixel positions are not available on Quick Search, News, Images or Videos.
Start using the Bing SERP API
free calls, shared across Web, News, Image and Video endpoints. No card, no subscription. Bing search data from $0.03/1K SERP API calls.
Try for Free

