Back to changelog
1.0.4

API Version 3

ChatGPT Image Jul 27, 2026, 12_28_45 PM.png

We've got a big API realese - a new version.

Consistent responses and pagination

Resources and collections now follow a shared response model. Paginated collections return data, next_page_url, and previous_page_url, so you can move through large result sets without managing offsets.

Errors now include a stable type, code, and message alongside the appropriate HTTP status. Responses also expose request and rate-limit information to help you monitor usage, trace failures, and retry safely.

Learn more in the response format documentation.

New data

We've updated the company identifier to EXCHANGE:TICKER in v3 to accommodate new exchange integrations. v2 will continue to be supported.

  • Added company employee-count history with GET /v3.0.0/company/employees

  • Added earnings calendar events with GET /v3.0.0/calendar/earnings

  • Added a markets catalog connecting countries, exchanges, and ticker coverage

  • Added exchange trading hours with GET /v3.0.0/exchanges/trading-hours

  • Added exchange holiday calendars with GET /v3.0.0/exchanges/holidays

  • You can now retrieve an individual ticker with GET /v3.0.0/tickers/{identifier}

Improvements

  • Bearer authentication is now supported and recommended for production applications

  • Reference catalogs now include normalized exchange names, MIC codes, markets, and coverage counts

  • Financial statements now share a consistent period model across income statements, balance sheets, and cash-flow statements

  • Financial data, prices, earnings calls, and stock splits use more consistent filters, ordering, and pagination

  • Rate-limit headers and Retry-After behavior are now documented in the response format guide

  • Plan access and visibility are now shown right on the endpoint page.

Simplified endpoints

  • Ticker listing moved from /v2/tickers/list to /v3.0.0/tickers

  • Ticker search routes were consolidated into /v3.0.0/tickers/search

  • Exchange filtering is now part of ticker queries instead of a separate search endpoint

  • Earnings-call summaries moved to /v3.0.0/earnings-calls

  • Individual earnings calls are now retrieved by ID from /v3.0.0/earnings-calls/{identifier}

  • Countries, exchanges, sectors, and industries no longer use the /list suffix

  • Stock splits now use one filterable /v3.0.0/stock-splits collection

Migration notes

Existing integrations can continue using API v2 while migrating. Update your base path, authentication, response parsing, pagination, and renamed endpoints before switching production traffic to v3.

Company news isn't in v3 yet, we'll add support for that later. You can still use v2 for those operations. v2 website docs are now under the v2 prefix.

Check it out ✌️

https://www.roic.ai/api/docs/getting-started