X-CMC_PRO_API_KEY header.
Things that shape the results:
- IDs are stable, tickers are not. Several assets can share a ticker, so a lookup by
symbolcan return more than one.cryptocurrency.mapresolves a ticker to the CMC IDs the other operations take. quotechanges shape by route. The/v3routes return an array with one entry per requested currency, and each entry names its currency withidandsymbol. The/v1and/v2routes return an object keyed by currency symbol. This plugin passes each through unchanged.datachanges shape too.cryptocurrency.infoandexchange.infoare keyed by the identifier passed, and asymboloraddresslookup wraps each key’s value in an array. Both operations flatten that into one list and keep the provider’s key aslookup_key.- Credits. A listing costs one credit per 250 assets returned and one more per extra
convertcurrency.key.inforeports the plan limits and what is left this minute, today and this month. - Rate limits. CoinMarketCap answers 429 with an
error_codethat says which limit was hit. 1008 (per minute) and 1011 (per IP) are retried up to twice, usingRetry-Afterwhen present and the documented 60 second window otherwise. 1009 (daily limit), 1010 (monthly limit) and 1022 (anonymous allowance) are not retried, because waiting out one window cannot clear them. - Plans.
exchange.infoneeds a paid plan: a Basic key gets 403error_code1005 for it. Every other operation here works on Basic. - Empty results. A filter that matches nothing is a success: the route answers
data: []witherror_code"0", and this plugin returns an empty list. A body with a success status and nodatafield at all is malformed, and the call throws instead of reporting an empty page. key.infocosts no credits. On a paid plan it reportsrate_limit_minuteandcredit_limit_monthly, plus what is left this minute and this month. The daily object carriescredits_usedonly, with nocredits_left, so this plugin types that field as optional.
/public-api is not used here: every operation goes through the keyed Pro API, so a key is always required.
What you get:
- 8 typed API operations
Setup
1
Install
2
Add the plugin
corsair.ts
multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.3
Choose authentication
- API Key (Recommended)
No setup required yet. When you make your first request as a tenant, Corsair prompts for the API key.More: API Key
4
Connect a tenant
Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.
Example API calls
Top coins by market capWhat’s next
API reference
Every
coinmarketcap.api.* operation with input and output types.Connect / OAuth
createLink, Hub delivery, and tenant connect flows.
Use with agents
Expose this plugin’s operations as MCP tools.