Changelog

A timeline of updates, new endpoints, and improvements to the ROIC.ai API.

June 12, 2026

Logo PNG output and cleaner v2 errors

AddedFixed

GET /v2/company/logo/:identifier now takes a format parameter — request webp (default) or png, each cached independently at the edge via a per-variant ETag. Separately, invalid query parameters on the v2 API (for example an out-of-range size or an unknown format) now return a clean 422 with a single error field instead of the framework's nested validation tree, matching the { error } shape used everywhere else. See the company logo docs.

June 11, 2026

Company logo endpoint

Added

Added GET /v2/company/logo/:identifier, serving company and ETF logo images directly from R2 — raw bytes, not a URL. Resize to any size from 16–800px and optionally greyscale, generated on the fly and edge-cached per variant. Resolve logos by ticker symbol, CIK, CUSIP, or ISIN across 30+ global exchanges, on every plan. See the company logo docs.

June 9, 2026

Smarter ticker search ranking

Improved

GET /v2/tickers/search and GET /v2/tickers/search/name now rank results with a weighted, typo-tolerant model — blending exact, prefix, contains, trigram similarity, name coverage, venue, and listing signals — instead of a plain match. Response columns are unchanged.

June 4, 2026

Rate-limit headers and live usage meter

Added

Rate-limited responses now carry Retry-After plus X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers so you can pace requests precisely. The API docs also show a live Plan & Usage panel with your current plan, remaining requests this minute, and history depth.

June 4, 2026

Per-plan API access

Changed

Every plan — including Free — now has full access to all public companies and every endpoint. Plans differ only by rate limit (Free 5 req/min, Individual 300 req/min, Professional & Enterprise unlimited) and history depth (Free 2 years, Individual 5 years, Professional & Enterprise all available). Exceeding your limit returns 429 Too Many Requests; requesting history beyond your plan returns 403 Forbidden. See authentication for details.

May 27, 2026

Stock splits endpoints

Added

Added GET /v2/stock-splits/:identifier for the full split history of a single ticker and GET /v2/stock-splits for a cross-ticker calendar with date range and sort filters.

April 10, 2026

Excel & Google Sheets endpoints

Added

Added two endpoints powering the spreadsheet add-on: GET /v2/excel/metrics returns the live field catalog (financials, company profile, prices), and POST /v2/excel/data batch-fetches any mix of metrics across multiple tickers in a single call.

April 9, 2026

Filter tickers by listing status

Added

Added the listed query parameter to GET /v1/financial/tickers. Use listed=true for active tickers, listed=false for delisted ones, or omit it to return all tickers (default).

April 7, 2026

Revamped API documentation

Improved

Completely redesigned the API documentation with a cleaner layout, interactive code examples, an AI assistant, and improved navigation across all endpoints.