List coins
Ranked coins with prices, filters and selectors, paginated with Laravel's
links + meta envelope. Prices, marketcap and circulating_supply are decimal
strings; changes and ranks are numbers.
Keys are Bearer-only and carry the data-api ability — keep them server-side.
Query parameters
page
Page number (1-based). Must be at least 1.
per_page
Rows per page. The cap is plan-based (Free 100, Starter/Pro 250); exceeding it returns 422 rather than clamping. Must be at least 1. Must not be greater than 100.
type
Restrict to a single asset type: coin or token.
One of:
coin
token
status
Listing status: active, delisted, untracked, progressing, awaiting or preparing. Defaults to all public statuses.
One of:
active
delisted
untracked
progressing
awaiting
preparing
search
Free-text match on name or symbol. Must not be greater than 100 characters.
min_price
Only coins priced at or above this USD value. Must be at least 0.
max_price
Only coins priced at or below this USD value. Must be at least 0.
min_marketcap
Only coins with a USD marketcap at or above this value. Must be at least 0.
max_marketcap
Only coins with a USD marketcap at or below this value. Must be at least 0.
min_volume
Only coins with 24h USD volume at or above this value. Must be at least 0.
max_volume
Only coins with 24h USD volume at or below this value. Must be at least 0.
ids
Filter to specific coin ids (CSV, up to 100 selectors combined with slugs/symbols). Must not be greater than 1000 characters.
slugs
Filter to specific coin slugs (CSV, up to 100 selectors combined). Must not be greater than 2000 characters.
symbols
Filter to specific coin symbols (CSV, case-insensitive, up to 100 selectors combined). Must not be greater than 1000 characters.
sort
Comma-separated sort fields; prefix with - for descending. Sortable: marketcap, rank, price, volume_24h, change_24h, change_7d. Must not be greater than 100 characters.
interval
Movers window for /coins/gainers and /coins/losers only: 24h or 7d.
One of:
24h
7d
Request
curl --request GET \ --get "http://localhost/api/v1/coins?page=1&per_page=50&type=coin&status=active&search=bitcoin&min_price=0.5&max_price=100000&min_marketcap=1000000&max_marketcap=5000000000000&min_volume=1000000&max_volume=100000000000&ids=38%2C39&slugs=bitcoin%2Cethereum&symbols=BTC%2CETH&sort=-marketcap&interval=24h" \ --header "Authorization: Bearer {YOUR_API_KEY}" \ --header "Content-Type: application/json" \ --header "Accept: application/json"
const url = new URL( "http://localhost/api/v1/coins" ); const params = { "page": "1", "per_page": "50", "type": "coin", "status": "active", "search": "bitcoin", "min_price": "0.5", "max_price": "100000", "min_marketcap": "1000000", "max_marketcap": "5000000000000", "min_volume": "1000000", "max_volume": "100000000000", "ids": "38,39", "slugs": "bitcoin,ethereum", "symbols": "BTC,ETH", "sort": "-marketcap", "interval": "24h", }; Object.keys(params) .forEach(key => url.searchParams.append(key, params[key])); const headers = { "Authorization": "Bearer {YOUR_API_KEY}", "Content-Type": "application/json", "Accept": "application/json", }; fetch(url, { method: "GET", headers, }).then(response => response.json());
$client = new \GuzzleHttp\Client(); $url = 'http://localhost/api/v1/coins'; $response = $client->get( $url, [ 'headers' => [ 'Authorization' => 'Bearer {YOUR_API_KEY}', 'Content-Type' => 'application/json', 'Accept' => 'application/json', ], 'query' => [ 'page' => '1', 'per_page' => '50', 'type' => 'coin', 'status' => 'active', 'search' => 'bitcoin', 'min_price' => '0.5', 'max_price' => '100000', 'min_marketcap' => '1000000', 'max_marketcap' => '5000000000000', 'min_volume' => '1000000', 'max_volume' => '100000000000', 'ids' => '38,39', 'slugs' => 'bitcoin,ethereum', 'symbols' => 'BTC,ETH', 'sort' => '-marketcap', 'interval' => '24h', ], ] ); $body = $response->getBody(); print_r(json_decode((string) $body));
import requests import json url = 'http://localhost/api/v1/coins' params = { 'page': '1', 'per_page': '50', 'type': 'coin', 'status': 'active', 'search': 'bitcoin', 'min_price': '0.5', 'max_price': '100000', 'min_marketcap': '1000000', 'max_marketcap': '5000000000000', 'min_volume': '1000000', 'max_volume': '100000000000', 'ids': '38,39', 'slugs': 'bitcoin,ethereum', 'symbols': 'BTC,ETH', 'sort': '-marketcap', 'interval': '24h', } headers = { 'Authorization': 'Bearer {YOUR_API_KEY}', 'Content-Type': 'application/json', 'Accept': 'application/json' } response = requests.request('GET', url, headers=headers, params=params) response.json()