Skip to content

Migrating from NewsCatcher

Replace /api/search with /v1/news/everything. Entity filters, sentiment ranges, and IPTC tags map across directly. The changes that need attention are search scope, the article-per-request limit, and two Chinese language codes.

Why teams switch

NewsCatcherAPITube
Getting a keyFill in a form, book a demo, talk to sales. No public pricingSign up, key in the dashboard, first request in a minute
IPTC tagsv3_nlp_iptc_tags — a paid plan tierStandard filter on every plan
Articles per request1,000250
SentimentTitle and contentTitle, body, and overall, plus per-entity
Query syntaxBoolean, wildcards, NEAR() proximityBoolean and phrase proximity; no wildcards

The first row is why most people arrive here. NewsCatcher's per-request limit is genuinely higher — that is stated plainly rather than hidden.

Your first request

bash
# NewsCatcher
curl "https://v3-api.newscatcherapi.com/api/search?q=Tesla&lang=en&countries=US&page_size=100&sort_by=date" \
  -H "x-api-token: YOUR_KEY"
bash
# 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

NewsCatcherAPITubeNote
qtitleHeadlines only — see below
search_in=titletitleLossless
langlanguage.codecn and tw both become zh
countriessource.country.codeEither case works
sourcessource.domainMax 3, exact domain
not_sourcesignore.source.domain
themecategory.id16 themes → IPTC codes
iptc_tagscategory.idPrefix the numeric ID with medtop:no plan upgrade needed
ORG_entity_nameorganization.name
PER_entity_nameperson.name
LOC_entity_namelocation.name
title_sentiment_min / _maxsentiment.title.score.min / .maxSame −1…1 scale
content_sentiment_min / _maxsentiment.body.score.min / .max
exclude_duplicatesis_duplicate=0
from_ / to_published_at.start / .end
sort_by=datesort.by=published_at
page_sizeper_page250 max, down from 1,000

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

What does not carry over

Search scope. search_in defaults to title_content. APITube searches headlines. If your query already set search_in: "title", the conversion is lossless.

Wildcards. technolog* has no equivalent, and passing it through returns the entire index with a 200. Expand it by hand into an OR list.

NEAR() proximity. APITube has phrase slop (title="a b"~5) capped at 10 positions inside a headline. NewsCatcher's NEAR() spans 100 words across the whole article.

Clustering. clustering_enabled returns grouped results. APITube puts a story.id on every article but has no clustered response shape.

Chinese. NewsCatcher uses cn and tw; APITube uses zh for both, so the China/Taiwan distinction is lost.

Entity names must match exactly. organization.name=Apple Inc returns 400; Apple works. Check with /v1/suggest/entities?prefix=….

What you gain

IPTC MediaTopics without a plan upgrade, sentiment towards a specific entity (entity.sentiment.score), publisher political bias, readability scoring, geo search by coordinates, and export to eight formats.

Next steps