API + MCP
Open JSON over HTTPS, and a live MCP server for agents. ~2,450 events / ~20,000 markets across Kalshi and Polymarket, each with a Resolution Clarity Grade — the named resolution source where one is committed, and a graded source_status when it isn't. No key required.
Every event is single-venue; the same question priced on both venues is linked by a shared question_id, and each market's also_on lists its cross-venue twins. Prices refresh hourly. Catalyst dates (CPI, FOMC, jobs, earnings) are joined per event. Read-only.
Open by default. Full universe, no key, 1,000 requests/day per IP. Drop your email for a free key and 10,000/day — issued instantly, no confirmation step:
Send it as Authorization: Bearer <key> or ?key=<key>. 10,000 requests/day, resets 00:00 UTC. Save it now — for your records; you can always request a new one.
Prefer the API? Request a key with curl
curl -s -X POST https://api.clearmarket.fyi/v1/keys \
-H 'content-type: application/json' \
-d '{"email":"[email protected]"}' Anonymous access works too — just omit the key. CORS open.
Query and filter the universe directly. Every response is the canonical schema with derived fields added at serve time.
curl -s 'https://api.clearmarket.fyi/v1/events?category=economics&grade=A&limit=5' \
| jq '.events[] | {slug, grade, question}' Full event: linked markets, grades, windowed catalysts. ?detail=concise trims each market to the essentials (grade, price, source) for large multi-market events.
curl -s https://api.clearmarket.fyi/v1/events/kxgdpyear-26 \
| jq '{question, catalyst_dates, markets: (.markets | length)}' Single market: price, Resolution Clarity Grade, resolution provenance.
Scheduled catalysts across all events, cross-event view.
curl -s 'https://api.clearmarket.fyi/v1/catalysts/upcoming?days=14' | jq '.catalysts' The agent-first surface. Same data, spoken as tools an agent calls directly. No HTML to crawl, no REST to compose. Streamable HTTP at https://api.clearmarket.fyi/mcp. Open, read-only.
Note: the endpoint is the path /mcp on the API domain — api.clearmarket.fyi/mcp, not an mcp. subdomain. POST JSON-RPC (application/json is enough; text/event-stream is only needed if you consume the SSE stream).
q)detail=concise trims each market to grade + price + source (much smaller for many-market events)CM-MKT-…), a venue-native id / Kalshi ticker, or a market URL (best-effort — Kalshi URLs resolve; Polymarket needs the conditionId) — returns the canonical CM-MKT-… idClaude Desktop / Cursor
Add to claude_desktop_config.json or ~/.cursor/mcp.json (bridges stdio to the remote server via mcp-remote):
{
"mcpServers": {
"clearmarket": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.clearmarket.fyi/mcp"]
}
}
} Verify (raw JSON-RPC)
curl -s -X POST https://api.clearmarket.fyi/mcp -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
| jq '.result.tools[].name' A plain-text surface engineered for LLM context windows. Zero markup, token-optimized, enumerates every endpoint and tool.
JSON Schema (draft 2020-12). API responses are the schema with derived fields added at serve time.
Repository: github.com/JDSource/clearmarket