Skip to content

Migrating from NewsAPI.org

Replace /v2/everything with /v1/news/everything and /v2/top-headlines with /v1/news/top-headlines. Most parameters have a direct equivalent; the two changes that need attention are that search covers headlines rather than full text, and that sources becomes source.domain.

Why teams switch

NewsAPI.orgAPITube
Article textcontent truncated to 200 characters — their FAQ states full content is unavailable on any planFull body and body_html
Freshness on Free24-hour delay; the Developer plan is licensed for development only, never productionNo artificial delay, plus SSE and WebSocket streaming
country on top-headlinesAccepts us only — the other 53 country codes were removed from the parametersource.country.code covers 178 countries on every endpoint
Articles per request100250
EnrichmentNoneEntities, sentiment, IPTC categories, readability, publisher bias

Your first request

bash
# NewsAPI.org
curl "https://newsapi.org/v2/everything?q=tesla&language=en&pageSize=100&sortBy=publishedAt&apiKey=YOUR_KEY"
bash
# APITube
curl "https://api.apitube.io/v1/news/everything?title=tesla&language.code=en&per_page=100&sort.by=published_at&sort.order=desc" \
  -H "X-API-Key: YOUR_API_KEY"

Parameter mapping

NewsAPI.orgAPITubeNote
qtitleHeadlines only — see below
qInTitletitleDirect equivalent, and lossless
sourcessource.domainTheir source IDs (bbc-news) become domains (bbc.co.uk). Max 3
domainssource.domainMax 3
excludeDomainsignore.source.domain
languagelanguage.codeSame ISO 639-1 codes
countrysource.country.codeWorks on every endpoint here, not just source lookup
categorycategory.idTheir 7 categories become IPTC MediaTopic codes
from / topublished_at.start / .end
sortBy=publishedAtsort.by=published_at
sortBy=popularitysort.by=source.rank.oprApproximate — publisher authority, not article popularity
sortBy=relevancySee limitations
pageSizeper_page250 max, up from 100
pagepage
apiKeyapi_key or X-API-Key header

The full table of all 15 parameters is in the migration kit.

What does not carry over

Search scope. q matches the title, description, and content; title= matches headlines. If your query used qInTitle, the conversion is lossless — check that first. Otherwise, filter on the entity instead:

bash
organization.name=Tesla     # NER over the full article text

sortBy=relevancy. Combined with a search term, sort.by=relevance currently returns 500 on APITube. Use sort.by=published_at and flag it for later.

Source IDs. bbc-news, the-verge, and the rest are NewsAPI.org's own identifiers. Resolve them to domains through their /v2/sources endpoint before migrating, then filter with source.domain.

/v2/top-headlines/sources. No dedicated endpoint here. /v1/news/trends?field=source.id returns domains ranked by article volume.

What you gain

Every article carries entities with Wikidata links, sentiment split into title/body/overall, IPTC categories plus topic and industry axes, readability scores, publisher bias and authority rank, and the full body text. See Response structure.

Next steps