API Reference
The tickers.watch API serves the same data as this site: stock, commodity, FX, and index perpetual futures plus tokenized equities, tracked across Hyperliquid, Binance, Bybit, Bitget, Gate, Kraken, OKX, MEXC, and more. Endpoints cover live prices, funding rates, open interest, OHLC candles, and cross-venue price changes.
Base URL: https://api.tickers.watch/v1. All endpoints are read-only GET and return JSON as { data, meta }, where meta.as_of is the server time of the response. Object timestamps are ISO 8601 strings; time-series points (candles, funding, open interest) use Unix seconds.
Authentication
Every request needs an API key, passed either as a bearer token or an X-API-Key header:
curl https://api.tickers.watch/v1/instruments \
-H "Authorization: Bearer $TW_API_KEY"Keys are currently invite-only. To request one, reach us on Telegram or X. Keep keys server-side and never ship one in client code.
Rate limits
The default free tier allows 60 requests/minute and 100,000 requests/month per key. Every response reports where you stand:
| Parameter | Values | Notes |
|---|---|---|
| X-RateLimit-Limit | 60 | Requests allowed per minute |
| X-RateLimit-Remaining | 59 | Left in the current window |
| X-RateLimit-Reset | 1786004858 | Unix time the window refills |
| X-Quota-Monthly | 100000 | Monthly request quota |
| X-Quota-Used | 1204 | Used this calendar month |
Exceeding the per-minute limit returns 429 with a Retry-After header. Prices update on a ~60-second collection cycle and responses are cacheable for 15 seconds, so polling faster than that returns identical data.
Errors
Errors use one envelope:
{ "error": { "code": "invalid_key", "message": "Unknown, revoked, or expired API key" } }| Parameter | Values | Notes |
|---|---|---|
| missing_key | 401 | No key in the request |
| invalid_key | 401 | Unknown, revoked, or expired key |
| rate_limited | 429 | Per-minute limit exceeded (honor Retry-After) |
| not_found | 404 | Unknown ticker or endpoint |
Endpoints
List instruments
GET/v1/instruments
Every active listing with its latest price, funding, and open interest, as one row per ticker × exchange. Prices are USD per share/unit (contract multipliers already applied). Funding rates are normalized per hour; funding_interval_hours gives that instrument's current settlement cycle. When a venue quotes only during market hours (e.g. Ondo tokenized equities), the row keeps serving the last session's quote while the market is closed. price_stale is true then, and price_ts is always the quote's own time. Rows carry the company profile the site shows: logo_url (hotlinkable from the tickers.watch origin), website, and an English description. Each is null where an asset has none (e.g. no website for commodities or FX).
| Parameter | Values | Notes |
|---|---|---|
| contract_type | perp | spot_token | Perpetual futures vs. tokenized spot equities |
| exchange | hyperliquid, bybit, … | Exchange slug (see /v1/exchanges) |
| category | stock | etf | pre_ipo | tokenized_stock | commodity | fx | index | crypto | Asset class |
| ticker | TSLA | Single ticker across all venues |
curl "https://api.tickers.watch/v1/instruments?contract_type=perp&exchange=hyperliquid" \
-H "Authorization: Bearer $TW_API_KEY"Response
{
"data": [{
"ticker": "TSLA",
"name": "Tesla",
"category": "stock",
"market": "US",
"exchange": "hyperliquid",
"exchange_name": "Hyperliquid",
"symbol": "TSLA",
"contract_type": "perp",
"funding_interval_hours": 1,
"listed_at": "2025-10-06T00:00:00.000Z",
"price": 322.51,
"index_price": 322.6,
"volume_24h": 8525119.8,
"price_ts": "2026-08-06T08:24:12.000Z",
"price_stale": false,
"funding_rate": 0.0000125,
"predicted_funding_rate": null,
"funding_ts": "2026-08-06T08:24:05.000Z",
"open_interest_base": 51230.5,
"open_interest_quote": 16523400,
"oi_ts": "2026-08-06T08:24:05.000Z",
"shares_outstanding": 3210000000,
"aum_usd": null,
"underlying_ticker": null,
"logo_url": "https://tickers.watch/company-logos/TSLA.png",
"website": "https://tesla.com",
"description": "Electric-vehicle leader expanding into energy storage and robotics.",
"tags": ["ev"]
}, …],
"meta": { "count": 1467, "as_of": "2026-08-06T08:25:01.000Z" }
}Ticker detail
GET/v1/instruments/{ticker}
The canonical asset plus its listing on every venue that carries it.
curl "https://api.tickers.watch/v1/instruments/TSLA" \
-H "Authorization: Bearer $TW_API_KEY"Response
{
"data": {
"asset": { "ticker": "TSLA", "name": "Tesla", "category": "stock", "market": "US",
"listed_at": "2010-06-29", "aum_usd": null,
"logo_url": "https://tickers.watch/company-logos/TSLA.png",
"website": "https://tesla.com",
"description": "Electric-vehicle leader expanding into energy storage and robotics." },
"instruments": [ …same shape as the list endpoint… ]
},
"meta": { "as_of": "2026-08-06T08:25:01.000Z" }
}OHLC candles
GET/v1/instruments/{ticker}/ohlc
Candles from the most liquid venue for the ticker (cross-venue stitched where history requires it). time is the bar-open Unix timestamp.
| Parameter | Values | Notes |
|---|---|---|
| interval | 15m | 1h | 4h | 1d | 1w | Default 1h |
| hours | 168 | Lookback window; capped per interval (e.g. 1y at 15m, 10y at 1d) |
curl "https://api.tickers.watch/v1/instruments/TSLA/ohlc?interval=1d&hours=720" \
-H "Authorization: Bearer $TW_API_KEY"Response
{
"data": {
"ticker": "TSLA",
"interval": "1d",
"source": { "exchange": "hyperliquid", "symbol": "TSLA" },
"bars": [
{ "time": 1785974400, "open": 321.73, "high": 322.82, "low": 320.13,
"close": 322.52, "volume": 8525119.8 }, …
]
},
"meta": { "count": 30, "as_of": "2026-08-06T08:25:01.000Z" }
}Funding & open interest history
GET/v1/instruments/{ticker}/funding
Funding is volume-weighted across venues into one series; open interest stays per exchange (sum rows sharing a ts for the total). oi_quote is USD notional.
| Parameter | Values | Notes |
|---|---|---|
| interval | 15m | 1h | 4h | 1d | 1w | Default 1h |
| hours | 720 | Lookback window; defaults and caps scale with the interval |
curl "https://api.tickers.watch/v1/instruments/TSLA/funding?interval=1h&hours=168" \
-H "Authorization: Bearer $TW_API_KEY"Response
{
"data": {
"ticker": "TSLA",
"interval": "1h",
"funding": [ { "ts": 1786000000, "funding_rate": 0.0000125 }, … ],
"open_interest": [ { "ts": 1786000000, "exchange": "hyperliquid", "oi_quote": 16523400 }, … ]
},
"meta": { "as_of": "2026-08-06T08:25:01.000Z" }
}List exchanges
GET/v1/exchanges
Venues we track, with the slugs used by every other endpoint.
curl "https://api.tickers.watch/v1/exchanges" \
-H "Authorization: Bearer $TW_API_KEY"Response
{
"data": [
{ "slug": "hyperliquid", "name": "Hyperliquid", "type": "dex",
"logo_url": "https://tickers.watch/exchange-logos/hyperliquid.svg", "status": "active" }, …
],
"meta": { "count": 12, "as_of": "2026-08-06T08:25:01.000Z" }
}Price changes
GET/v1/changes
Cross-venue price changes per ticker, keyed by ticker. Changes are median per-venue returns (robust to a single bad print); change_since_close anchors to the underlying market's last regular-session close and is null for 24/7 assets. 52-week high/low come from daily candles.
| Parameter | Values | Notes |
|---|---|---|
| contract_type | perp | spot_token | Same split as the list endpoint |
curl "https://api.tickers.watch/v1/changes?contract_type=perp" \
-H "Authorization: Bearer $TW_API_KEY"Response
{
"data": {
"TSLA": {
"change_1h": -0.0012, "change_4h": 0.0034, "change_24h": 0.0187,
"change_7d": -0.0241, "change_30d": 0.0912, "change_ytd": 0.1533,
"change_ytd_start": "2026-01-02T00:00:00.000Z",
"change_since_close": 0.0021, "change_since_close_ts": "2026-08-05T20:00:00.000Z",
"volume_rank": 3, "volume_rank_24h": 4, "volume_rank_change": 1,
"high_52w": 488.54, "low_52w": 182.0,
"high_52w_ts": "2025-12-18T00:00:00.000Z", "low_52w_ts": "2026-04-07T00:00:00.000Z"
}, …
},
"meta": { "count": 214, "as_of": "2026-08-06T08:25:01.000Z" }
}Stability & fair use
- Response shapes only change additively: new fields may appear; existing ones won't change meaning or disappear without a new version prefix.
- Attribute displayed data to tickers.watch with a link.
- No bulk redistribution or resale of the raw feed.
- Data is aggregated across venues and provided as-is, without warranty. Nothing here is investment advice.