http://data.graylayer.tech
History begins from March 7, 2026. Queries with
start_ts before this date will be clamped to the earliest available data.Getting a key
API keys are issued via Discord. Join the server, go to the Community tab, and post a request in #api-key-request.Join the Graylayer Discord
Request an API key in #api-key-request under the Community tab.
Supported exchanges
| Exchange value | Platform |
|---|---|
kalshi | Kalshi elections prediction markets |
gemini | Gemini crypto & prediction markets |
polymarket_us | Polymarket US prediction markets |
Authentication
All data endpoints require anx-api-key header:
API key access control
Keys can optionally restrict:| Field | Description |
|---|---|
requests_per_minute | Rate limit for this key |
max_data_age_days | How far back queries can reach. Omit = unlimited |
ticker_prefixes | Restrict to tickers matching these prefixes (case-insensitive). Omit = all tickers |
full_history_prefixes | Tickers matching these prefixes bypass max_data_age_days |
Rate limiting
Uses per-minute token buckets (one limiter per key, one per IP for anonymous). Rate limiters are in-memory and reset on restart. When exceeded:Anonymous access
Requests withoutx-api-key:
- Rate limited per IP (default: 10 req/min)
- Data restricted to the last 1 day regardless of
start_ts - IP is read from
X-Forwarded-Forif the service is behind a proxy (trust_proxy = truein config)