CoinMarketCapCoinMarketCap
PricingAPI StatusGet an API Key

© 2026 CoinMarketCap. All rights reserved.

xgithub
  • Guides
  • Pro API References
  • AI Tools
  • Changelog
  • FAQ
Endpoint Overview
Pro API
    Cryptocurrency
    Exchange
    Global Metrics
    Content
    Community
    CMC Index
Dex API
    Token
    Platform
    Holder
    OHLCV
    Others
Tools
    CoinMarketCap ID MapgetKey InfogetPostman Conversion v1getPrice Conversion v2get
Deprecated
    Metadata v1 (deprecated)getPrice Conversion v1 (deprecated)getMarket Pairs Latest v1 (deprecated)getOHLCV Historical v1 (deprecated)getOHLCV Latest v1 (deprecated)getPrice Performance Stats v1 (deprecated)getQuotes Historical v1 (deprecated)getQuotes Latest v1 (deprecated)getFCAS Listings Latest (deprecated)getFCAS Quotes Latest (deprecated)get
CoinMarketCap Cryptocurrency API Documentation

CoinMarketCap Cryptocurrency API Documentation

Introduction

The CoinMarketCap API is a suite of high-performance RESTful JSON endpoints that are specifically designed to meet the mission-critical demands of application developers, data scientists, and enterprise business platforms.

This API reference includes all technical documentation developers need to integrate third-party applications and platforms. Additional answers to common questions can be found in the CoinMarketCap API FAQ.

Quick Start Guide

For developers eager to hit the ground running with the CoinMarketCap API here are a few quick steps to make your first call with the API.

  1. Sign up for a free Developer Portal account. You can sign up at pro.coinmarketcap.com - This is our live production environment with the latest market data. Select the free Basic plan if it meets your needs or upgrade to a paid tier.
  2. Copy your API Key. Once you sign up you'll land on your Developer Portal account dashboard. Copy your API from the API Key box in the top left panel.
  3. Make a test call using your key. You may use the code examples provided below to make a test call with your programming language of choice. This example fetches all active cryptocurrencies by market cap and return market values in USD.
    Be sure to replace the API Key in sample code with your own and use API domain pro-api.coinmarketcap.com or use the test API Key b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c for sandbox-api.coinmarketcap.com testing with our sandbox environment. Please note that our sandbox api has mock data and should not be used in your application.
  4. Postman Collection To help with development, we provide a fully featured postman collection that you can import and use immediately! Read more here.
  5. Implement your application. Now that you've confirmed your API Key is working, get familiar with the API by reading the rest of this API Reference and commence building your application!

Note: Making HTTP requests on the client side with Javascript is currently prohibited through CORS configuration. This is to protect your API Key which should not be visible to users of your application so your API Key is not stolen. Secure your API Key by routing calls through your own backend service.

View Quick Start Code Examples

cURL command line

TerminalCode
curl -H "X-CMC_PRO_API_KEY: b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c" -H "Accept: application/json" -d "start=1&limit=5000&convert=USD" -G https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest ```**Node.js** ```javascript /* Example in Node.js */ const axios = require('axios'); let response = null; new Promise(async (resolve, reject) => { try { response = await axios.get('https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest', { headers: { 'X-CMC_PRO_API_KEY': 'b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c', }, }); } catch(ex) { response = null; // error console.log(ex); reject(ex); } if (response) { // success const json = response.data; console.log(json); resolve(json); } }); ```**Python** ```python #This example uses Python 2.7 and the python-request library. from requests import Request, Session from requests.exceptions import ConnectionError, Timeout, TooManyRedirects import json url = 'https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest' parameters = { 'start':'1', 'limit':'5000', 'convert':'USD' } headers = { 'Accepts': 'application/json', 'X-CMC_PRO_API_KEY': 'b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c', } session = Session() session.headers.update(headers) try: response = session.get(url, params=parameters) data = json.loads(response.text) print(data) except (ConnectionError, Timeout, TooManyRedirects) as e: print(e) ```**PHP** ```php /** * Requires curl enabled in php.ini **/ <?php $url = 'https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest'; $parameters = [ 'start' => '1', 'limit' => '5000', 'convert' => 'USD' ]; $headers = [ 'Accepts: application/json', 'X-CMC_PRO_API_KEY: b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c' ]; $qs = http_build_query($parameters); // query string encode the parameters $request = "{$url}?{$qs}"; // create the request URL $curl = curl_init(); // Get cURL resource // Set cURL options curl_setopt_array($curl, array( CURLOPT_URL => $request, // set the request URL CURLOPT_HTTPHEADER => $headers, // set the headers CURLOPT_RETURNTRANSFER => 1 // ask for raw response instead of bool )); $response = curl_exec($curl); // Send the request, save the response print_r(json_decode($response)); // print json decoded response curl_close($curl); // Close request ?> ```**Java** ```java /** * This example uses the Apache HTTPComponents library. */ import org.apache.http.HttpEntity; import org.apache.http.HttpHeaders; import org.apache.http.NameValuePair; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.utils.URIBuilder; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import java.io.IOException; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; public class JavaExample { private static String apiKey = "b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c"; public static void main(String[] args) { String uri = "https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest"; List<NameValuePair> paratmers = new ArrayList<NameValuePair>(); paratmers.add(new BasicNameValuePair("start","1")); paratmers.add(new BasicNameValuePair("limit","5000")); paratmers.add(new BasicNameValuePair("convert","USD")); try { String result = makeAPICall(uri, paratmers); System.out.println(result); } catch (IOException e) { System.out.println("Error: cannont access content - " + e.toString()); } catch (URISyntaxException e) { System.out.println("Error: Invalid URL " + e.toString()); } } public static String makeAPICall(String uri, List<NameValuePair> parameters) throws URISyntaxException, IOException { String response_content = ""; URIBuilder query = new URIBuilder(uri); query.addParameters(parameters); CloseableHttpClient client = HttpClients.createDefault(); HttpGet request = new HttpGet(query.build()); request.setHeader(HttpHeaders.ACCEPT, "application/json"); request.addHeader("X-CMC_PRO_API_KEY", apiKey); CloseableHttpResponse response = client.execute(request); try { System.out.println(response.getStatusLine()); HttpEntity entity = response.getEntity(); response_content = EntityUtils.toString(entity); EntityUtils.consume(entity); } finally { response.close(); } return response_content; } } ```**C#** ```csharp using System; using System.Net; using System.Web; class CSharpExample { private static string API_KEY = "b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c"; public static void Main(string[] args) { try { Console.WriteLine(makeAPICall()); } catch (WebException e) { Console.WriteLine(e.Message); } } static string makeAPICall() { var URL = new UriBuilder("https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest"); var queryString = HttpUtility.ParseQueryString(string.Empty); queryString["start"] = "1"; queryString["limit"] = "5000"; queryString["convert"] = "USD"; URL.Query = queryString.ToString(); var client = new WebClient(); client.Headers.Add("X-CMC_PRO_API_KEY", API_KEY); client.Headers.Add("Accepts", "application/json"); return client.DownloadString(URL.ToString()); } } ```**Go** ```go package main import ( "fmt" "io/ioutil" "log" "net/http" "net/url" "os" ) func main() { client := &http.Client{} req, err := http.NewRequest("GET","https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest", nil) if err != nil { log.Print(err) os.Exit(1) } q := url.Values{} q.Add("start", "1") q.Add("limit", "5000") q.Add("convert", "USD") req.Header.Set("Accepts", "application/json") req.Header.Add("X-CMC_PRO_API_KEY", "b54bcf4d-1bca-4e8e-9a24-22ff2c3d462c") req.URL.RawQuery = q.Encode() resp, err := client.Do(req); if err != nil { fmt.Println("Error sending request to server") os.Exit(1) } fmt.Println(resp.Status); respBody, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(respBody)); }

Authentication

Acquiring an API Key

All HTTP requests made against the CoinMarketCap API must be validated with an API Key. If you don't have an API Key yet visit the API Developer Portal to register for one.

Using Your API Key

You may use any server side programming language that can make HTTP requests to target the CoinMarketCap API. All requests should target domain https://pro-api.coinmarketcap.com.

You can supply your API Key in REST API calls in one of two ways:

  1. Preferred method: Via a custom header named X-CMC_PRO_API_KEY
  2. Convenience method: Via a query string parameter named CMC_PRO_API_KEY

Security Warning: It's important to secure your API Key against public access. The custom header option is strongly recommended over the querystring option for passing your API Key in a production environment.

API Key Usage Credits

Most API plans include a daily and monthly limit or "hard cap" to the number of data calls that can be made. This usage is tracked as API "call credits" which are incremented 1:1 against successful (HTTP Status 200) data calls made with your key with these exceptions:

  • Account management endpoints, usage stats endpoints, and error responses are not included in this limit.
  • Paginated endpoints: List-based endpoints track an additional call credit for every 100 data points returned (rounded up) beyond our 100 data point defaults. Our lightweight /map endpoints are not included in this limit and always count as 1 credit. See individual endpoint documentation for more details.
  • Bundled API calls: Many endpoints support resource and currency conversion bundling. Bundled resources are also tracked as 1 call credit for every 100 resources returned (rounded up). Optional currency conversion bundling using the convert parameter also increment an additional API call credit for every conversion requested beyond the first.

You can log in to the Developer Portal to view live stats on your API Key usage and limits including the number of credits used for each call. You can also find call credit usage in the JSON response for each API call. See the status object for details. You may also use the /key/info endpoint to quickly review your usage and when daily/monthly credits reset directly from the API.

Note: "day" and "month" credit usage periods are defined relative to your API subscription. For example, if your monthly subscription started on the 5th at 5:30am, this billing anchor is also when your monthly credits refresh each month. The free Basic tier resets each day at UTC midnight and each calendar month at UTC midnight.

Endpoint Overview

The CoinMarketCap API is divided into 8 top-level categories

Endpoint CategoryDescription
/cryptocurrency/*Endpoints that return data around cryptocurrencies such as ordered cryptocurrency lists or price and volume data.
/exchange/*Endpoints that return data around cryptocurrency exchanges such as ordered exchange lists and market pair data.
/global-metrics/*Endpoints that return aggregate market data such as global market cap and BTC dominance.
/tools/*Useful utilities such as cryptocurrency and fiat price conversions.
/blockchain/*Endpoints that return block explorer related data for blockchains.
/fiat/*Endpoints that return data around fiats currencies including mapping to CMC IDs.
/partners/*Endpoints for convenient access to 3rd party crypto data.
/key/*API key administration endpoints to review and manage your usage.
/content/*Endpoints that return cryptocurrency-related news, headlines, articles, posts, and comments.

Endpoint paths follow a pattern matching the type of data provided

Endpoint PathEndpoint TypeDescription
*/latestLatest Market DataLatest market ticker quotes and averages for cryptocurrencies and exchanges.
*/historicalHistorical Market DataIntervals of historic market data like OHLCV data or data for use in charting libraries.
*/infoMetadataCryptocurrency and exchange metadata like block explorer URLs and logos.
*/mapID MapsUtility endpoints to get a map of resources to CoinMarketCap IDs.

Cryptocurrency and exchange endpoints provide 2 different ways of accessing data depending on purpose

  • Listing endpoints: Flexible paginated */listings/* endpoints allow you to sort and filter lists of data like cryptocurrencies by market cap or exchanges by volume.
  • Item endpoints: Convenient ID-based resource endpoints like */quotes/* and */market-pairs/* allow you to bundle several IDs; for example, this allows you to get latest market quotes for a specific set of cryptocurrencies in one call.

Standards and Conventions

Each HTTP request must contain the header Accept: application/json. You should also send an Accept-Encoding: deflate, gzip header to receive data fast and efficiently.

Endpoint Response Payload Format

All endpoints return data in JSON format with the results of your query under data if the call is successful.

A Status object is always included for both successful calls and failures when possible. The Status object always includes the current time on the server when the call was executed as timestamp, the number of API call credits this call utilized as credit_count, and the number of milliseconds it took to process the request as elapsed. Any details about errors encountered can be found under the error_code and error_message. See Errors and Rate Limits for details on errors.

Code
{ "data" : { ... }, "status": { "timestamp": "2018-06-06T07:52:27.273Z", "error_code": 400, "error_message": "Invalid value for \"id\"", "elapsed": 0, "credit_count": 0 } }

Cryptocurrency, Exchange, and Fiat currency identifiers

  • Cryptocurrencies may be identified in endpoints using either the cryptocurrency's unique CoinMarketCap ID as id (eg. id=1 for Bitcoin) or the cryptocurrency's symbol (eg. symbol=BTC for Bitcoin). For a current list of supported cryptocurrencies use our /cryptocurrency/map call.
  • Exchanges may be identified in endpoints using either the exchange's unique CoinMarketCap ID as id (eg. id=270 for Binance) or the exchange's web slug (eg. slug=binance for Binance). For a current list of supported exchanges use our /exchange/map call.
  • All fiat currency options use the standard ISO 8601 currency code (eg. USD for the US Dollar). For a current list of supported fiat currencies use our /fiat/map endpoint. Unless otherwise stated, endpoints with fiat currency options like our convert parameter support these 93 major currency codes:
CurrencyCurrency CodeCoinMarketCap ID
United States Dollar ($)USD2781
Albanian Lek (L)ALL3526
Algerian Dinar (د.ج)DZD3537
Argentine Peso ($)ARS2821
Armenian Dram (֏)AMD3527
Australian Dollar ($)AUD2782
Azerbaijani Manat (₼)AZN3528
Bahraini Dinar (.د.ب)BHD3531
Bangladeshi Taka (৳)BDT3530
Belarusian Ruble (Br)BYN3533
Bermudan Dollar ($)BMD3532
Bolivian Boliviano (Bs.)BOB2832
Bosnia-Herzegovina Convertible Mark (KM)BAM3529
Brazilian Real (R$)BRL2783
Bulgarian Lev (лв)BGN2814
Cambodian Riel (៛)KHR3549
Canadian Dollar ($)CAD2784
Chilean Peso ($)CLP2786
Chinese Yuan (¥)CNY2787
Colombian Peso ($)COP2820
Costa Rican Colón (₡)CRC3534
Croatian Kuna (kn)HRK2815
Cuban Peso ($)CUP3535
Czech Koruna (Kč)CZK2788
Danish Krone (kr)DKK2789
Dominican Peso ($)DOP3536
Egyptian Pound (£)EGP3538
Euro (€)EUR2790
Georgian Lari (₾)GEL3539
Ghanaian Cedi (₵)GHS3540
Guatemalan Quetzal (Q)GTQ3541
Honduran Lempira (L)HNL3542
Hong Kong Dollar ($)HKD2792
Hungarian Forint (Ft)HUF2793
Icelandic Króna (kr)ISK2818
Indian Rupee (₹)INR2796
Indonesian Rupiah (Rp)IDR2794
Iranian Rial (﷼)IRR3544
Iraqi Dinar (ع.د)IQD3543
Israeli New Shekel (₪)ILS2795
Jamaican Dollar ($)JMD3545
Japanese Yen (¥)JPY2797
Jordanian Dinar (د.ا)JOD3546
Kazakhstani Tenge (₸)KZT3551
Kenyan Shilling (Sh)KES3547
Kuwaiti Dinar (د.ك)KWD3550
Kyrgystani Som (с)KGS3548
Lebanese Pound (ل.ل)LBP3552
Macedonian Denar (ден)MKD3556
Malaysian Ringgit (RM)MYR2800
Mauritian Rupee (₨)MUR2816
Mexican Peso ($)MXN2799
Moldovan Leu (L)MDL3555
Mongolian Tugrik (₮)MNT3558
Moroccan Dirham (د.م.)MAD3554
Myanma Kyat (Ks)MMK3557
Namibian Dollar ($)NAD3559
Nepalese Rupee (₨)NPR3561
New Taiwan Dollar (NT$)TWD2811
New Zealand Dollar ($)NZD2802
Nicaraguan Córdoba (C$)NIO3560
Nigerian Naira (₦)NGN2819
Norwegian Krone (kr)NOK2801
Omani Rial (ر.ع.)OMR3562
Pakistani Rupee (₨)PKR2804
Panamanian Balboa (B/.)PAB3563
Peruvian Sol (S/.)PEN2822
Philippine Peso (₱)PHP2803
Polish Złoty (zł)PLN2805
Pound Sterling (£)GBP2791
Qatari Rial (ر.ق)QAR3564
Romanian Leu (lei)RON2817
Russian Ruble (₽)RUB2806
Saudi Riyal (ر.س)SAR3566
Serbian Dinar (дин.)RSD3565
Singapore Dollar (S$)SGD2808
South African Rand (R)ZAR2812
South Korean Won (₩)KRW2798
South Sudanese Pound (£)SSP3567
Sovereign Bolivar (Bs.)VES3573
Sri Lankan Rupee (Rs)LKR3553
Swedish Krona ( kr)SEK2807
Swiss Franc (Fr)CHF2785
Thai Baht (฿)THB2809
Trinidad and Tobago Dollar ($)TTD3569
Tunisian Dinar (د.ت)TND3568
Turkish Lira (₺)TRY2810
Ugandan Shilling (Sh)UGX3570
Ukrainian Hryvnia (₴)UAH2824
United Arab Emirates Dirham (د.إ)AED2813
Uruguayan Peso ($)UYU3571
Uzbekistan Som (so'm)UZS3572
Vietnamese Dong (₫)VND2823

Along with these four precious metals:

Precious MetalCurrency CodeCoinMarketCap ID
Gold Troy OunceXAU3575
Silver Troy OunceXAG3574
Platinum OunceXPT3577
Palladium OunceXPD3576

Warning: Using CoinMarketCap IDs is always recommended as not all cryptocurrency symbols are unique. They can also change with a cryptocurrency rebrand. If a symbol is used the API will always default to the cryptocurrency with the highest market cap if there are multiple matches. Our convert parameter also defaults to fiat if a cryptocurrency symbol also matches a supported fiat currency. You may use the convenient /map endpoints to quickly find the corresponding CoinMarketCap ID for a cryptocurrency or exchange.

Bundling API Calls

  • Many endpoints support ID and crypto/fiat currency conversion bundling. This means you can pass multiple comma-separated values to an endpoint to query or convert several items at once. Check the id, symbol, slug, and convert query parameter descriptions in the endpoint documentation to see if this is supported for an endpoint.
  • Endpoints that support bundling return data as an object map instead of an array. Each key-value pair will use the identifier you passed in as the key.

For example, if you passed symbol=BTC,ETH to /v1/cryptocurrency/quotes/latest you would receive:

Code
"data" : { "BTC" : { ... }, "ETH" : { ... } }

Or if you passed id=1,1027 you would receive:

Code
"data" : { "1" : { ... }, "1027" : { ... } }

Price conversions that are returned inside endpoint responses behave in the same fashion. These are enclosed in a quote object.

Date and Time Formats

  • All endpoints that require date/time parameters allow timestamps to be passed in either ISO 8601 format (eg. 2018-06-06T01:46:40Z) or in Unix time (eg. 1528249600). Timestamps that are passed in ISO 8601 format support basic and extended notations; if a timezone is not included, UTC will be the default.
  • All timestamps returned in JSON payloads are returned in UTC time using human-readable ISO 8601 format which follows this pattern: yyyy-mm-ddThh:mm:ss.mmmZ. The final .mmm designates milliseconds. Per the ISO 8601 spec the final Z is a constant that represents UTC time.
  • Data is collected, recorded, and reported in UTC time unless otherwise specified.

Versioning

The CoinMarketCap API is versioned to guarantee new features and updates are non-breaking. The latest version of this API is /v1/.

Errors and Rate Limits

API Request Throttling

Use of the CoinMarketCap API is subject to API call rate limiting or "request throttling". This is the number of HTTP calls that can be made simultaneously or within the same minute with your API Key before receiving an HTTP 429 "Too Many Requests" throttling error. This limit scales with the usage tier and resets every 60 seconds. Please review our Best Practices for implementation strategies that work well with rate limiting.

HTTP Status Codes

The API uses standard HTTP status codes to indicate the success or failure of an API call.

  • 400 (Bad Request) The server could not process the request, likely due to an invalid argument.
  • 401 (Unauthorized) Your request lacks valid authentication credentials, likely an issue with your API Key.
  • 402 (Payment Required) Your API request was rejected due to it being a paid subscription plan with an overdue balance. Pay the balance in the Developer Portal billing tab and it will be enabled.
  • 403 (Forbidden) Your request was rejected due to a permission issue, likely a restriction on the API Key's associated service plan. Here is a convenient map of service plans to endpoints.
  • 429 (Too Many Requests) The API Key's rate limit was exceeded; consider slowing down your API Request frequency if this is an HTTP request throttling error. Consider upgrading your service plan if you have reached your monthly API call credit limit for the day/month.
  • 500 (Internal Server Error) An unexpected server issue was encountered.

Error Response Codes

A Status object is always included in the JSON response payload for both successful calls and failures when possible. During error scenarios you may reference the error_code and error_message properties of the Status object. One of the API error codes below will be returned if applicable otherwise the HTTP status code for the general error type is returned.

HTTP StatusError CodeError Message
4011001 [API_KEY_INVALID]This API Key is invalid.
4011002 [API_KEY_MISSING]API key missing.
4021003 [API_KEY_PLAN_REQUIRES_PAYEMENT]Your API Key must be activated. Please go to pro.coinmarketcap.com/account/plan.
4021004 [API_KEY_PLAN_PAYMENT_EXPIRED]Your API Key's subscription plan has expired.
4031005 [API_KEY_REQUIRED]An API Key is required for this call.
4031006 [API_KEY_PLAN_NOT_AUTHORIZED]Your API Key subscription plan doesn't support this endpoint.
4031007 [API_KEY_DISABLED]This API Key has been disabled. Please contact support.
4291008 [API_KEY_PLAN_MINUTE_RATE_LIMIT_REACHED]You've exceeded your API Key's HTTP request rate limit. Rate limits reset every minute.
4291009 [API_KEY_PLAN_DAILY_RATE_LIMIT_REACHED]You've exceeded your API Key's daily rate limit.
4291010 [API_KEY_PLAN_MONTHLY_RATE_LIMIT_REACHED]You've exceeded your API Key's monthly rate limit.
4291011 [IP_RATE_LIMIT_REACHED]You've hit an IP rate limit.

Best Practices

This section contains a few recommendations on how to efficiently utilize the CoinMarketCap API for your enterprise application, particularly if you already have a large base of users for your application.

Use CoinMarketCap ID Instead of Cryptocurrency Symbol

Utilizing common cryptocurrency symbols to reference cryptocurrencies on the API is easy and convenient but brittle. You should know that many cryptocurrencies have the same symbol, for example, there are currently three cryptocurrencies that commonly refer to themselves by the symbol HOT. Cryptocurrency symbols also often change with cryptocurrency rebrands. When fetching cryptocurrency by a symbol that matches several active cryptocurrencies we return the one with the highest market cap at the time of the query. To ensure you always target the cryptocurrency you expect, use our permanent CoinMarketCap IDs. These IDs are used reliably by numerous mission critical platforms and never change.

We make fetching a map of all active cryptocurrencies' CoinMarketCap IDs very easy. Just call our /cryptocurrency/map endpoint to receive a list of all active currencies mapped to the unique id property. This map also includes other typical identifiying properties like name, symbol and platform token_address that can be cross referenced. In cryptocurrency calls you would then send, for example id=1027, instead of symbol=ETH. It's strongly recommended that any production code utilize these IDs for cryptocurrencies, exchanges, and markets to future-proof your code.

Use the Right Endpoints for the Job

You may have noticed that /cryptocurrency/listings/latest and /cryptocurrency/quotes/latest return the same crypto data but in different formats. This is because the former is for requesting paginated and ordered lists of all cryptocurrencies while the latter is for selectively requesting only the specific cryptocurrencies you require. Many endpoints follow this pattern, allow the design of these endpoints to work for you!

Implement a Caching Strategy If Needed

There are standard legal data safeguards built into the Commercial User Terms that application developers should keep in mind. These Terms help prevent unauthorized scraping and redistributing of CMC data but are intentionally worded to allow legitimate local caching of market data to support the operation of your application. If your application has a significant user base and you are concerned with staying within the call credit and API throttling limits of your subscription plan consider implementing a data caching strategy.

For example instead of making a /cryptocurrency/quotes/latest call every time one of your application's users needs to fetch market rates for specific cryptocurrencies, you could pre-fetch and cache the latest market data for every cryptocurrency in your application's local database every 60 seconds. This would only require 1 API call, /cryptocurrency/listings/latest?limit=5000, every 60 seconds. Then, anytime one of your application's users need to load a custom list of cryptocurrencies you could simply pull this latest market data from your local cache without the overhead of additional calls. This kind of optimization is practical for customers with large, demanding user bases.

Code Defensively to Ensure a Robust REST API Integration

Whenever implementing any high availability REST API service for mission critical operations it's recommended to code defensively. Since the API is versioned, any breaking request or response format change would only be introduced through new versions of each endpoint, however existing endpoints may still introduce new convenience properties over time.

We suggest these best practices:

  • You should parse the API response JSON as JSON and not through a regular expression or other means to avoid brittle parsing logic.
  • Your parsing code should explicitly parse only the response properties you require to guarantee new fields that may be returned in the future are ignored.
  • You should add robust field validation to your response parsing logic. You can wrap complex field parsing, like dates, in try/catch statements to minimize the impact of unexpected parsing issues (like the unlikely return of a null value).
  • Implement a "Retry with exponential backoff" coding pattern for your REST API call logic. This means if your HTTP request happens to get rate limited (HTTP 429) or encounters an unexpected server-side condition (HTTP 5xx) your code would automatically recover and try again using an intelligent recovery scheme. You may use one of the many libraries available; for example, this one for Node or this one for Python.

Reach Out and Upgrade Your Plan

If you're uncertain how to best implement the CoinMarketCap API in your application or your needs outgrow our current self-serve subscription tiers you can reach out to api@coinmarketcap.com. We'll review your needs and budget and may be able to tailor a custom enterprise plan that is right for you.

Version History

The CoinMarketCap API utilizes Semantic Versioning in the format major.minor.patch. The current major version is incorporated into the API request path as /v1/. Non-breaking minor and patch updates to the API are released regularly. These may include new endpoints, data points, and API plan features which are always introduced in a non-breaking manner. This means you can expect new properties to become available in our existing /v1/ endpoints however any breaking change will be introduced under a new major version of the API with legacy versions supported indefinitely unless otherwise stated.

You can subscribe to our API Newsletter to get monthly email updates on CoinMarketCap API enhancements.

v2.0.10 on Oct 14, 2024

  • /v3/fear-and-greed/latest and /v3/fear-and-greed/historical now available to get CMC Fear and Greed Index

v2.0.9 on June 1, 2023

  • /v1/community/trending/topic now available to get community trending topics.
  • /v1/community/trending/token now available to get community trending tokens.

v2.0.8 on November 25, 2022

  • /v1/exchange/assets now available to get exchange assets in the form of token holdings.

v2.0.7 on September 19, 2022

  • /v1/content/posts/top now available to get cryptocurrency-related top posts.
  • /v1/content/posts/latest now available to get cryptocurrency-related latest posts.
  • /v1/content/posts/comments now available to get comments of the post.

v2.0.6 on Augest 18, 2022

  • /v1/content/latest now available to get news/headlines and Alexandria articles.

v2.0.5 on Augest 4, 2022

  • /v1/tools/postman now API postman collection is available.

v2.0.4 on October 11, 2021

  • /v1/cryptocurrency/listings/latest now includes volume_change_24h.
  • /v2/cryptocurrency/quotes/latest now includes volume_change_24h.

v2.0.3 on October 6, 2021

  • /v1/cryptocurrency/trending/latest now supports time_period as an optional parameter.

v2.0.2 on September 13, 2021

  • /exchange/map now available to Free tier users.
  • /exchange/info now available to Free tier users.

v2.0.1 on September 8, 2021

  • /exchange/market-pairs/latest now includes volume_24h, depth_negative_two, depth_positive_two and volume_percentage.
  • /exchange/listings/latest now includes open_interest.

v2.0.0 on August 17, 2021

  • By popular request we have added a number of new useful endpoints !
  • /v1/cryptocurrency/categories can be used to access a list of categories and their associated coins. You can also filter the list of categories by one or more cryptocurrencies.
  • /v1/cryptocurrency/category can be used to load only a single category of coins, listing the coins within that category.
  • /v1/cryptocurrency/airdrops can be used to access a list of CoinMarketCap’s free airdrops. This defaults to a status of ONGOING but can be filtered to UPCOMING or ENDED. You can also query for a list of airdrops by cryptocurrency.
  • /v1/cryptocurrency/airdrop can be used to load a single airdrop and its associated cryptocurrency.
  • /v1/cryptocurrency/trending/latest can be used to load the most searched for cryptocurrencies within a period of time. This defaults to a time_period of the previous 24h, but can be changed to 30d, or 7d for a larger window of time.
  • /v1/cryptocurrency/trending/most-visited can be used to load the most visited cryptocurrencies within a period of time. This defaults to a time_period of the previous 24h, but can be changed to 30d, or 7d for a larger window of time.
  • /v1/cryptocurrency/trending/gainers-losers can be used to load the biggest gainers & losers within a period of time. This defaults to a time_period of the previous 24h, but can be changed to 30d, or 7d for a larger window of time.

v1.28.0 on August 9, 2021

  • /v1/cryptocurrency/listings/latest now includes market_cap_dominance and fully_diluted_market_cap.
  • /v1/cryptocurrency/quotes/latest now includes market_cap_dominance and fully_diluted_market_cap.

v1.27.0 on January 27, 2021

  • /v2/cryptocurrency/info response format changed to allow for multiple coins per symbol.
  • /v2/cryptocurrency/market-pairs/latest response format changed to allow for multiple coins per symbol.
  • /v2/cryptocurrency/quotes/historical response format changed to allow for multiple coins per symbol.
  • /v2/cryptocurrency/ohlcv/historical response format changed to allow for multiple coins per symbol.
  • /v2/tools/price-conversion response format changed to allow for multiple coins per symbol.
  • /v2/cryptocurrency/ohlcv/latest response format changed to allow for multiple coins per symbol.
  • /v2/cryptocurrency/price-performance-stats/latest response format changed to allow for multiple coins per symbol.

v1.26.0 on January 21, 2021

  • /v2/cryptocurrency/quotes/latest response format changed to allow for multiple coins per symbol.

v1.25.0 on April 17, 2020

  • /v1.1/cryptocurrency/listings/latest now includes a more robust tags response with slug, name, and category.
  • /cryptocurrency/quotes/historical and /cryptocurrency/quotes/latest now include is_active and is_fiat in the response.

v1.24.0 on Feb 24, 2020

  • /cryptocurrency/ohlcv/historical has been modified to include the high and low timestamps.
  • /exchange/market-pairs/latest now includes category and fee_type market pair filtering options.
  • /cryptocurrency/listings/latest now includes category and fee_type market pair filtering options.

v1.23.0 on Feb 3, 2020

  • /fiat/map is now available to fetch the latest mapping of supported fiat currencies to CMC IDs.
  • /exchange/market-pairs/latest now includes matched_id and matched_symbol market pair filtering options.
  • /cryptocurrency/listings/latest now provides filter parameters price_min, price_max, market_cap_min, market_cap_max, percent_change_24h_min, percent_change_24h_max, volume_24h_max, circulating_supply_min and circulating_supply_max in addition to the existing volume_24h_min filter.

v1.22.0 on Oct 16, 2019

  • /global-metrics/quotes/latest now additionally returns total_cryptocurrencies and total_exchanges counts which include inactive projects who's data is still available via API.

v1.21.0 on Oct 1, 2019

  • /exchange/map now includes sort options including volume_24h.
  • /cryptocurrency/map fix for a scenario where first_historical_data and last_historical_data may not be populated.
  • Additional improvements to alphanumeric sorts.

v1.20.0 on Sep 25, 2019

  • By popular request you may now configure API plan usage notifications and email alerts in the Developer Portal.
  • /cryptocurrency/map now includes sort options including cmc_rank.

v1.19.0 on Sep 19, 2019

  • A new /blockchain/ category of endpoints is now available with the introduction of our new /v1/blockchain/statistics/latest endpoint. This endpoint can be used to poll blockchain statistics data as seen in our Blockchain Explorer.
  • Additional platform error codes are now surfaced during HTTP Status Code 401, 402, 403, and 429 scenarios as documented in Errors and Rate Limits.
  • OHLCV endpoints using the convert option now match historical UTC open period exchange rates with greater accuracy.
  • /cryptocurrency/info and /exchange/info now include the optional aux parameter where listing status can be requested in the list of supplemental properties.
  • /cryptocurrency/listings/latest and /cryptocurrency/quotes/latest: The accuracy of percent_change_ conversions was improved when passing non-USD fiat convert options.
  • /cryptocurrency/ohlcv/historical and /cryptocurrency/quotes/latest now support relaxed request validation rules via the skip_invalid request parameter.
  • We also now return a helpful notice warning when API key usage is above 95% of daily and monthly API credit usage limits.

v1.18.0 on Aug 28, 2019

  • /key/info has been added as a new endpoint. It may be used programmatically monitor your key usage compared to the rate limit and daily/monthly credit limits available to your API plan as an alternative to using the Developer Portal Dashboard.
  • /cryptocurrency/quotes/historical and /v1/global-metrics/quotes/historical have new options to make charting tasks easier and more efficient. Use the new aux parameter to cut out response properties you don't need and include the new search_interval timestamp to normalize disparate historical records against the same interval time periods.
  • A 4 hour interval option 4h was added to all historical time series data endpoints.

v1.17.0 on Aug 22, 2019

  • /cryptocurrency/price-performance-stats/latest has been added as our 21st endpoint! It returns launch price ROI, all-time high / all-time low, and other price stats over several supported time periods.
  • /cryptocurrency/market-pairs/latest now has the ability to filter all active markets for a cryptocurrency to specific base/quote pairs. Want to return only BTC/USD and BTC/USDT markets? Just pass ?symbol=BTC&matched_symbol=USD,USDT or ?id=1&matched_id=2781,825.
  • /cryptocurrency/market-pairs/latest now features sort options including cmc_rank to reproduce the methodology based sort on pages like Bitcoin Markets.
  • /cryptocurrency/market-pairs/latest can now return any exchange level CMC notices affecting a market via the new notice aux parameter.
  • /cryptocurrency/quotes/latest will now continue to return the last updated price data for cryptocurrency that have transitioned to an inactive state instead of returning an HTTP 400 error. These active coins that have gone inactive can easily be identified as having a num_market_pairs of 0 and a stale last_updated date.
  • /exchange/info now includes a brief text summary for most exchanges as description.

v1.16.0 on Aug 9, 2019

  • We've introduced a new partners category of endpoints for convenient access to 3rd party crypto data. FlipSide Crypto's Fundamental Crypto Asset Score (FCAS) is now available as the first partner integration.
  • /cryptocurrency/listings/latest now provides a volume_24h_min filter parameter. It can be used when a threshold of volume is required like in our Biggest Gainers and Losers lists.
  • /cryptocurrency/listings/latest and /cryptocurrency/quotes/latest can now return rolling volume_7d and volume_30d via the supplemental aux parameter and sort options by these fields.
  • volume_24h_reported, volume_7d_reported, volume_30d_reported, and market_cap_by_total_supply are also now available through the aux parameter with an additional sort option for the latter.
  • /cryptocurrency/market-pairs/latest can now provide market price relative to the quote currency. Just pass price_quote to the supplemental aux parameter. This can be used to display consistent price data for a cryptocurrency across several markets no matter if it is the base or quote in each pair as seen in our Bitcoin markets price column.
  • When requesting a custom sort on our list based endpoints, numeric fields like percent_change_7d now conveniently return non-applicable null values last regardless of sort order.

v1.15.0 on Jul 10, 2019

  • /cryptocurrency/map and /v1/exchange/map now expose a 3rd listing state of untracked between active and inactive as outlined in our methodology. See endpoint documentation for additional details.
  • /cryptocurrency/quotes/historical, /cryptocurrency/ohlcv/historical, and /exchange/quotes/latest now support fetching multiple cryptocurrencies and exchanges in the same call.
  • /global-metrics/quotes/latest now updates more frequently, every minute. It aslo now includes total_volume_24h_reported, altcoin_volume_24h, altcoin_volume_24h_reported, and altcoin_market_cap.
  • /global-metrics/quotes/historical also includes these new dimensions along with historical active_cryptocurrencies, active_exchanges, and active_market_pairs counts.
  • We've also added a new aux auxiliary parameter to many endpoints which can be used to customize your request. You may request new supplemental data properties that are not returned by default or slim down your response payload by excluding default aux fields you don't need in endpoints like /cryptocurrency/listings/latest. /cryptocurrency/market-pairs/latest and /exchange/market-pairs/latest can now supply market_url, currency_name, and currency_slug for each market using this new parameter. /exchange/listings/latest can now include the exchange date_launched.

v1.14.1 on Jun 14, 2019 - DATA: Phase 1 methodology updates

Per our May 1 announcement of the Data Accountability & Transparency Alliance (DATA), a platform methodology update was published. No API changes are required but users should take note:

  • Exchanges that are not compliant with mandatory transparency requirements (Ability to surface live trade and order book data) will be excluded from VWAP price and volume calculations returned from our /cryptocurrency/ and /global-metrics/ endpoints going forward.
  • These exchanges will also return a volume_24h_adjusted value of 0 from our /exchange/ endpoints like the exclusions based on market category and fee type. Stale markets (24h or older) will also be excluded. All exchanges will continue to return exchange_reported values as reported.
  • We welcome you to learn more about the DATA alliance and become a partner.

v1.14.0 on Jun 3, 2019

  • /cryptocurrency/info now include up to 5 block explorer URLs for each cryptocurrency including our brand new Bitcoin and Ethereum Explorers.
  • /cryptocurrency/info now provides links to most cryptocurrency white papers and technical documentation! Just reference the technical_doc array.
  • /cryptocurrency/info now returns a notice property that may highlight a significant event or condition that is impacting the cryptocurrency or how it is displayed. See the endpoint property description for more details.
  • /exchange/info also includes a notice property. This one may highlight a condition that is impacting the availability of an exchange's market data or the use of the exchange. See the endpoint property description for more details.
  • /exchange/info now includes the official launch date for each exchange as date_launched.
  • /cryptocurrency/market-pairs/latest and /exchange/market-pairs/latest now include market category (Spot, Derivatives, or OTC) and fee_type (Percentage, No Fees, Transactional Mining, or Unknown) for every market returned.
  • /cryptocurrency/market-pairs/latest now supports querying by cryptocurrency slug.
  • /cryptocurrency/listings/latest now includes a market_cap_strict sort option to apply a strict numeric sort on this field.

v1.13.0 on May 17, 2019

  • You may now leverage CoinMarketCap IDs for currency quote conversions across all endpoints! Just utilize the new convert_id parameter instead of the convert parameter. Learn more about creating robust integrations with CMC IDs in our Best Practices.
  • We've updated requesting cryptocurrencies by slug to support legacy names from past cryptocurrency rebrands. For example, a request to /cryptocurrency/quotes/latest?slug=antshares successfully returns the cryptocurrency by current slug neo.
  • We've extended the brief text summary included as description in /cryptocurrency/info to now cover all cryptocurrencies!
  • We've added the fetch-by-slug option to /cryptocurrency/ohlcv/historical.
  • Premium subscription users: On your next billing period we'll conveniently switch to displaying monthly/daily credit usage relative to your monthly billing period instead of calendar month and UTC midnight. Click the ? on our updated API Key Usage panel for more details.

v1.12.1 on May 1, 2019

  • To celebrate CoinMarketCap's 6th anniversary we've upgraded the crypto API to make more of our data available at each tier!
  • Our free Basic tier may now access live price conversions via /tools/price-conversion.
  • Our Hobbyist tier now supports a month of historical price conversions with /tools/price-conversion using the time parameter. We've also made this plan 12% cheaper at $29/mo with a yearly subscription or $35/mo month-to-month.
  • Our Startup tier can now access a month of cryptocurrency OHLCV data via /cryptocurrency/ohlcv/historical along with /tools/price-conversion.
  • Our Standard tier has been upgraded from 1 month to now 3 months of historical market data access across all historical endpoints.
  • Our Enterprise, Professional, and Standard tiers now get access to a new #18th endpoint /cryptocurrency/listings/historical! Utilize this endpoint to fetch daily historical crypto rankings from the past. We've made historical ranking snapshots available all the way back to 2013!
  • All existing accounts and subscribers may take advantage of these updates. If you haven't signed up yet you can check out our updated plans on our feature comparison page.

v1.12.0 on Apr 28, 2019

  • Our API docs now supply API request examples in 7 languages for every endpoint: cURL, Node.js, Python, PHP, Java, C#, and Go.
  • Many customer sites format cryptocurrency data page URLs by SEO friendly names like we do here: coinmarketcap.com/currencies/binance-coin. We've made it much easier for these kinds of pages to dynamically reference data from our API. You may now request cryptocurrencies from our /cryptocurrency/info and /cryptocurrency/quotes/latest endpoints by slug as an alternative to symbol or id. As always, you can retrieve a quick list of every cryptocurrency we support and it's id, symbol, and slug via our /cryptocurrency/map endpoint.
  • We've increased convert limits on historical endpoints once more. You can now request historical market data in up to 3 conversion options at a time like we do internally to display line charts like this. You can now fetch market data converted into your primary cryptocurrency, fiat currency, and a parent platform cryptocurrency (Ethereum in this case) all in one call!

v1.11.0 on Mar 25, 2019

  • We now supply a brief text summary for each cryptocurrency in the description field of /cryptocurrency/info. The majority of top cryptocurrencies include this field with more coming in the future.
  • We've made convert limits on some endpoints and plans more flexible. Historical endpoints are now allowed 2 price conversion options instead of 1. Professional plan convert limit has doubled from 40 to 80. Enterprise has tripled from 40 to 120.
  • CoinMarketCap Market ID: We now return market_id in /market-pairs/latest endpoints. Like our cryptocurrency and exchange IDs, this ID can reliably be used to uniquely identify each market permanently as this ID never changes.
  • Market symbol overrides: We now supply an exchange_symbol in addition to currency_symbol for each market pair returned in our /market-pairs/latest endpoints. This allows you to reference the currency symbol provided by the exchange in case it differs from the CoinMarketCap identified symbol that the majority of markets use.

v1.10.1 on Jan 30, 2019

  • Our API health status dashboard is now public at http://status.coinmarketcap.com.
  • We now conveniently return market_cap in our /cryptocurrency/ohlcv/historical endpoint so you don't have to make a separately query when fetching historic OHLCV data.
  • We've improved the accuracy of percent_change_1h / 24h / 7d calculations when using the convert option with our latest cryptocurrency endpoints.
  • /cryptocurrency/market-pairs/latest now updates more frequently, every 1 minute.
  • Contract Address and parent platform metadata changes are reflected on the API much more quickly.

v1.9.0 on Jan 8, 2019

  • Did you know there are currently 684 active USD market pairs tracked by CoinMarketCap? You can now pass any fiat CoinMarketCap ID to the /cryptocurrency/market-pairs/latest id parameter to list all active markets across all exchanges for a given fiat currency.
  • We've added a new dedicated migration FAQ page for users migrating from our old Public API to the new API here. It includes a helpful tutorial link for Excel and Google Sheets users who need help migrating.
  • Cryptocurrency and exchange symbol and name rebrands are now reflected in the API much more quickly.

v1.8.0 on Dec 27, 2018

  • We now supply the contract address for all cryptocurrencies on token platforms like Ethereum! Look for token_address in the platform property of our cryptocurrency endpoints like /cryptocurrency/map and /cryptocurrency/listings/latest.
  • All 96 non-USD fiat conversion rates now update every 1 minute like our USD rates! This includes using the convert option for all /latest market data endpoints as well as our /tools/price-conversion endpoint.

v1.7.0 on Dec 18, 2018

  • We've upgraded our fiat (government) currency conversion support from our original 32 to now cover 93 fiat currencies!
  • We've also introduced currency conversions for four precious metals: Gold, Silver, Platinum, and Palladium!
  • You may pass all 97 fiat currency options to our /tools/price-conversion endpoint using either the symbol or id parameter. Using CMC id is always the most robust option. CMC IDs are now included in the full list of fiat options located here.
  • All historical endpoints including our price conversion endpoint with "time" parameter now support historical fiat conversions back to 2013!

v1.6.0 on Dec 4, 2018

  • We've rolled out another top requested feature, giving you access to platform metadata for cryptocurrencies that are tokens built on other cryptocurrencies like Ethereum. Look for the new platform property on our cryptocurrency endpoints like /cryptocurrency/listings/latest and /cryptocurrency/map.
  • We've also added a CMC equivalent pages section to our endpoint docs so you can easily determine which endpoints to use to reproduce functionality on the main coinmarketcap.com website.
  • Welcome Public API users! With the migration of our legacy Public API into the Professional API we now have 1 unified API at CMC. This API is now known as the CoinMarketCap API and can always be accessed at coinmarketcap.com/api.

v1.5.0 on Nov 28, 2018

  • /cryptocurrency/ohlcv/historical now supports hourly OHLCV! Use time_period="hourly" and don't forget to set the "interval" parameter to "hourly" or one of the new hourly interval options.
  • /tools/price-conversion now supports historical USD conversions.
  • We've increased the minute based rate limits for several plans. Standard plan has been upgraded from 30 to 60 calls per minute. Professional from 60 to 90. Enterprise from 90 to 120.
  • We now include some customer and data partner logos and testimonials on the CoinMarketCap API site. Visit pro.coinmarketcap.com to check out what our enterprise customers are saying and contact us at api@coinmarketcap.com if you'd like to get added to the list!

v1.4.0 on Nov 20, 2018

  • /tools/price-conversion can now provide the latest crypto-to-crypto conversions at 1 minute accuracy with extended decimal precision upwards of 8 decimal places.
  • /tools/price-conversion now supports historical crypto-to-crypto conversions leveraging our closest averages to the specified "time" parameter.
  • All of our historical data endpoints now support historical cryptocurrency conversions using the "convert" parameter. The closest reference price for each "convert" option against each historical datapoint is used for each conversion.
  • /global-metrics/quotes/historical now supports the "convert" parameter.

v1.3.0 on Nov 9, 2018

  • The latest UTC day's OHLCV record is now available sooner. 5-10 minutes after each UTC midnight.
  • We're now returning a new vol_24h_adjusted property on /exchange/quotes/latest and /exchange/listings/latest and a sort option for the latter so you may now list exchange rankings by CMC adjusted volume as well as exchange reported.
  • We are now returning a tags property with /cryptocurrency/listings/latest with our first tag mineable so you know which currencies are mineable. Additional tags will be introduced in the future.
  • We've increased the "convert" parameter limit from 32 to 40 for plans that support max conversion limits.

v1.2.0 on Oct 30, 2018

  • Our exchange listing and quotes endpoints now update much more frequently! Every 1 minute instead of every 5 minutes.
  • These latest exchange data endpoints also now return volume_7d / 30d and percent_change_volume_24h / 7d / 30d along with existing data.
  • We've updated our documentation for /exchange/market-pairs/latest to reflect that it receives updates every 1 minute, not 5, since June.

v1.1.4 on Oct 19, 2018

  • We've improved our tiered support inboxes by plan type to answer support requests even faster.
  • You may now opt-in to our API mailing list on signup. If you haven't signed up you can here.

v1.1.3 on Oct 12, 2018

  • We've increased the rate limit of our free Basic plan from 10 calls a minute to 30.
  • We've increased the rate limit of our Hobbyist plan from 15 to 30.

v1.1.2 on Oct 5, 2018

  • We've updated our most popular /cryptocurrency/listings/latest endpoint to cost 1 credit per 200 data points instead of 100 to give customers more flexibility.
  • By popular request we've introduced a new $33 personal use Hobbyist tier with access to our currency conversion calculator endpoint.
  • Our existing commercial use Hobbyist tier has been renamed to Startup. Our free Starter tier has been renamed to Basic.

v1.1.1 on Sept 28, 2018

  • We've increased our monthly credit limits for our smaller plans! Existing customers plans have also been updated.
  • Our free Starter plan has been upgraded from 6 to 10k monthly credits (66% increase).
  • Our Hobbyist plan has been upgraded from 60k to 120k monthly credits (100% increase).
  • Our Standard plan has been upgraded from 300 to 500k monthly credits (66% increase).

v1.1.0 on Sept 14, 2018

  • We've introduced our first new endpoint since rollout, active day OHLCV for Standard plan and above with /v1/cryptocurrency/ohlcv/latest

v1.0.4 on Sept 7, 2018

  • Subscription customers with billing renewal issues now receive an alert from our API during usage and an unpublished grace period before access is restricted.
  • API Documentation has been improved including an outline of credit usage cost outlined on each endpoint documentation page.

v1.0.3 on Aug 24, 2018

  • /v1/tools/price-conversion floating point conversion accuracy was improved.
  • Added ability to query for non-alphanumeric crypto symbols like $PAC
  • Customers may now update their billing card on file with an active Stripe subscription at pro.coinmarketcap.com/account/plan
Tags
Cryptocurrency
API endpoints for cryptocurrencies. This category currently includes 19 endpoints:
  • /v1/cryptocurrency/map - CoinMarketCap ID map
  • /v2/cryptocurrency/info - Metadata
  • /v1/cryptocurrency/listings/latest - Latest listings (Deprecating on 31 March)
  • /v3/cryptocurrency/listings/latest - Latest listings
  • /v1/cryptocurrency/listings/historical - Historical listings
  • /v2/cryptocurrency/quotes/latest - Latest quotes (Deprecating on 31 March)
  • /v3/cryptocurrency/quotes/latest - Latest quotes
  • /v2/cryptocurrency/quotes/historical - Historical quotes
  • /v2/cryptocurrency/market-pairs/latest - Latest market pairs
  • /v2/cryptocurrency/ohlcv/latest - Latest OHLCV
  • /v2/cryptocurrency/ohlcv/historical - Historical OHLCV
  • /v2/cryptocurrency/price-performance-stats/latest - Price performance Stats
  • /v1/cryptocurrency/categories - Categories
  • /v1/cryptocurrency/category - Category
  • /v1/cryptocurrency/airdrops - Airdrops
  • /v1/cryptocurrency/airdrop - Airdrop
  • /v1/cryptocurrency/trending/latest - Trending Latest
  • /v1/cryptocurrency/trending/most-visited - Trending Most Visited
  • /v1/cryptocurrency/trending/gainers-losers - Trending Gainers & Losers
Exchange
API endpoints for cryptocurrency exchanges. This category currently includes 7 endpoints:
  • /v1/exchange/map - CoinMarketCap ID map
  • /v1/exchange/info - Metadata
  • /v1/exchange/listings/latest - Latest listings
  • /v1/exchange/quotes/latest - Latest quotes
  • /v1/exchange/quotes/historical - Historical quotes
  • /v1/exchange/market-pairs/latest - Latest market pairs
  • /v1/exchange/assets - Exchange Assets
Global Metrics
API endpoints for global aggregate market data. This category currently includes 2 endpoints:
  • /v1/global-metrics/quotes/latest - Latest global metrics
  • /v1/global-metrics/quotes/historical - Historical global metrics
Content
API endpoints for content data. This category currently includes 4 endpoints:
  • /v1/content/latest - Content latest
  • /v1/content/posts/top - Content top posts
  • /v1/content/posts/latest - Content latest posts
  • /v1/content/posts/comments - Content post comments
Community
API endpoints for community data. This category currently includes 2 endpoints:
  • /v1/community/trending/topic - Community Trending Topics
  • /v1/community/trending/token - Community Trending Tokens
CMC Index
CoinMarketCap market indices including CMC100 and CMC20.
Token
The Dex Data API has been upgraded to deliver comprehensive multi-market dex trading and on-chain data, including token information, transaction data, security metrics, K-line (candlestick) data, related pool information, and featured ranking data. It covers data from hundreds of DEXs across multiple blockchain ecosystems such as Ethereum, Solana, and BNB Chain (BSC), with standardized data parsing and processing. Developers can leverage this unified API to access both real-time and historical data for use cases including strategy backtesting, market monitoring, and analytics. This category currently includes 20 endpoint:
  • /v4/dex/spot-pairs/latest
    • Cache / Update frequency: Every 30 seconds.
      Plan credit use: 1 API call credit per request no matter query size.
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v4/dex/pairs/quotes/latest
    • Cache / Update frequency: Every 30 seconds.
      Plan credit use: 1 API call credit per request no matter query size.
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/k-line/points
    • Cache / Update frequency: Every 15 seconds.
      Plan credit use: 1 call credit per 100 k-line data points returned (rounded up)
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/k-line/candles
    • Cache / Update frequency: Every 15 seconds.
      Plan credit use: 1 call credit per 100 k-line candles returned (rounded up)
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/tokens/trending/list
    • Cache / Update frequency: Every 30 seconds.
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages:
      https://dex.coinmarketcap.com/token/all/?tableRankBy=trending_24h
  • /v1/dex/tokens/batch-query
    • Cache / Update frequency: Every 10 seconds.
      Plan credit use: 1 call credit per 100 tokens returned (rounded up)
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/token/price/batch
    • Cache / Update frequency: Every 10 seconds.
      Plan credit use: 1 call credit per 100 tokens returned (rounded up)
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/new/list
    • Cache / Update frequency: Every 10 seconds.
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages: https://dex.coinmarketcap.com/token/all/?tableRankBy=new_24h
  • /v1/dex/meme/list
    • Cache / Update frequency: Every 1 minute
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages: https://dex.coinmarketcap.com/meme/four.meme
  • /v1/dex/gainer-loser/list
    • Cache / Update frequency: Every 1 minute.
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages: https://dex.coinmarketcap.com/token/all/?tableRankBy=gainers_24h
  • /v1/dex/token
    • Cache / Update frequency: Every 10 seconds.
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/token/price
    • Cache / Update frequency: Every 10 seconds.
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/token/pools
    • Cache / Update frequency: Every 10 minutes.
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/token-liquidity/query
    • Cache / Update frequency: Every 1 minute.
      Plan credit use: 1 call credit per 100 tokens returned (rounded up)
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/tokens/transactions
    • Cache / Update frequency: Every 10 seconds.
      Plan credit use: 1 call credit per 100 tokens returned (rounded up)
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/security/detail
    • Cache / Update frequency: Every 90 seconds.
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages: Security section on token detail page like https://dex.coinmarketcap.com/token/solana/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/
  • /v1/dex/search
    • Cache / Update frequency: Every 2 minutes.
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/platform/list
    • Cache / Update frequency: Every 1 minute.
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/platform/detail
    • Cache / Update frequency: Every 1 minute.
      Plan credit use: 1 API call credit per request.
      CMC equivalent pages: No equivalent, this data is only available via API.
  • /v1/dex/liquidity-change/list
    • Cache / Update frequency: Every 10 seconds.
      Plan credit use: 1 call credit per 100 tokens returned (rounded up)
      CMC equivalent pages: Liquidity changes tab underneath liquidity tab on page like https://dex.coinmarketcap.com/token/solana/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/
Platform
DEX platform and network information.
Holder
Token holder analytics and distribution data.
OHLCV
K-line candlestick and OHLCV price data for DEX pairs.
Others
Additional DEX endpoints including trade data and blockchain statistics.
Tools
API endpoints for convenience utilities. This category currently includes 1 endpoint:
  • /v2/tools/price-conversion - Price conversion tool
  • /v1/tools/postman - Postman tool
Deprecated
Deprecated (V1) Endpoints
These endpoints have been replaced with their V2 versions, and are no longer being actively supported. We strongly suggest migrating to V2 endpoints, and this documentation only exists for legacy purposes.
Schemas
assetsstatuscointagsplatformself_reported_tagswebsitetechnical_docexplorersource_codemessage_boardchatannouncementreddittwitterdatablogfeeplancurrent_minutecurrent_daycurrent_monthusageownerphotoscurrencieslistDqueryMarketRequestDTOLeaderboardFilterDTORangeFilterDtoDexTokenSignalDTOTokenLeaderboardDTOTokenStatsDTOTrendingTokensResponseDTODqueryBatchTokenRequestDTOCryptoCurrencyExchangeDTOTokenTokenDetailDTOTokenTopPoolDTODqueryBatchPriceRequestDTOPlatformAddressTokenPriceDTONewTokenLeaderBoardResponseDTODqueryMemeRequestDTOMemeCoinFilterDTOMemeCoinResponseDTOMemeCoinResultDTOGainerLeaderBoardResponseDTOGlobalMetricsBatchRequestDTOGlobalMetricsQuoteDTOExchangeBatchRequestDTOExchangeQuoteDTOSnapshotBatchQueryRequestDTOCryptoSnapshotDTOCommonBatchRequestDTOCryptoQuoteDTOOhlcvBatchRequestDTOCryptoOhlcvQuoteDTOApiResponseObjectResponseStatusDexQuoteDTODexSpotPairDTOSecurityScan3rdResultSecurityScanAggregatedResultSecurityScanResultDexPairsTradeDTODexTransactionDTODexTransactionQuoteDTODexParisQuotesDTODexOhlcvQuoteDexPairsOhlcvDTODexPairsOhlcvHistoricalDTODexPairsOhlcvHistoricalQuotesNetworkInfoDTODexInfoDTODexInfoQuoteDexUrlsDexCommonInfoDTONextUnlockedDTONextUnlockedDetailDTOTokenUnlockInfoDTOTokenEventDTOTokenUnlockEventDTOIndexDetailDTOIndexLatestDTOIndexHistoricalDTOFearGreedLatestDTOFearGreedHistoricalDTOCryptoQuoteV3DTOCryptoTagPlatformQuoteCryptoListingDTOTokenLiquiditySnapshotDTOSwapListResponseDTOTagDTOTradeHistoryDTOBnSecurityExtraInfoDTODisplayItemSecurityItemTokenSecurityResponseDTOSearchResponseDTOSearchResultDTOPlatformDTOLiquidityChangeDTOLiquidityChangeListResponseDTOCryptoSnapshotSortDTOCryptoOhlcvOverviewDTODqueryHoldersDetailRequestDTODqueryHoldersRequestDTOHolderCountVOHolderDetailVOHolderDexVOHolderTagCountVOHolderTagItemHolderTrendVOAccountPlanDTOApiResponseOfIndexHistoricalResponseDTOApiResponseOfIndexLatestResponseDTOIndexHistoricalDpsDTOProApiResponseStatusApiResponseOfCMC20IndexHistoricalResponseDTOApiResponseOfCMC20IndexLatestResponseDTOCMC20IndexDetailDTOCMC20IndexHistoricalDTOCMC20IndexHistoricalDpsDTOCMC20IndexLatestDTOModel_1Content_Latest_-_Results_arrayAPI_Status_ObjectContent_Latest_-_Response_ModelHTTP_Status_400_Error_Objectstatus_1HTTP_Status_401_Error_Objectstatus_2HTTP_Status_403_Error_Objectstatus_3HTTP_Status_429_Error_Objectstatus_4HTTP_Status_500_Error_ObjectAirdrop_-_Airdrop_objectAirdrop_-_Results_mapAirdrop_-_Response_ModelAirdrops_-_Airdrop_ObjectAirdrops_-_Airdrop_ArrayAirdrops_-_Response_ModelCategories_-_Category_objectCategories_-_Results_mapCategories_-_Response_ModelCryptocurrency_-_Quote_objectCryptocurrency_-_Quote_mapCryptocurrency_-_Cryptocurrency_objectCryptocurrency_-_Results_arrayCategory_-_Cryptocurrency_objectCategory_-_Results_mapCategory_-_Response_Modeltags_1Cryptocurrencies_Info_-_URLs_objectCryptocurrencies_Info_-_Cryptocurrency_object._Please_note_this_will_be_wrapped_in_an_array_if_you_request_by_symbol_using_the_v2_endpoint.Cryptocurrency_Info_-_Results_mapCryptocurrencies_Info_-_Response_ModelCryptocurrency_Map_-_Cryotocurrency_ObjectCryptocurrency_Map_-_Cryptocurrency_ArrayCryptocurrency_Map_-_Response_ModelThe_blockchain_platform_where_the_assets_are_held_on.The_cryptocurrency_of_the_holdings_in_the_wallet.Exchange_Assets_Wallets_-_Response_ModelExchange_Assets_-_Response_Modelwebsite_1chat_1twitter_1Exchanges_Info_-_URLs_objectExchanges_Info_-_Exchange_Info_objectExchanges_Info_-_Results_mapExchanges_Info_-_Response_ModelExchange_Map_-_Exchange_ObjectExchange_Map_-_Exchanges_ArrayExchange_Map_-_Response_ModelFiat_Map_-_Fiat_ObjectFiat_Map_-_Fiat_ArrayFiat_Map_-_Response_ModelAccount_Info_-_Response_ObjectAccount_Info_-_Response_ModelTools_Price_Conversion_-_Quote_objectTools_Price_Conversion_-_Quotes_map._Please_note_this_will_be_wrapped_in_an_array_if_you_request_by_symbol_using_the_v2_endpoint.Tools_Price_Conversion_-_Results_ObjectTools_Price_Conversion_-_Response_ModelFear_and_Greed_Historical_-_Fear_and_Greed_objectFear_and_Greed_Historical_-_Results_mapFear_and_Greed_Historical_-_Response_ModelFear_and_Greed_Latest_-_Response_ObjectFear_and_Greed_Latest_-_Response_ModelBlockchain_Statistics_Latest_-_Blockchain_objectBlockchain_Statistics_Latest_-_Results_mapBlockchain_Statistics_Latest_-_Response_ModelCommunity_Trending_Token_-_ResultsCommunity_Trending_Token_-_Response_ModelCommunity_Trending_Topic_-_ResultsCommunity_Trending_Topic_-_Response_ModelModel_2Content_Post_Comments_-_Results_arrayContent_Post_Comments_-_Response_ModelModel_3Model_4Content_Top_Posts_-_ResultsContent_Latest_Posts_-_Response_ModelContent_Top_Posts_-_Response_ModelCryptocurrency_Listings_Latest_-_Quote_objectCryptocurrency_Listings_Latest_-_Quote_mapCryptocurrency_Listings_Latest_-_Cryptocurrency_objectCryptocurrency_Listings_Latest_-_Results_arrayCryptocurrency_Listings_Latest_-_Response_ModelCryptocurrency_Listings_Latest_-_Quote_object_1Cryptocurrency_Listings_Latest_-_Quote_map_1Cryptocurrency_Listings_Latest_-_Cryptocurrency_object_1Cryptocurrency_Listings_Latest_-_Results_array_1Cryptocurrency_Listings_Latest_-_Response_Model_1Cryptocurrency_Listings_Latest_-_Quote_object_2Cryptocurrency_Listings_Latest_-_Quote_map_2Cryptocurrency_Listings_Latest_-_Cryptocurrency_object_2Cryptocurrency_Listings_New_-_Results_arrayCryptocurrency_Listings_New_-_Response_ModelCryptocurrency_Market_Pairs_Latest_-_Exchange_Info_objectCryptocurrency_Market_Pairs_Latest_-_Pair_Base_Currency_Info_objectCryptocurrency_Market_Pairs_Latest_-_Pair_Base_Currency_Info_object_1Cryptocurrency_Market_Pairs_Latest_-_Market_Pair_Exchange_Reported_QuoteCryptocurrency_Market_Pairs_Latest_-_Market_Pair_QuoteCryptocurrency_Market_Pairs_Latest_-_Market_Pair_Quote_objectCryptocurrency_Market_Pairs_Latest_-_Market_Pair_Info_objectCryptocurrency_Market_Pairs_Latest_-_Market_Pairs_arrayCryptocurrency_Market_Pairs_Latest_-_Results_objectCryptocurrency_Market_Pairs_Latest_-_Response_ModelCryptocurrency_OHLCV_Historical_-_Quote_objectCryptocurrency_OHLCV_Historical_-_Quote_mapCryptocurrency_OHLCV_Historical_-_Interval_Quote_objectCryptocurrency_OHLCV_Historical_-_Interval_Quotes_arrayCryptocurrency_OHLCV_Historical_-_Results_objectCryptocurrency_OHLCV_Historical_-_Response_ModelCryptocurrency_OHLCV_Latest_-_Quote_objectCryptocurrency_OHLCV_Latest_-_Quote_mapCryptocurrency_OHLCV_Latest_-_Cryptocurrency_objectCryptocurrency_OHLCV_Latest_-_Cryptocurrency_Results_mapCryptocurrency_OHLCV_Latest_-_Response_ModelCryptocurrency_Price_Performance_Stats_Latest_-_Quote_objectCryptocurrency_Price_Performance_Stats_Latest_-_Quote_mapCryptocurrency_Price_Performance_Stats_Latest_-_Period_objectCryptocurrency_Price_Performance_Stats_Latest_-_Period_object_mapCryptocurrency_Price_Performance_Stats_Latest_-_Cryptocurrency_objectCryptocurrency_Price_Performance_Stats_Latest_-_Cryptocurrency_Results_mapCryptocurrency_Price_Performance_Stats_Latest_-_Response_ModelCryptocurrency_Quotes_Historical_-_Currency_Quote_objectCryptocurrency_Quotes_Historical_-_Quote_currency_mapCryptocurrency_Quotes_Historical_-_Interval_Quote_objectCryptocurrency_Quotes_Historical_-_Interval_Quotes_arrayCryptocurrency_Quotes_Historical_-_Result_objectCryptocurrency_Quotes_Historical_-_Results_mapCryptocurrency_Quotes_Historical_-_Response_ModelCryptocurrency_Quotes_Latest_-_Quote_objectCryptocurrency_Quotes_Latest_-_Quote_mapCryptocurrency_Quotes_Latest_-_Cryptocurrency_objectCryptocurrency_Quotes_Latest_-_Cryptocurrency_Results_mapCryptocurrency_Quotes_Latest_-_Response_ModelCryptocurrency_Trending_Gainers_Losers_-_Results_arrayCryptocurrency_Trending_Gainers_Losers_-_Response_ModelCryptocurrency_Trending_Latest_-_Cryptocurrency_objectCryptocurrency_Trending_Latest_-_Results_arrayCryptocurrency_Trending_Latest_-_Response_ModelCryptocurrency_Trending_Most_Visited_-_Results_arrayCryptocurrency_Trending_Most_Visited_-_Response_ModelExchange_Listings_Latest_-_Quote_objectExchange_Listings_Latest_-_Quote_mapExchange_Listings_Latest_-_Exchange_objectExchange_Listings_Latest_-_Results_arrayExchange_Listings_Latest_-_Response_ModelExchange_Market_Pairs_Latest_-_Pair_Base_Currency_Info_objectExchange_Market_Pairs_Latest_-_Pair_Base_Currency_Info_object_1Exchange_Market_Pairs_Latest_-_Market_Pair_Exchange_Reported_QuoteExchange_Market_Pairs_Latest_-_Market_Pair_QuoteExchange_Market_Pairs_Latest_-_Market_Pair_Quote_objectExchange_Market_Pairs_Latest_-_Market_Pair_Info_objectExchange_Market_Pairs_Latest_-_Market_Pairs_arrayExchange_Market_Pairs_Latest_-_Results_objectExchange_Market_Pairs_Latest_-_Response_ModelExchange_Historical_Quotes_-_Currency_Quote_objectExchange_Historical_Quotes_-_Quote_currency_mapExchange_Historical_Quotes_-_nterval_Quote_objectExchange_Historical_Quotes_-_Interval_Quotes_arrayExchange_Historical_Quotes_-_exchange_objectExchange_Historical_Quotes_-_Results_mapExchange_Historical_Quotes_-_Response_ModelExchange_Quotes_Latest_-_Quote_objectExchange_Quotes_Latest_-_Quote_mapExchange_Quotes_Latest_-_Exchange_objectExchange_Quotes_Latest_-_Exchange_Results_mapExchange_Quotes_Latest_-_Response_ModelGlobal_Metrics_Quotes_Historic_-_Currency_Quote_objectGlobal_Metrics_Quotes_Historic_-_Quote_currency_mapGlobal_Metrics_Quotes_Historic_-_Interval_Quote_objectGlobal_Metrics_Quotes_Historic_-_Interval_Quotes_arrayGlobal_Metrics_Quotes_Historic_-_Results_objectGlobal_Metrics_Quotes_Historic_-_Response_ModelGlobal_Metrics_Quotes_Latest_-_Quote_objectGlobal_Metrics_Quotes_Latest_-_Quote_mapGlobal_Metrics_Quotes_Latest_-_Results_ObjectGlobal_Metrics_Quotes_Latest_-_Response_ModelFCAS_Listings_Latest_-_Cryptocurrency_objectFCAS_Listings_Latest_-_Results_arrayFCAS_Listings_Latest_-_Response_ModelFCAS_Quote_Latest_-_Cryptocurrency_objectFCAS_Quote_Latest_-_Cryptocurrency_Results_mapFCAS_Quote_Latest_-_Response_Model
Terms of Service
Contactapi@coinmarketcap.com
Servers
https://pro-api.coinmarketcap.com