CryptoHubCoin API

Access high-quality, aggregated cryptocurrency data and custom tokens for your decentralized apps. Our REST API gives you everything you need — coin metadata, live prices, market caps, and historical charts.

Authentication

All endpoints require a valid API key passed via the x-api-key header. Keys are tied to your account and can be rotated from the dashboard.

Never commit your API key to version control. Use environment variables and rotate keys regularly.

Example Request

# Pass your key in the x-api-key header
curl https://api.cryptohubcoin.com/v1/coins \
  -H "x-api-key: ch_live_YOUR_KEY_HERE"
const res = await fetch('https://api.cryptohubcoin.com/v1/coins', {
  headers: {
    'x-api-key': 'ch_live_YOUR_KEY_HERE'
  }
});
const data = await res.json();
import requests

res = requests.get(
    "https://api.cryptohubcoin.com/v1/coins",
    headers={"x-api-key": "ch_live_YOUR_KEY_HERE"}
)
data = res.json()

Rate Limits

To ensure fair usage, the API enforces per-key rate limits. Limits depend on your plan and reset every minute.

PlanRequests / minuteBurst
Free60120
Pro6001,200
EnterpriseCustomCustom

Rate Limit Headers

Every response includes headers that tell you where you stand:

X-RateLimit-Limit: 600
X-RateLimit-Remaining: 587
X-RateLimit-Reset: 1715432400

Errors

The API uses standard HTTP status codes. Error responses always include a code and message for debugging.

200 OK
Request succeeded.
400 Bad Request
Invalid parameters or malformed request.
401 Unauthorized
Missing or invalid API key.
404 Not Found
The resource does not exist.
429 Too Many
Rate limit exceeded.
500 Server Error
Unexpected server-side issue.

Error response shape

{
  "success": false,
  "error": {
    "code": "INVALID_API_KEY",
    "message": "The provided API key is invalid or has been revoked."
  }
}

List all coins

Returns every cryptocurrency tracked by CryptoHubCoin, ordered by market cap. Supports pagination for large result sets.

GET /api/v1/coins
ParameterTypeDescription
limitintegerNumber of results per page. Default 50, max 250.
pageintegerPage number for pagination. Starts at 1.
networkstringFilter by network (e.g. BSC, ETH, SOL).

Example Response

{
  "success": true,
  "count": 3,
  "data": [
    {
      "id": "ethereum",
      "symbol": "ETH",
      "name": "Ethereum",
      "network": "ETH",
      "price_usd": 3842.17,
      "market_cap": 462100000000
    },
    {
      "id": "solana",
      "symbol": "SOL",
      "name": "Solana",
      "network": "SOL",
      "price_usd": 178.42,
      "market_cap": 82400000000
    }
  ]
}

Get coin by ID

Fetch full metadata for a single coin including description, official links, logo, and current market stats.

GET /api/v1/coins/:id
ParameterTypeDescription
idRequiredstringThe unique coin slug (e.g. ethereum, solana).

Example Response

{
  "success": true,
  "data": {
    "id": "ethereum",
    "symbol": "ETH",
    "name": "Ethereum",
    "logo_url": "https://cdn.cryptohubcoin.com/logos/eth.png",
    "description": "Ethereum is a decentralized smart-contract platform…",
    "website": "https://ethereum.org",
    "price_usd": 3842.17
  }
}

Market data

Live market statistics for a coin: price, 24h change, volume, circulating supply, and trading pairs.

GET /api/v1/coins/:id/market
ParameterTypeDescription
idRequiredstringThe coin slug to fetch market data for.
currencystringQuote currency (e.g. usd, eur, btc). Default usd.

Example Response

{
  "success": true,
  "data": {
    "price": 3842.17,
    "change_24h": 2.41,
    "volume_24h": 18420000000,
    "market_cap": 462100000000,
    "circulating_supply": 120280000
  }
}

Historical prices

Time-series price data for any coin across multiple intervals. Perfect for charts and backtesting.

GET /api/v1/coins/:id/history
ParameterTypeDescription
idRequiredstringThe coin slug to fetch history for.
intervalstringOne of 1h, 1d, 1w, 1m. Default 1d.
fromtimestampUnix timestamp for the start of the range.
totimestampUnix timestamp for the end of the range.

Example Response

{
  "success": true,
  "interval": "1d",
  "data": [
    [1715000000, 3801.22],
    [1715086400, 3827.91],
    [1715172800, 3842.17]
  ]
}
Historical data older than 90 days is only available on Pro and Enterprise plans.