---
title: "Free Currency API"
description: "Get a free currency API key in 30 seconds — no credit card. Real-time mid-market exchange rates for 160+ currencies from institutional foreign exchange market data, updated every 60 seconds."
canonical: https://allratestoday.com/free-currency-api/
source: AllRatesToday (https://allratestoday.com/) — Markdown mirror of the page above; index of all pages at https://allratestoday.com/llms.txt
generated: 2026-10-24T03:29:45.337Z
---

# Free Currency API

Get a free currency API key in 30 seconds — no credit card. Real-time mid-market exchange rates for 160+ currencies from institutional foreign exchange market data, updated every 60 seconds.

By [Madhushan](https://allratestoday.com/authors/madhushan/), Founder & Lead Developer

   **The short version:** free API key in 30 seconds, no credit card. 160+ currencies, real-time mid-market rates from institutional foreign exchange market data, updated every 60 seconds. [Get your free key](https://allratestoday.com/register).

## Quick start

One endpoint, one key. Send the key as an `Authorization: Bearer` header (or, for a quick browser test, as `?api_key=`). Replace `art_live_your_key` with the key from your [dashboard](https://allratestoday.com/profile):

```
curl "https://allratestoday.com/api/v1/rates?source=USD&target=EUR" \
  -H "Authorization: Bearer art_live_your_key"
```

Response — an array, one entry per pair, so the same call can quote several targets at once (`target=EUR,GBP,JPY`):

```
[
  {
    "rate": 0.864566,
    "source": "USD",
    "target": "EUR",
    "time": "2026-08-28T14:00:00Z"
  }
]
```

From JavaScript:

```
const res = await fetch(
  "https://allratestoday.com/api/v1/rates?source=USD&target=EUR",
  { headers: { Authorization: "Bearer art_live_your_key" } }
);
const [quote] = await res.json();
console.log(`1 USD = ${quote.rate} EUR`);
```

From Python:

```
import requests

res = requests.get(
    "https://allratestoday.com/api/v1/rates",
    params={"source": "USD", "target": "EUR"},
    headers={"Authorization": "Bearer art_live_your_key"},
)
quote = res.json()[0]
print(f"1 USD = {quote['rate']} EUR")
```

Prefer a client library? There are official [SDKs for JavaScript, Python, PHP, and Rust](https://allratestoday.com/docs/), and you can try every endpoint in the [API playground](https://allratestoday.com/playground/) without writing code.

## The two responses to handle

Success is always `200` with the array above. Only two other responses matter in practice — check for them and you have covered the free tier:

**`401` — missing or invalid key.** The header was not sent, or the key is wrong.

```
{
  "error": "Authentication required. Provide an API key via Authorization header or log in."
}
```

**`429` — quota used up.** The request is refused, never billed. The body tells you where you stand, and the same figures are sent as `X-Monthly-Limit`, `X-Monthly-Used` and `X-Monthly-Resets` headers on every response, so you can watch the quota without waiting to hit it:

```
{
  "error": "Request limit exceeded",
  "plan": "free",
  "resets_at": "never",
  "upgrade_url": "https://allratestoday.com/pricing"
}
```

Bursts are capped at 10 requests per minute. The whole error reference, including the `400` for a malformed pair, is in the [docs](https://allratestoday.com/docs/#errors).

## Beyond the first call

- **Which codes can I use?** [`/api/v1/symbols`](https://allratestoday.com/docs/#symbols) lists every supported currency — 160+ ISO codes with names.
- **Several targets in one request** — comma-separate them: `target=EUR,GBP,JPY`. That is still one request against your quota, so it is the cheapest way to quote a basket.
- **A rate as at a date** — add `&time=2026-08-01` to the same endpoint ([historical rates](https://allratestoday.com/docs/#historical), paid plans).
- **Official central-bank rates** — [`/api/v1/central-bank/ecb/latest?source=USD&target=EUR`](https://allratestoday.com/docs/#central-bank): the published reference rate from any of [122 central banks and 4 tax authorities](https://allratestoday.com/central-bank-rates-api/institutions/), included on the free tier.
- **CSV, XML or Excel instead of JSON** — append `&format=csv` (or `xml`, `xlsx`) to any table endpoint.

## What the free plan includes

- **Free tier** — enough to prototype and test an integration
- **160+ currencies** — every major and most exotic pairs
- **Real-time mid-market rates** — Institutional FX market data, updated every 60 seconds
- **1 API key**, 10 requests/minute, HTTPS only
- **No credit card** — sign up with email, Google, or GitHub

Historical rates, time-series endpoints, commercial use, and higher volumes are part of the [paid plans](https://allratestoday.com/pricing/) (from a few euros per month, with 5,000–100,000 requests).

## Free tiers compared

Most "free currency API" tiers trade away freshness: you get a few hundred or thousand requests against rates cached hourly or daily. AllRatesToday's free tier is smaller on volume but serves the same 60-second real-time feed as its paid plans:

| Provider | Free requests | Update frequency (free) | Credit card? |
| --- | --- | --- | --- |
| **AllRatesToday** | Free | Real-time (60s) | No |
| ExchangeRate-API | 1,500/month | Daily | Yes (for upgrades) |
| Open Exchange Rates | 1,000/month | Hourly | Yes |
| CurrencyLayer | 100/month | Daily | Yes |
| Fixer.io | 100/month | Daily | Yes |
| Frankfurter | Unlimited | Daily (ECB, 30+ currencies) | No |

Want the full 10-provider breakdown? See the [best free currency exchange APIs in 2026](https://allratestoday.com/blog/best-free-currency-exchange-api-2026/) comparison.

## What you can build on the free tier

- **Currency converters** — fetch a pair on demand, or [cache rates](https://allratestoday.com/blog/how-to-cache-exchange-rates-avoid-rate-limits/) to serve many conversions per fetch
- **Price display prototypes** — test localized prices before launch; a live hourly refresh (about 720 requests/month) needs a paid plan
- **Dashboards and alerts** — poll a handful of pairs a few times a day
- **Embeddable widget** — a [one-line converter widget](https://allratestoday.com/open-api/) for any site

## Frequently asked questions

### Is there a truly free currency API?

Yes. AllRatesToday has a free tier with real-time mid-market rates for 160+ currencies, and no credit card required to sign up.

### Do I need a credit card?

No. Sign up with email, Google, or GitHub and generate a free API key immediately, without entering any payment details.

### How fresh are the rates on the free plan?

The free plan uses the same real-time data as paid plans: mid-market rates aggregated from institutional foreign exchange market data, updated every 60 seconds. Most competing free tiers serve daily or hourly caches.

### Can I use it commercially?

The free plan is for personal, non-commercial projects and testing. Commercial use comes with the [paid plans](https://allratestoday.com/pricing/), which start at €4.99/month.

### What happens when I use up my free requests?

Requests beyond your quota are rejected with a clear error rather than billed. The free tier does not reset, so [caching](https://allratestoday.com/blog/how-to-cache-exchange-rates-avoid-rate-limits/) stretches them a long way, and paid plans give 5,000 to 100,000 requests per month.

## Get your free currency API key

30 seconds to sign up. No credit card. Real-time rates from the first request.

 [Get Free API Key](https://allratestoday.com/register) [Try the Playground](https://allratestoday.com/playground/)

## Related

  [Exchange Rate APIMarket and official rates, endpoint reference](https://allratestoday.com/exchange-rate-api/) [Currency APIConvert and localize in your app](https://allratestoday.com/currency-api/) [Best Free Currency Exchange APIs 202610 providers ranked and compared](https://allratestoday.com/blog/best-free-currency-exchange-api-2026/) [API DocumentationEndpoints, SDKs, and examples](https://allratestoday.com/docs/) [Embeddable Converter WidgetOne line of HTML, live rates](https://allratestoday.com/open-api/) [Free Historical Rate APIsTime-series and backtesting](https://allratestoday.com/blog/best-free-historical-exchange-rate-api-2026/) [Plans & PricingFrom free to 100k requests/month](https://allratestoday.com/pricing/) [Is There a Free Conversion API?Free options explained](https://allratestoday.com/blog/is-there-a-free-api-for-currency-conversion/)
