Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Tickerbot WebSockets API
version: 2.69.6
summary: The stock market API designed for agents.
description: 'Tickerbot is the stock market API designed for agents. We serve real-time and historical market data as one queryable table. You and your agents can ask it anything, without building anything custom. Every ticker is a row. Every data point is a column. 23,000+ tickers, covering US stocks and ETFs, FX, crypto, rates and metals. 452+ columns, covering raw data, calculations and conditions: price, volume, price action, technicals, fundamentals, events, profile, analyst ratings and news. Refreshed every minute, historized back to 2003. The table is the API: /v2/tickers/ returns one ticker''s whole row, /v2/signals/ returns every ticker that matches one column, /v2/scan returns every ticker that matches a SQL WHERE clause. Every read runs live or as of any date. The power is in the columns: every ticker gets the same columns, query any of them, in any combination. Ask any question: anything you want to know about the market is a query over the table. Build any trading tool: anything you want to build is a few queries in sequence. Get a free API key, or paste our setup prompt and your agent connects over MCP. Free plan: 10,000 calls a month, no card required.
All responses carry a top-level `as_of` ISO timestamp indicating data vintage. List and history responses use opaque cursor pagination — treat `next_cursor` as a black-box token and pass it back via `?cursor=` on the next request.'
contact:
name: Tickerbot Support
url: https://tickerbot.io/support
email: support@tickerbot.io
license:
name: Proprietary
url: https://tickerbot.io/terms
servers:
- url: https://api.tickerbot.io
description: Production
security:
- apiBearer: []
tags:
- name: Websockets
paths:
/v2/stream/usage:
get:
tags:
- Websockets
summary: Current WebSocket streaming consumption vs your account cap
operationId: get_stream_usage
description: 'Current WebSocket streaming consumption vs your account cap.
Notes:
- REST companion to the `/v2/stream` WebSocket. Reports how many distinct tickers this ACCOUNT currently has subscribed — pooled across every live connection and every API key, so a second key does not grant a second budget — alongside the account cap and open connection count against the flat 5-connection abuse guard.
- `max_tickers` is `null` when the account has no finite cap.'
responses:
'200':
description: Success.
content:
application/json:
schema:
type: object
properties:
as_of:
description: Server time this response was assembled (ISO 8601).
tickers:
description: Distinct tickers this account currently has subscribed, pooled across every connection and key.
max_tickers:
description: The account cap; `null` when the account has no finite cap.
connections:
description: Open sockets on the account.
max_connections:
description: The flat connection guard.
'401':
description: Missing or invalid API key.
'402':
description: No active plan on the account (rare — new signups land on the Free plan automatically).
'429':
description: Rate limit exceeded for your plan.
components:
securitySchemes:
apiBearer:
type: http
scheme: bearer
bearerFormat: API key (tb_live_… or tb_test_…)
description: 'API keys are minted in the dashboard. Send as `Authorization: Bearer <key>`.'