Skip to main content
Familiar with v1 or v2? The date-based versions map to: v1 = 2022-01-01, v2 = 2024-01-01, v3 = 2026-08-01. This guide uses both naming schemes.

Version comparison

Migrating from v1 to v2

What changed

  • Endpoint: /search → /search/articles
  • Query parameter: q → query
  • Response envelope: { status, totalResults, articles } → { success, totalHits, data }
  • Article fields: published_date → date, author → authors, description → excerpt
  • Error format: { status: "error", code } → { success: false, code }

Before (v1)

After (v2)

Code changes

Before (v1):
After (v2):

Migrating from v2 to v3

What changed

  • Response envelope: { success, totalHits, data } → { metadata, parameters, articles }
  • Article fields: Added id and translations
  • Error format: { success: false, code } → { metadata, errors }
  • Pagination: totalHits → total_hits, hitsPerPage → hits_per_page

Before (v2)

After (v3)

Code changes

Before (v2):
After (v3):

Migrating from v1 to v3 (skip v2)

If you’re on v1 and want to go directly to v3, combine both migrations:
  1. Change endpoint: /search → /search/articles
  2. Change query parameter: q → query
  3. Update response parsing: { status, totalResults, articles } → { metadata, parameters, articles }
  4. Update article fields: published_date → date, author → authors, description → excerpt
  5. Handle new fields: id, translations
  6. Update error handling: { status: "error", code } → { metadata, errors }

Testing checklist

After migrating, verify:
  • Requests include the api-version header with the target version
  • Response parsing uses the new envelope structure
  • Article field names match the new schema
  • Error handling uses the new error format
  • Pagination uses the new field names
  • New fields (id, translations) are handled gracefully (can be null)

Need help?

If you run into issues during migration, check the API versions page for more details or reach out to support.