Authentication

All requests to our servers require a unique user-specific API Key. Requests without a valid API Key will be refused.

Usage

Every request (with the exception of WebSockets) requires the x-api-key header:
curl --request GET \
--url https://api.amberdata.com/market/spot/prices/assets/btc/latest/ \
--header 'accept: application/json' \
--header 'x-api-key: YOUR_API_KEY'

HTTP Response Structure

The body of every response includes the following fields:
FieldDescription
descriptionDescription of the response.
payloadThe object containing the actual data requested.
statusThe status of the response.
titleThe human readable name associated with the HTTP status according to the HTTP Status Code Registry.

Response Codes

In an erroneous response, the description field will indicate the reason for the error.
Status CodeDescription
200Successful Request
400Bad Request – Invalid request format or query results exceed 10 MB limit
401Unauthorized – Invalid or missing API Key
403Forbidden – Access to endpoint is not authorized
404Not Found – Pair or address does not exist for example
429Too Many Requests – rate limit was exceeded
5xxInternal Server Error – We had a problem with our server
502Bad Gateway
504Gateway Timeout – Exceeded 28 second limit

API Versioning

When backwards-incompatible changes are made to the API, a new, dated version is released. To set the API version on a specific request, use the api-version header:
curl --request https://api.amberdata.com/markets/spot/... \
     --header "x-api-key: UAKHelloCryptoHiAmberdata" \
     --header "api-version: 2023-09-30"

Backwards Compatible Changes

Amberdata considers the following changes to be backwards-compatible:
  • Adding new API resources
  • Adding new optional request parameters to existing API methods
  • Adding new properties to existing API responses
  • Changing the order of properties in existing API responses
  • Changing the length or format of opaque, Amberdata generated strings, such as object IDs, error messages, and other human-readable strings
Note: Trading pairs, instruments, asset symbols etc. are not considered opaque. Such strings could only be modified with a new dated version.

Rate Limits

SubscriptionAPI Key TypeDescriptionRate Limits / Daily Quotas
Trial AccessUATTemporary access to all API endpoints and datasets.15 calls/sec - 20k / day
On-Demand OrderUAOPaid subscription for production usage of data (for select markets/exchanges only, ie. Spot/Coinbase, Options/Deribit, etc.)20 calls/sec - 250k / day
EnterpriseUAKPaid subscription for production usage of data.60 calls/sec

On-Demand Order Subscriptions

On-Demand order subscriptions are provisioned upon successful payment after completing the order form. Customers must pay upfront via credit card, and API keys are typically provisioned within 24-48 business hours. On-Demand order subscriptions are limited to Market Data endpoints and do not include white-glove support services. Customers requiring assistance can contact support@amberdata.io. Examples of Supported and Unsupported API Calls: On-Demand order subscriptions are restricted to specific markets and exchanges. For example, if a customer purchases a subscription for Spot GDAX: Supported Calls:
  • /markets/spot/tickers?exchange=gdax
  • /markets/spot/trades?exchange=gdax&pair=btc_usd
  • /markets/spot/order-book-snapshots/btc_usd?exchange=gdax
Unsupported Calls:
  • /markets/spot/tickers (missing exchange=gdax)
  • /markets/spot/trades?exchange=kraken (subscription is for GDAX only)
  • /markets/futures/tickers?exchange=gdax (subscription does not include Futures)
Specify the correct exchange and use endpoints in your subscription to avoid issues.