<!-- twin of https://specstream.ai/migrate/bing-news -->
# Bing News Search v7 compatible: change the address, keep the JSON

Compared on Nov 10, 2026. The page: https://specstream.ai/migrate/bing-news

Microsoft retired the Bing Search APIs on August 11, 2025 and decommissioned every existing instance. SpecStream answers the same `GET /v7.0/news/search` in Bing's `News` JSON, with dated articles newest first.

The switch is one line: `https://api.specstream.ai` in place of `https://api.bing.microsoft.com`, and a SpecStream key in `Ocp-Apim-Subscription-Key`. Your parser reads `value[]` as before.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions. A news search of up to 10 results costs $0.005, and a new account gets $10 of credit, no card.

[Get an API key](https://specstream.ai/signup?src=alternatives-migrate-bing-news&utm_source=alternatives-md&utm_campaign=migrate-bing-news&returnTo=%2Fworkspace%2Fsearch%3Froute%3Dbing_news) New accounts get $10 of credit, no card. It covers 2,000 searches.

## Bing News Search v7 to SpecStream, parameter by parameter and field by field

| | SpecStream | Bing News Search v7 |
|---|---|---|
| Address | `GET https://api.specstream.ai/v7.0/news/search`, and `GET /v7.0/news` for news by `category` | `GET https://api.bing.microsoft.com/v7.0/news/search`. Retired on August 11, 2025, with existing instances decommissioned |
| The key | A SpecStream key in the `Ocp-Apim-Subscription-Key` header, or as `subscription-key=` in the address | A subscription key in the `Ocp-Apim-Subscription-Key` header |
| `count` | 1 to 100, and 10 when you send none. `count=101` gets `400` | The default is 10 and the maximum is 100 |
| `sortBy` | `sortBy=Date` returns the newest articles first, and `sort[]` marks which order is selected | Date returns news sorted from the most recent |
| Each article | `name`, `url`, `description`, `datePublished` and `provider[].name`. Not returned: `image`, `category`, `about`, `mentions`, `clusteredArticles`, `video` and `headline` | `datePublished` is the date and time that Bing discovered the article |
| Errors | Bing's `ErrorResponse` with `errors[]`: `401` for a wrong key, `400` for a count over 100. A busy call gets `429` with `Retry-After` and is not charged | If the request fails, the top-level object is the `ErrorResponse` object |
| Price | $0.005 a news search of up to 10 results, $5 per 1,000, with no plan | Microsoft's named replacement, Grounding with Bing Search, costs $14 per 1,000 transactions |
| Free to start | $10 of credit, no card, which covers 2,000 searches | No new customer signup since the retirement |

## The Bing News Search v7 reference, on SpecStream

### The call, before and after

```
# Before
curl -G https://api.bing.microsoft.com/v7.0/news/search \
  -H "Ocp-Apim-Subscription-Key: $BING_KEY" \
  -d count=10 --data-urlencode "q=Nvidia earnings"

# After
curl -G https://api.specstream.ai/v7.0/news/search \
  -H "Ocp-Apim-Subscription-Key: $SPECSTREAM_API_KEY" \
  -d count=10 --data-urlencode "q=Nvidia earnings"
```

With Microsoft's Python client, `azure-cognitiveservices-search-newssearch` 2.0.0, the change is the endpoint and the key: `client = NewsSearchClient(endpoint="https://api.specstream.ai", credentials=CognitiveServicesCredentials(SPECSTREAM_KEY))`. `client.news.search(query=...)` then runs as before.

### What the route reads, and what it refuses

Read and applied: `q`, `count` (1 to 100), `offset`, `freshness` (`Day`, `Week`, `Month`), `sortBy`, `mkt`, `setLang`, and `category` on `/v7.0/news`.

Refused: `count` above 100 gets `400`, and a wrong key gets `401`, both in Bing's `ErrorResponse` form. Every parameter was measured on production on Nov 10, 2026, and the full [pass table](https://specstream.ai/specstream/dialects/bing_news.md) lists each one and its result.

### Every field that comes back

The reply has `_type` "News", `queryContext.originalQuery`, `totalEstimatedMatches`, `sort[]` with `id`, `isSelected` and `url`, and `value[]`. Each article carries `name`, `url`, `description`, `datePublished` and `provider[]` with `_type` and `name`.

The route does not return `relatedTopics`, nor an article's `image`, `category`, `about`, `mentions`, `clusteredArticles`, `video` or `headline`. One field is added, `specstream`, with the call's `price_usd`.

### One price a news search

Every call of up to 10 articles costs $0.005, each started block of 10 more adds $0.006, and there is no plan to renew. A busy call gets `429` with `Retry-After` and charges nothing. Credit you buy never expires.

### The most accurate web search API, in about one second

On SimpleQA Verified the SpecStream Search API scores 97.9 F-score on all 1,000 official questions, 978 of them correct. On WideSearch it scores 64.0 item F1 and 43.4 row F1 on all 200 official tasks. The Extract API scores 0.908 F1 on WCXB. Every score and its method is on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=migrate-bing-news) page.

Every drop-in route runs the fast search. Measured on production on November 9, 2026, its median was 0.82 s at 1 search a second and 1.07 s at 20 a second, the 95th percentile stayed between 1.09 and 1.73 s, and it answered 718 of 720. There is no limit per key and no daily limit.

### You decide what is kept, on each key

Create the key with `zero_retention` and a search made with it keeps no request text and no answer after the reply. `spend_cap_cents` is the most the key can spend.

```
curl -X POST https://api.specstream.ai/v1/account/keys \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'
```

### News, search, pages and rows on one key

The same key answers Bing Web Search v7 at `/v7.0/search`, reads up to 20 pages or documents a call with the [Extract API](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=migrate-bing-news) at $0.80 per 1,000 pages, and runs [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=migrate-bing-news), which returns every match for a request in plain words as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value. The web search guide is on the [Bing Web Search v7 migration](https://specstream.ai/migrate/bing-web-search-v7?utm_source=alternatives&utm_campaign=migrate-bing-news) page.

## What else Bing News users price

### Grounding with Bing Search

Microsoft's named replacement, a tool for Azure AI Agents at $14 per 1,000 transactions. Microsoft says developers don't have access to the raw content it returns, so there is no article list to parse. SpecStream returns Bing's `value[]` at $5 per 1,000.

### NewsAPI.org

A news API whose free Developer plan cannot be used in production. Business costs $449 a month for 250,000 requests. SpecStream answers NewsAPI's own `/v2/everything` call too, with no plan, at $0.005 a search.

### GNews

A news API sold by daily cap: Essential is €49.99 a month for 1,000 requests per day. SpecStream has no daily cap, keeps Bing's request and reply, and there is no limit per key.

## How to migrate, step by step

1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.

2. Set the address to `https://api.specstream.ai/v7.0/news/search` where your code has `https://api.bing.microsoft.com/v7.0/news/search`, and send the SpecStream key in `Ocp-Apim-Subscription-Key`. In Python:

```
import requests

URL = "https://api.specstream.ai/v7.0/news/search"  # was https://api.bing.microsoft.com/v7.0/news/search

reply = requests.get(
    URL,
    headers={"Ocp-Apim-Subscription-Key": SPECSTREAM_KEY},
    params={"q": "Nvidia earnings", "count": 10, "freshness": "Day", "sortBy": "Date"},
    timeout=30,
)
reply.raise_for_status()
for article in reply.json()["value"]:
    print(article["datePublished"], article["name"], article["url"])
```

3. In JavaScript:

```
const url = new URL("https://api.specstream.ai/v7.0/news/search");
url.search = new URLSearchParams({ q: "Nvidia earnings", count: "10", sortBy: "Date" });
const reply = await fetch(url, { headers: { "Ocp-Apim-Subscription-Key": process.env.SPECSTREAM_KEY } });
const data = await reply.json();
for (const article of data.value) console.log(article.datePublished, article.name, article.url);
```

4. Page with `offset` as before, and read `429` as a call to send again after `Retry-After`. It is not charged.

## Frequently asked questions

### Is the Bing News Search API still available?

No. Microsoft retired the Bing Search APIs on August 11, 2025 and decommissioned existing instances. SpecStream answers the same `GET /v7.0/news/search` at `https://api.specstream.ai` in Bing's JSON, at $0.005 a search.

### Is there a Bing News Search API compatible API?

Yes. Since Nov 10, 2026 SpecStream answers `/v7.0/news/search` and `/v7.0/news` in Bing's `News` JSON, with the key in `Ocp-Apim-Subscription-Key`, as measured on production that day.

### How do I migrate from the Bing News Search API?

Change one address: `https://api.bing.microsoft.com` becomes `https://api.specstream.ai`, and a SpecStream key goes in `Ocp-Apim-Subscription-Key`. `q`, `count`, `offset`, `freshness`, `sortBy`, `mkt`, `setLang` and `category` keep their meaning.

### How much did the Bing News Search API cost, and what does the replacement cost?

Microsoft's named replacement, Grounding with Bing Search, costs $14 per 1,000 transactions and returns no raw results to developers. SpecStream costs $5 per 1,000 news searches of up to 10 results, with no plan.

### Does the Azure Bing News Search SDK work with SpecStream?

Yes. `azure-cognitiveservices-search-newssearch` 2.0.0 works with `endpoint="https://api.specstream.ai"` and a SpecStream key in `CognitiveServicesCredentials`, as tested on production on Nov 10, 2026. The rest of your code stays.

### Which Bing News fields does SpecStream not return?

Seven article fields: `image`, `category`, `about`, `mentions`, `clusteredArticles`, `video` and `headline`, plus the top-level `relatedTopics`. Each article keeps `name`, `url`, `description`, `datePublished` and `provider`.

## Sources

SpecStream wrote this page. Each Bing figure comes from Microsoft's own pages, and each other provider's figure from that company's own page. The route's behavior comes from its code and the pass table measured on production.

- [Microsoft: Bing Search APIs retiring on August 11, 2025](https://learn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement), read Nov 10, 2026
- [Bing News Search API v7 query parameters](https://learn.microsoft.com/en-us/previous-versions/bing/search-apis/bing-news-search/reference/query-parameters), read Nov 10, 2026
- [Bing News Search API v7 response objects](https://learn.microsoft.com/en-us/previous-versions/bing/search-apis/bing-news-search/reference/response-objects), read Nov 10, 2026
- [Bing Search v7 Python quickstart](https://learn.microsoft.com/en-us/bing/search-apis/bing-web-search/quickstarts/rest/python), read Nov 10, 2026
- [Grounding with Bing pricing](https://www.microsoft.com/en-us/bing/apis), read Nov 10, 2026
- [Grounding with Bing Search tools](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/bing-tools), read Nov 10, 2026
- [SpecStream Bing News pass table](https://specstream.ai/specstream/dialects/bing_news.md), read Nov 10, 2026
- [NewsAPI.org pricing](https://newsapi.org/pricing), read Nov 10, 2026
- [GNews pricing](https://gnews.io/pricing), read Nov 10, 2026
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 10, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 10, 2026
