Lister les cryptos
Cryptos classées avec prix, filtres et sélecteurs, paginées avec l'enveloppe
links + meta de Laravel. Les prix, le marketcap et circulating_supply sont des chaînes
décimales ; les variations et les rangs sont des nombres.
Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.
Paramètres de requête
page
Numéro de page (à partir de 1). Doit être au moins 1.
per_page
Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.
type
Limiter à un seul type d'actif : coin ou token.
Une valeur parmi :
coin
token
status
Statut de listing : active, delisted, untracked, progressing, awaiting ou preparing. Par défaut, tous les statuts publics.
Une valeur parmi :
active
delisted
untracked
progressing
awaiting
preparing
search
Recherche en texte libre sur le nom ou le symbole. Ne doit pas dépasser 100 caractères.
min_price
Uniquement les cryptos dont le prix est supérieur ou égal à cette valeur USD. Doit être au moins 0.
max_price
Uniquement les cryptos dont le prix est inférieur ou égal à cette valeur USD. Doit être au moins 0.
min_marketcap
Uniquement les cryptos dont le marketcap USD est supérieur ou égal à cette valeur. Doit être au moins 0.
max_marketcap
Uniquement les cryptos dont le marketcap USD est inférieur ou égal à cette valeur. Doit être au moins 0.
min_volume
Uniquement les cryptos dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.
max_volume
Uniquement les cryptos dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.
ids
Limiter à des ids de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés avec slugs/symbols). Ne doit pas dépasser 1000 caractères.
slugs
Limiter à des slugs de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 2000 caractères.
symbols
Limiter à des symbols de cryptos spécifiques (CSV, insensible à la casse, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 1000 caractères.
sort
Champs de tri séparés par des virgules ; préfixer par - pour l'ordre décroissant. Triables : marketcap, rank, price, volume_24h, change_24h, change_7d. Ne doit pas dépasser 100 caractères.
interval
Fenêtre des mouvements pour /coins/gainers et /coins/losers uniquement : 24h ou 7d.
Une valeur parmi :
24h
7d
Requête
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()