Rate Limit

The API is rate limited by a CPU allowance measured in nanoseconds, rather than a fixed number of calls per time window. Some API requests take longer to handle than others, so these cost more allowance. Your allowance is reset every hour on the hour.

Each response includes information about your allowance:

{
"allowance": {
"cost": 27714,
"remaining": 3869399852,
"remainingPaid": 127999845310,
"account": "8b095566-51e7-475b-bdf3-4bdb11d56fc1"
}
}

The cost is how much time that request took in nanoseconds, and remaining is how many nanoseconds remain in your free allowance for this hour. If you pay for a Basic or Pro account, you will also see non-zero remainingPaid, which adds significantly to your limit.

You can use this information, along with the current time, to have your application self-regulate its request rate. If you spend all of your allowance, the API server will return a 429 Too Many Requests response and you will have to wait until the top of the hour for your allowance to reset.

You can always request the root path https://api.cryptowat.ch to query your allowance without any extra result - this request costs very little.

Pay for higher limits

The API is accessible anonymously, but customers get a much higher hourly allowance.

Subscription Tier

Allowance

Price

Free Trial

None (anonymous)

4 sec / hour

Free

N/A

Basic

16 sec / hour

$120 / year or

$15 / month

2 weeks

Purchase

Pro

128 sec / hour

$720 / year or

$75 / month

None

Purchase

Once you've created an account, you can generate an API key and use that to claim your higher allowance:

Using a URL query parameter

https://api.cryptowat.ch/markets/kraken/btcusd/price?apikey=CXRJ2EJTOLGUF4RNY4CF

Using an HTTP header

X-CW-API-Key: CXRJ2EJTOLGUF4RNY4CF

How to get an API key

Make sure to set up billing information in your account so it stays active after your 2 week free trial is over.