Migrating from Currents API
Replace /v1/search and /v2/search with /v1/news/everything. The boolean query language carries over almost unchanged, and the category taxonomy maps one-to-one — the cleanest category mapping in this section. The blocker, stated up front, is Russian.
Why teams switch
| Currents API | APITube | |
|---|---|---|
| Article text | description only — no full-text field | Full body and body_html |
| Enrichment | A category array | Entities with per-entity sentiment, sentiment on title/body/overall, IPTC plus topic and industry axes, readability, publisher bias |
| Results per page | 300 max, but (page_number − 1) × page_size capped at 5 000 | 250 per request, no offset ceiling |
| Category taxonomy | 16 canonical V2 categories | The same IPTC top level, plus thousands of child codes |
Your first request
# Currents API
curl "https://api.currentsapi.services/v2/search?keywords=technology&language=en&country=US&category=science_technology&page_size=100" \
-H "Authorization: Bearer YOUR_KEY"# APITube
curl "https://api.apitube.io/v1/news/everything?title=technology&language.code=en&source.country.code=us&category.id=medtop:13000000&per_page=100" \
-H "X-API-Key: YOUR_API_KEY"The categories map one-to-one
Currents' V2 taxonomy is built on IPTC MediaTopics top-level codes, so the conversion is mechanical rather than judgement-based:
| Currents V2 | IPTC code |
|---|---|
economy_business_finance | medtop:04000000 |
crime_law_justice | medtop:02000000 |
science_technology | medtop:13000000 |
sport | medtop:15000000 |
health | medtop:07000000 |
All 14 filterable categories translate this way. The full table — including the 47 legacy V1 categories — is in the migration kit.
Parameter mapping
| Currents API | APITube | Note |
|---|---|---|
keywords | title | Narrows to headlines — Currents matches the description too |
query | query | Boolean syntax survives; every bare term needs a field prefix |
language | language.code | See the language section below |
country | source.country.code | |
category | category.id | One-to-one, max 3 values |
domain | source.domain | Max 3 |
domain_not | ignore.source.domain | |
start_date / end_date | published_at.start / .end | |
page_size | per_page | 250 max on APITube |
page_number | page | |
type | — | No article-type filter |
keywords takes priority over query when both are present on Currents. The shims in the kit reproduce that precedence.
Boolean queries
Both sides use AND / OR / NOT, quoted phrases and parentheses, and both bind AND tighter than OR. The only change is the field prefix:
# Currents
query=("AI" OR "Machine Learning") AND NOT "Ethics"
# APITube
query=(title:"AI" OR title:"Machine Learning") AND NOT title:"Ethics"What does not carry over
Russian. language.code=ru returns 400 ER0237. Currents lists Russian among its 23 languages, and there is no substitute. If Russian coverage matters to you, this migration does not work.
Malay. Currents uses the non-standard code msa; ISO 639-1 says ms. APITube supports neither.
Wildcards. No wildcard support, and title= accepts one without error while returning the entire index with a 200. Expand into query=title:(term1 OR term2).
Article type. Currents' type filter has no APITube counterpart.
Description search. Currents matches keywords against the description as well as the title. APITube's title= is headlines-only, so expect fewer results — and compensate by filtering the returned body, or by using organization.name instead of a keyword.
What you gain
Full article body instead of a description, named entities with sentiment scored towards each one, sentiment on the headline and the body separately, IPTC MediaTopics with child codes rather than 16 top-level buckets, topic and industry axes, publisher political bias and Open Page Rank, readability scores, and export to eight formats.
Next steps
- currents-apitube-migration-kit — every
/v1and/v2parameter mapped, all 16 V2 and 47 V1 categories with verified IPTC codes, all 23 language codes checked individually against the live API, a drop-in shim for Node.js and Python, and an AI prompt for bulk conversion - Parameters reference
- Common migration issues