Track your Bing rankings without the Bing Search API

Most rank trackers treat Bing as an afterthought, and Microsoft retired the Bing Search APIs in August 2025. If you want to know where you rank on Bing, or which competitors advertise on your keywords, you now have to read the results page itself.
I built a scraper for this and learned a few things about what Bing really serves. Here's the short version.
What a Bing results page actually contains
You'd expect ten blue links. On commercial queries you often get far fewer.
On page 1 of "project management software" from a datacenter IP, Bing showed 3 organic results, 6 text ads and 18 shopping ads. Across my test runs, page 1 usually had 2 to 6 organic results, including for a plain informational query like "eiffel tower" (5).
Two consequences for rank tracking:
- "Position 4" can mean page 2. Track the absolute position across pages, not the rank on one page.
- Scrape at least 2 pages per keyword if you care about the top 10.
Other gotchas:
- Result URLs are wrapped. Bing links go through a
bing.com/ck/a?...redirect. The real URL is base64-encoded in theuparameter, so decode it or your domain matching breaks. - The US market follows your IP. For
en-US, Bing picks the market from the IP address and language. Other markets (en-GB,en-AU, ...) can be set explicitly. - Mobile has no classic pagination. You get page 1 only.
site:is unreliable for automated clients. From datacenter IPs Bing often ignores the restriction. Scrape the normal results and filter by domain yourself.
Getting the data
I packaged this as an Apify Actor, Bing Search Scraper. You give it queries and get one flat row per organic result:
{
"type": "organic",
"query": "project management software",
"page": 1,
"position": 1,
"title": "10 Best Project Management Software Of 2026",
"url": "https://www.forbes.com/advisor/business/software/best-project-management-software/",
"domain": "forbes.com",
"snippet": "Compare 22 providers of project management software based on pricing, features, integrations and customer …",
"date": "2026-09-25"
}
Each page also gets a summary item with totalResults, organicCount, adsCount, shoppingAdsCount, the ads themselves, People also ask and related searches.
One call from the command line:
curl -X POST "https://api.apify.com/v2/acts/rjmacarthy~bing-search-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"queries": ["project management software", "best crm for small business"],
"maxPagesPerQuery": 2,
"market": "en-US",
"outputFormat": "flat"
}'
It costs $0.002 per results page, however many results are on it. Tracking 50 keywords two pages deep is 100 pages, so $0.20 a run. Pages Bing degrades or blocks are retried and not charged.
Turning it into a rank tracker
- Put your keywords in
queriesand setmaxPagesPerQueryto 2. - Schedule the Actor daily or weekly in Apify.
- Filter the rows where
domainis yours and storequery,positionand the date. - Chart position over time, and alert when a keyword drops out of the top 10.
The same rows answer "who ranks above me" and, from the page items, "who is buying ads on this keyword".
Ready-made examples you can run and edit:
- Bing results for project management software
- Bing Australia rankings for home insurance
- Bing mobile rankings for a local service
It reads public results pages only: no login and no personal data.