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 (10 on Free, 50 on Starter), 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