Pricing
Three plans, monthly, in USD. What changes between them is the request quota, how fresh a cached response can be, how far back the history goes, which endpoints are unlocked and whether availability is committed by contract. Everything below is the same table the API enforces at runtime.
Free
Try the endpoints and ship a side project.
$0/mo
- ·10,000 requests/mo
- ·Responses cached up to 24h
- ·No historical endpoints
- ·Fiat endpoints only
- ·REST only
- ·Community support
Pro
RecommendedA million requests, crypto, FX and the WebSocket stream.
$9/mo
- ·1,000,000 requests/mo
- ·Responses cached ~2s
- ·10 years of daily history
- ·Crypto and FX endpoints
- ·WebSocket stream
- ·Priority email support
Scale
No quota, the full archive, and availability by contract.
$29/mo
- ·No monthly quota
- ·Responses cached ~1s
- ·The full daily series, back to 1999
- ·Crypto and FX endpoints
- ·WebSocket stream
- ·99.9% monthly availability, by contract
- ·Dedicated contact
What each plan enforces
Scroll the table sideways to see every plan.
| Limit | Free | Pro | Scale |
|---|---|---|---|
| Monthly request quota | 10,000 | 1,000,000 | None |
| Per-IP rate limit | 120 req/min | 120 req/min | 120 req/min |
| Max age of a served response | 24h | 2s | 1s |
| Fiat rates (ECB reference set) | Yes | Yes | Yes |
| Crypto spot prices (Coinbase) | No | Yes | Yes |
| FX quote endpoints | No | Yes | Yes |
| WebSocket stream | No | Yes | Yes |
| Historical depth (daily) | None | 10 years | Back to 1999 |
| Availability commitment | None | None | 99.9%/mo |
| Support | Community support | Priority email support | Dedicated contact |
Service level commitment, Scale plan
The clauses below are part of the terms of service and are rendered on both pages from one source, so they cannot say two different things.
What is committed, and on which plan
On the Scale plan, xr8.io commits to 99.9% availability of the API over each calendar month, measured in UTC. That leaves an allowance of about 43 unavailable minutes in a 30-day month. The Free and Pro plans carry no availability commitment and no service credits. They run on the same infrastructure, which is not the same thing as a promise about it.
What counts as unavailable
A minute is unavailable when a correctly formed request to a documented endpoint, sent with a valid key and within your quota and your rate limit, returns a 5xx status produced by us or returns nothing within ten seconds. Monthly availability is the total minutes in the month minus the unavailable minutes, divided by the total minutes. An outage of the platform the API runs on counts as unavailability: from where you sit there is no difference between our fault and our provider’s.
How availability is measured
From an automated probe that calls a documented endpoint once a minute, corroborated by our own request logs for the same minute. We keep that measurement record for twelve months, and any answer we give to a credit claim comes with the record for the month concerned. The status page shows the current state of each component; it is not the measurement.
What the commitment does not cover
It covers the availability of the API, not the freshness or the accuracy of the rate data. Fiat rates come from European Central Bank reference rates, published once per business day, and crypto from Coinbase public endpoints. If a source stops publishing, the API keeps answering with the last snapshot it holds and marks it with meta.stale: an available API serving stale data, outside this commitment. Also excluded are maintenance windows announced at least 484 hours per calendar month, 4xx responses of any kind, including requests rejected for an exhausted quota or the per-IP rate limit, and failures on your side of the connection such as your network, your DNS resolution or your client.
If we miss it
If availability in a calendar month falls below 99.9%, you may claim a service credit. Write to legal@xr8.io within 30 days of the end of that month with the dates, the times and, where you have them, the request ids. The credit is pro rata: the share of that month’s subscription fee corresponding to the unavailable time, applied against a later invoice. It is granted on request rather than automatically, and it is the only remedy this commitment provides.
Changes to this commitment
The version that applies to a given month is the one published during that month. A change is published on this page and on the pricing page at the same time, and takes effect for you at the start of your next billing period.
What the cache window means
It is the maximum age of the response we will serve you, not how often the number underneath changes. ECB reference rates are published once per business day, so on a Tuesday afternoon a EUR/USD rate is the same figure on Free and on Scale. The shorter window matters for crypto, which Coinbase reprices continuously, and for how fast a new ECB publication reaches you.
Rate limits apply on every plan
On top of the monthly quota, all traffic is capped at 120 requests per minute per IP address, Scale included. Requests over the cap return HTTP 429 with a RATE_LIMIT_EXCEEDED code.
Availability, and what is committed
Scale carries a contractual commitment of 99.9% monthly availability of the API, with a pro rata service credit if it is missed. Free and Pro carry no such commitment. The full text is in the panel above and in the terms; both pages render the same clauses from one source. The commitment covers the API answering, not the freshness of the rates underneath it, which depends on the ECB and on Coinbase.
Billing
Prices are in USD, charged monthly through Stripe. Cancel from the dashboard at any time; access runs to the end of the paid period and partial periods are not refunded.
Endpoint reference in the docs, live component state on the status page, anything else via contact.