Currency Rates API · v1

Rates, conversions and crypto on one endpoint.

Fiat and digital assets share the same request shape, the same authentication and the same error contract. Every quote carries the timestamp it was captured, so you can store the rate you actually charged.

Endpoints
6
Free tier
100 / day
Refresh
60s
Quote boardlive

Captured Sep 29, 2026, 8:00 AM.

curl "https://api.currencyrates-api.com/v1/convert?from=USD&to=BRL&amount=100" \
  -H "Authorization: Bearer rate_live_xxxxxxxxxxxxxxxxxx"

Two markets

One contract, both markets

You do not need a second integration for crypto. From Startup, the paths differ by a prefix; the fields do not.

Built for money

Designed to be auditable later

Financial data has a different bar than reference data: you need to prove what rate applied and when.

Quotes are informational. This API is not financial advice, a trading venue or a money-transmission service.

The rate travels with the result
Conversions return the applied rate next to the result. Persist both and a disputed charge can always be reconstructed.
Every quote is timestamped
updated_at is the moment the rate was captured upstream, not the moment you called. Cache windows become explicit.
Crypto exponents are explicit
Metadata carries the decimal exponent for each asset, so eight-decimal balances survive the round trip.
Quota state on every response
Rate limit and quota headers come back on each authenticated call, so you never poll a usage endpoint.
200 OK · /v1/convert
{
  "from": "USD",
  "to": "BRL",
  "amount": 100,
  "rate": 5.4123,
  "result": 541.23,
  "date": "2026-08-13",
  "updated_at": "2026-08-13T18:40:02Z"
}
Response headers
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 594
X-Monthly-Limit: 100000
X-Monthly-Usage: 12480
X-Monthly-Remaining: 87520

Open an account, get a key, quote your first pair.

The free plan starts at 100 requests a day with USD rates, no payment method required. Crypto unlocks from Startup.