Migrating from Bing News Search API
The Bing Search APIs were retired on August 11, 2025
Legacy Ocp-Apim-Subscription-Key credentials now return 410 Gone, and the /v7.0/news endpoints are permanently decommissioned.
Microsoft's official replacement is Grounding with Bing Search inside Azure AI Foundry — billed per tool call, only runs inside the Azure AI Agent Service, and requires an Azure project, a resource group, and a model deployment before you can retrieve a single article. If what you wanted was GET /v7.0/news/search?q=..., a plain REST API is a shorter path.
Your first request
# Bing News Search v7 (retired)
curl "https://api.bing.microsoft.com/v7.0/news/search?q=tesla&mkt=en-US&count=100&sortBy=Date" \
-H "Ocp-Apim-Subscription-Key: YOUR_KEY"# APITube
curl "https://api.apitube.io/v1/news/everything?title=tesla&language.code=en&source.country.code=us&per_page=100&sort.by=published_at&sort.order=desc" \
-H "X-API-Key: YOUR_API_KEY"Parameter mapping
| Bing | APITube | Note |
|---|---|---|
q | title | Headlines only — see below |
mkt (en-US) | language.code + source.country.code | One market code becomes two filters |
cc | source.country.code | |
setLang | language.code | |
category | category.id | Bing's categories become IPTC codes |
count | per_page | 250 max, up from 100 |
offset | offset | Works directly |
sortBy=Date | sort.by=published_at&sort.order=desc | |
freshness=Day | published_at.start=NOW-1d | Week → NOW-7d, Month → NOW-30d |
since | published_at.start | Unix timestamp → ISO 8601 |
originalImg | — | image is always the full-size URL |
textDecorations / textFormat | hl=true | Highlighting, different markup |
safeSearch | — | No equivalent |
Ocp-Apim-Subscription-Key | X-API-Key |
The full table is in the migration kit.
Response mapping
Bing NewsArticle | APITube |
|---|---|
value[] | results[] |
name | title |
url | href |
description | description |
datePublished | published_at |
provider[0].name | source.domain |
image.thumbnail.contentUrl | image |
category | categories[] |
totalEstimatedMatches | /v1/news/count — and it is exact, not estimated |
What does not carry over
Search scope. Bing's q covered the whole article. title= covers headlines. Use organization.name, person.name, or category.id for the recall you lose.
safeSearch. No equivalent filter.
Trending topics. /v7.0/news/trendingtopics becomes /v1/news/trends?field=entity.id, which ranks by article volume rather than search volume.
Market codes. mkt=en-US bundles language and country into one value. Split it: language.code=en and source.country.code=us.
What you gain
Beyond a working API: full article body, named entities with Wikidata links, sentiment on title/body/overall, IPTC MediaTopics plus topic and industry axes, publisher bias and authority rank, readability scores, 250 articles per request, webhooks and streaming, and export to eight formats. No Azure subscription, resource group, or model deployment.
Next steps
- bing-news-api-apitube-migration-kit — full parameter and response tables, a drop-in shim for Node.js and Python that keeps the Bing response shape so your parsing code stays unchanged, and an AI prompt for bulk conversion
- Parameters reference
- Common migration issues