CoinMarketCal API
Read the curated crypto-event catalog over HTTP. Every event is editorially titled, dated, scored (Pro+), and proof-linked (Pro+). Authenticate with a bearer token, hit the JSON endpoints.
◆ Make your first request
# 1. Sign up at coinmarketcal.com/developer and copy your API key. # 2. Hit the events endpoint: curl -H "Authorization: Bearer $COINMARKETCAL_API_KEY" \ "https://api.coinmarketcal.com/v2/events?coins=BTC,ETH&limit=5"
The header format is Authorization: Bearer <key>. See Authentication for key creation and safety.
◆ API reference
- EventsRead curated, scored crypto events. Filter by coin, category, date range, or impact. Every event has an editorial title, date, linked coins, and (on Pro+) source proof and an impact score.
- CategoriesRead the closed list of editorial categories used to tag events. Use the `id` returned here as the canonical value when filtering events via `GET /v2/events?categories=...`. The list is short and rarely changes. Cache for 24 h.
- CoinsRead the coin catalog, filterable by query, rank, and editorial coverage. Use the `slug` returned here as the canonical coin identifier when filtering events; tickers collide.
- WebhooksPush event updates to your servers in real time. Each delivery is a `POST` carrying the full event payload + a `CMC-Signature` header. Verify the signature using the endpoint's signing secret before trusting the body.
- ExportsBulk-download the full event catalog as a CSV. **Available at the Elite tier and above.** Returns a `text/csv` body; pipe it directly to disk or your warehouse loader. The export reflects the same filters / tier window as `GET /v2/events` and ignores pagination.
◆ Import into Postman / Insomnia
We publish an OpenAPI 3.0 spec at the URL below. In Postman, choose Import → Link and paste it; in Insomnia, Application → Import / Export → Import Data → From URL. The spec stays in sync with these docs; re-import when new endpoints ship.
https://coinmarketcal.com/developer/docs/openapi.json
◆ Conventions
- Base URL:
https://api.coinmarketcal.com - Format: JSON request, JSON response. UTF-8 throughout.
- Dates: ISO-8601 with explicit timezone (always UTC), e.g.
2026-05-15T12:00:00Z. - Pagination: Cursor-based. Pass
cursorfrom the previous response'smeta.cursor; null on the last page. - Versioning: The current API is
v2. Breaking changes ship asv3;v2stays available with a 12-month deprecation window. - Errors: See the error reference
- Estimated dates: when an event's
isEstimatedis true, thedatefield is a deadline / window-end. Never render it directly; usedisplayedDate. Full rule on Events