Bing Ads Results Scraper API
Our Bing ads results scraper reads the paid listings on a Bing search results page, returning each ad's title, decoded landing link, displayed link, snippet, and any ad sitelinks as JSON on the same call that fetches the organic results.
Quickstart
curl "https://api.bingscraperapi.com/api/v1/bing/search?q=car+insurance+quotes&api_key=$API_KEY" import requests
BASE = "https://api.bingscraperapi.com"
API_KEY = "YOUR_API_KEY"
# Commercial queries are the ones that carry ads on the SERP.
data = requests.get(
f"{BASE}/api/v1/bing/search",
params={"q": "car insurance quotes", "api_key": API_KEY},
timeout=30,
).json()
# The ads array is present only when Bing renders ad units for this request.
for ad in data.get("ads", []):
print(ad["position"], ad["title"])
print(" ", ad["link"], "|", ad["displayed_link"])
for sl in ad.get("sitelinks", []):
print(" sitelink:", sl["title"], "->", sl["link"]) Response
{
"query": "car insurance quotes",
"engine": "bing",
"results_count": 9,
"ads": [
{
"position": 1,
"title": "Compare Car Insurance Quotes - Save on Your Policy Today",
"link": "https://www.example-insurer.com/quotes",
"displayed_link": "www.example-insurer.com/car-insurance",
"snippet": "Get a free quote in minutes. Compare coverage from top providers and switch online.",
"sitelinks": [
{ "title": "Get a Free Quote", "link": "https://www.example-insurer.com/quote" },
{ "title": "Coverage Options", "link": "https://www.example-insurer.com/coverage" }
]
}
]
} | Field | Type | Description |
|---|---|---|
ads | array | The paid listings on the SERP. Present only when Bing server-renders ad units for the request; omitted otherwise. |
ads[].position | integer | Order of the ad among the ad units, starting at 1. |
ads[].title | string | The ad headline text. |
ads[].link | string | The ad's landing URL, decoded from Bing's redirect wrapper. |
ads[].displayed_link | string | The visible display URL shown under the headline, or null. |
ads[].snippet | string | The ad's description text, or null when none is shown. |
ads[].sitelinks | array | Ad extension links under the ad, each with title and link. Present only when the ad has them. |
Params
| Parameter | Required | Default | Notes |
|---|---|---|---|
q | required | - | The search query. Commercial and transactional queries are the ones that carry ads on the Bing SERP. |
url | optional | - | A full bing.com/search URL to parse instead of building one from q. Pass q or url. |
country | optional | US | Two-letter market region, e.g. GB or DE. Sets mkt=en-XX so the SERP is the stable national one. Defaults to US. |
count | optional | 10 | Number of organic results to request alongside the ads, 1 to 50. Defaults to 10. |
api_key | required | - | Your API key, passed as a query parameter. Get one free at signup. |
Use it for
Competitor ad monitoring
Ad copy research
Share-of-voice checks
Landing-page discovery
How it works
- Send a GET request with your target and API key.
- We route through residential proxies, handle anti-bot, and parse the response.
- You get validated JSON back, ready to use.
Pricing
| Plan | Price | Best for |
|---|---|---|
| Free | 1,000 requests | Testing and small jobs |
| Pro | $0.60 / 1k | Production workloads |
| Pay-as-you-go | $0.90 / 1k | Spiky or one-off volume |
Median response 2.6s. You only pay for successful requests.
FAQ
What is a Bing ads results scraper?
A Bing ads results scraper reads the paid listings on a Bing search results page and returns them in a structured format. Our API returns each ad's position, title, decoded landing link, displayed link, snippet, and any ad sitelinks as JSON, on the same call as the organic results, whenever Bing renders ad units for the query.
Does every query return ads?
No. Ads appear on commercial and transactional queries, and even then Bing server-renders the ad blocks only for some requests. The ads array is present when Bing serves ad units and omitted when it does not. We never fabricate ads to fill the block, so an empty result means Bing showed none for that request, which is common on informational queries.
Which queries are most likely to show ads?
Commercial-intent queries with buyers behind them, for example insurance, software, travel, and product terms, are the ones that carry ads. Informational queries like a how-to or a definition usually show no ads. To monitor competitor ads, query the commercial keywords in your space rather than broad informational terms.
Are the ad landing links the real destination?
Yes. Bing wraps ad links in the same ck/a redirect it uses for organic results, and our scraper decodes them to the real landing URL in the ad's link field. Ad sitelinks are decoded the same way, so both point straight at the advertiser's pages rather than a bing.com tracking link.
Can I track competitor ads over time?
Yes. Query your commercial keywords on a schedule and store the ads array from each response. Comparing the advertisers, headlines, snippets, and landing links across runs shows who enters and leaves the auction and how their copy changes, which is the basis for a Bing share-of-voice and ad-monitoring workflow.
Is scraping Bing ad results allowed?
Scraping publicly visible SERP elements, including the ads Bing shows to any logged-out visitor, is generally treated as lower risk than scraping data behind a login. This is not legal advice: you are responsible for respecting Bing's terms and the laws in your jurisdiction, and for using the data for research such as competitive monitoring rather than republishing ad creative wholesale.