Back

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:

ParameterValuesNotes
X-RateLimit-Limit60Requests allowed per minute
X-RateLimit-Remaining59Left in the current window
X-RateLimit-Reset1786004858Unix time the window refills
X-Quota-Monthly100000Monthly request quota
X-Quota-Used1204Used 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" } }
ParameterValuesNotes
missing_key401No key in the request
invalid_key401Unknown, revoked, or expired key
rate_limited429Per-minute limit exceeded (honor Retry-After)
not_found404Unknown 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).

ParameterValuesNotes
contract_typeperp | spot_tokenPerpetual futures vs. tokenized spot equities
exchangehyperliquid, bybit, …Exchange slug (see /v1/exchanges)
categorystock | etf | pre_ipo | tokenized_stock | commodity | fx | index | cryptoAsset class
tickerTSLASingle 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.

ParameterValuesNotes
interval15m | 1h | 4h | 1d | 1wDefault 1h
hours168Lookback 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.

ParameterValuesNotes
interval15m | 1h | 4h | 1d | 1wDefault 1h
hours720Lookback 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.

ParameterValuesNotes
contract_typeperp | spot_tokenSame 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.