Skip to content

Migrating from The News API

Replace /v1/news/all with /v1/news/everything and /v1/news/top with /v1/news/top-headlines. The search operators translate cleanly; the changes that need attention are search scope, two rejected languages, and the fact that stored UUIDs cannot be carried over.

Why teams switch

The News APIAPITube
Articles per request3 free · 25 Basic · 50 Standard · 100 on the $79 Pro plan250 on every plan
Article textsnippet — the first ~60 charactersFull body and body_html
EnrichmentCategories, keywords, a relevance scoreEntities with Wikidata links, sentiment (title/body/overall/per-entity), IPTC + topics + industries, readability, publisher bias
Category taxonomy10 fixed categoriesIPTC MediaTopics — thousands of codes

Your first request

bash
# The News API
curl "https://api.thenewsapi.com/v1/news/all?api_token=YOUR_TOKEN&search=tesla&language=en&categories=business&limit=50"
bash
# APITube
curl "https://api.apitube.io/v1/news/everything?title=tesla&language.code=en&category.id=medtop:04000000&per_page=50" \
  -H "X-API-Key: YOUR_API_KEY"

Parameter mapping

The News APIAPITubeNote
searchtitle or queryHeadlines only — see below
search_fields=titletitleLossless
categoriescategory.id10 categories → IPTC codes, max 3
exclude_categoriesignore.category.id
domainssource.domainMax 3, exact domain
exclude_domainsignore.source.domain
source_idssource.idThe ID spaces are unrelated — remap through the domain
languagelanguage.code34 of 37 codes work
localesource.country.code53 of 55 codes work
published_after / published_beforepublished_at.start / .end
published_onpublished_at.start + .endA single day becomes a range
sort=published_onsort.by=published_at
limitper_page250 max
api_tokenapi_key or X-API-Key header

Search operators

usd + gbp          →  title=usd,gbp                (comma is AND)
usd | gbp          →  query=title:(usd OR gbp)
-cad               →  ignore.title=cad
"Apple Inc"        →  title="Apple Inc"
forex + (usd|gbp) -cad
                   →  query=title:forex AND (title:usd OR title:gbp) NOT title:cad

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

What does not carry over

Russian and Ukrainian. language.code=ru and uk return 400, and source.country.code=ru / ua return 400. There is no substitute. If either is part of your coverage, this migration does not work.

Prefix wildcards. search=technolog* has no equivalent, and passing it through returns the entire index with a 200. Expand it by hand.

Stored UUIDs. The News API identifies articles by UUID; APITube uses integers. /v1/news/uuid/{uuid} becomes ?article.id=<integer>, but existing UUIDs cannot be translated — re-resolve by URL.

/v1/news/similar/{uuid}. No similar-article endpoint. story.id exists on every article but is not a working filter.

Per-category headline grouping. /v1/news/headlines returns one object keyed by category. APITube needs one request per category.

What you gain

250 articles per request on any plan against 100 on the $79 tier, the full article body instead of a 60-character snippet, named entities, sentiment split three ways, three classification axes, publisher bias, readability, and export to eight formats.

Next steps