NewsAPI.org compatible
Change the address, keep the JSON.
NewsAPI.org's Business plan costs $449 a month, and its free Developer plan cannot be used in production. SpecStream answers the same GET /v2/everything and /v2/top-headlines in NewsAPI's JSON, at $0.005 a call with no plan.
The switch is one line: https://api.specstream.ai in place of https://newsapi.org, and a SpecStream key in X-Api-Key, apiKey or Authorization. The paths, the parameters and your parser stay.
SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions. A new account gets $10 of credit, no card, which covers 2,000 news searches.
New accounts get $10 of credit, no card. It covers 2,000 searches.
NewsAPI.org to SpecStream, parameter by parameter and field by field
| SpecStream | NewsAPI.org | |
|---|---|---|
| Address | GET https://api.specstream.ai/v2/everything and /v2/top-headlines | GET https://newsapi.org/v2/everything and /v2/top-headlines |
| The key | A SpecStream key in X-Api-Key, in apiKey=, or in Authorization with or without Bearer | The apiKey parameter, the X-Api-Key header, or the Authorization header, where Bearer is optional |
| `pageSize` | Up to 100, with page for the next page | Default 100, maximum 100 on /v2/everything |
| Freshness | from and to set the window on every account, and sortBy=publishedAt puts the newest first | Developer plan: articles have a 24 hour delay and go back a month |
| Each article | source.name, title, description, url and publishedAt. source.id, author, urlToImage and content come back as null | content is truncated to 200 chars |
| Errors | NewsAPI's {"status": "error", "code", "message"}: 401 with no key. A busy call gets 429 rateLimited with Retry-After and is not charged | 401, 400, 429 and 500, each with a code and a message |
| Price | $0.005 a search of up to 10 results, $5 per 1,000, with no plan. $449 pays for 89,800 searches | Business $449 a month for 250,000 requests, then $0.0018 per extra request. Advanced $1,749 a month |
| Free to start | $10 of credit, no card, usable in production | Developer plan: 100 requests per day, for development and testing only |
The NewsAPI.org reference, on SpecStream
The call, before and after
# Before
curl -G https://newsapi.org/v2/everything \
-H "X-Api-Key: $NEWSAPI_KEY" \
-d pageSize=10 --data-urlencode "q=Nvidia earnings"
# After
curl -G https://api.specstream.ai/v2/everything \
-H "X-Api-Key: $SPECSTREAM_API_KEY" \
-d pageSize=10 --data-urlencode "q=Nvidia earnings"The Python client newsapi-python 0.2.7 keeps its addresses in its const module, so the change is one line before you build NewsApiClient: for name in ("TOP_HEADLINES_URL", "EVERYTHING_URL"): setattr(newsapi.const, name, getattr(newsapi.const, name).replace("https://newsapi.org", "https://api.specstream.ai")). get_everything and get_top_headlines then run as before.
What the route reads, and what it refuses
Read and applied on /v2/everything: q, qInTitle, domains, excludeDomains, from, to, language, sortBy=publishedAt, pageSize and page. On /v2/top-headlines: country, category, q, pageSize and page.
Refused: a call with no key gets 401 in NewsAPI's error form. Every parameter was measured on production on Nov 10, 2026, and the full pass table lists each one and its result.
Every field that comes back
The reply has status "ok", totalResults and articles[]. Each article carries source with the publisher's name, title, description, url and publishedAt in UTC.
source.id, author, urlToImage and content are present and null, as NewsAPI prints them when a source gives none, so a parser that reads them does not break. /v2/sources, NewsAPI's index of publishers, is not served. One field is added, specstream, with the call's price_usd.
One price a call, no plan
On NewsAPI.org production use starts at $449 a month. On SpecStream 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 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 reads the full article behind each url with the Extract API, up to 20 pages a call at $0.80 per 1,000 pages, and a page with no text is not charged. Deep Search 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.
What else NewsAPI.org users price
GNews
A news API sold by daily cap: Essential is €49.99 a month for 1,000 requests per day, and the free plan has 100 requests per day. SpecStream has no daily cap and answers the NewsAPI call your code already sends.
Bing News Search v7
Microsoft retired the Bing Search APIs on August 11, 2025, and its named replacement, Grounding with Bing Search, costs $14 per 1,000 transactions with no raw results for developers. SpecStream answers Bing's /v7.0/news/search on the same key, at $0.005 a search.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
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/v2/everything where your code has https://newsapi.org/v2/everything, and send the SpecStream key in X-Api-Key. In Python:
import requests
URL = "https://api.specstream.ai/v2/everything" # was https://newsapi.org/v2/everything
reply = requests.get(
URL,
headers={"X-Api-Key": SPECSTREAM_KEY},
params={"q": "Nvidia earnings", "language": "en", "sortBy": "publishedAt", "pageSize": 10},
timeout=30,
)
reply.raise_for_status()
for article in reply.json()["articles"]:
print(article["publishedAt"], article["source"]["name"], article["title"], article["url"])3. In JavaScript:
const url = new URL("https://api.specstream.ai/v2/top-headlines");
url.search = new URLSearchParams({ country: "de", category: "business", pageSize: "10" });
const reply = await fetch(url, { headers: { "X-Api-Key": process.env.SPECSTREAM_KEY } });
const data = await reply.json();
for (const article of data.articles) console.log(article.publishedAt, article.title, article.url);4. Page with page as before, and read 429 as a call to send again after Retry-After. It is not charged.
Frequently asked questions
Something we didn't answer? Talk to a human
Is there a NewsAPI.org compatible API?
GET /v2/everything and /v2/top-headlines at https://api.specstream.ai in NewsAPI's JSON, as measured on production on Nov 10, 2026. A call of up to 10 articles costs $0.005.How do I migrate from NewsAPI.org?
https://newsapi.org becomes https://api.specstream.ai, and a SpecStream key goes where the NewsAPI key went. q, qInTitle, domains, excludeDomains, from, to, language, pageSize, page, country and category keep their meaning.How much does NewsAPI.org cost?
Can I use the NewsAPI free plan in production?
Does newsapi-python work with SpecStream?
newsapi-python 0.2.7 works once its two addresses in newsapi.const point to https://api.specstream.ai, as tested on production on Nov 10, 2026. get_everything and get_top_headlines run unchanged.Which NewsAPI fields does SpecStream not fill?
source.id, author, urlToImage and content. Each article keeps source.name, title, description, url and publishedAt.Sources
SpecStream wrote this page. Each NewsAPI.org figure comes from its 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.
- NewsAPI.org pricingnewsapi.org/pricing, read Nov 10, 2026
- NewsAPI.org authenticationnewsapi.org/docs/authentication, read Nov 10, 2026
- NewsAPI.org everything endpointnewsapi.org/docs/endpoints/everything, read Nov 10, 2026
- NewsAPI.org errorsnewsapi.org/docs/errors, read Nov 10, 2026
- SpecStream NewsAPI.org pass tablespecstream.ai/specstream/dialects/newsapi.md, read Nov 10, 2026
- GNews pricinggnews.io/pricing, read Nov 10, 2026
- Microsoft: Bing Search APIs retiring on August 11, 2025learn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement, read Nov 10, 2026
- Grounding with Bing pricingmicrosoft.com/en-us/bing/apis, read Nov 10, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




