Developer docs
Ticker public API
The public subset is an anonymous HTTP catalog: search, browse, identity, and public price series. No API key. MCP is a paid product — see MCP server docs.
Getting started
Base URL. The public subset needs no API key. A session cookie on the same paths returns the richer logged-in shapes.
https://api.findticker.comSpec
The machine-readable public subset is https://api.findticker.com/openapi.json. On production, GET /doc serves the same public subset.
https://api.findticker.com/openapi.jsonWhat is public
Ten paths. Anonymous callers and cookie callers share them. Identity on a past event is still 200, and market is present and null. Prices on a past event 404 for anonymous callers.
Events
GET /api/eventsAnonymous callers get a count only: data is [] and total is the all-time event count. This is not a paginated list.
GET /api/events/searchSearch upcoming events by name.
GET /api/events/browseBrowse upcoming events.
GET /api/events/sitemapSitemap feed of upcoming event ids and names.
GET /api/events/{eventId}Identity. A past event still returns 200. market is present and null — the key stays on the object.
GET /api/events/{eventId}/pricesPublic day-grain price series. Anonymous callers get 404 when the event is not upcoming.
Performers
GET /api/performers/sitemapSitemap feed of performer ids and names.
GET /api/performers/browseBrowse performers.
GET /api/performers/{performerId}Identity.
GET /api/performers/{performerId}/eventsUpcoming events for that performer.
Rate limits
Per-IP process limits (not an SLA): identity 60/min; search 30/min; browse 60/min; sitemap 120/min.
These are current process limits, not an SLA. They can change. The same sentence is in the served OpenAPI info.description.
What is not public
MCP, the screener, alerts, sections, demand, absorption, and research stay behind a Ticker account. MCP is paid. See the MCP server docs and the plans page.
Errors
Unknown ids, and anonymous prices on a non-upcoming event, return 404:
{ "code": 404, "message": "…" }The IP ceiling returns 429 when the request count in the current minute window exceeds the limit for that path.