---
title: "Currency API for Python: 5 Best Exchange Rate APIs in 2026 (with Code)"
description: "The 5 best currency exchange rate APIs for Python in 2026, ranked — pip-installable SDKs, working code examples, free-tier limits and pricing for AllRatesToday, ExchangeRate-API, Frankfurter and more."
canonical: https://allratestoday.com/best/best-currency-api-for-python/
source: AllRatesToday (https://allratestoday.com/) — Markdown mirror of the page above; index of all pages at https://allratestoday.com/llms.txt
generated: 2026-10-07T11:47:34.336Z
---

# Currency API for Python: 5 Best Exchange Rate APIs in 2026 (with Code)

The 5 best currency exchange rate APIs for Python in 2026, ranked — pip-installable SDKs, working code examples, free-tier limits and pricing for AllRatesToday, ExchangeRate-API, Frankfurter and more.

If you're building a Python app that needs exchange rates — whether it's a Django SaaS, a FastAPI microservice, or a data science pipeline — you need an API that has a proper Python SDK, not just a REST endpoint you call with `requests`. This guide ranks the best options by Python developer experience, pricing, and data quality.

## Quick Comparison

| Provider | Python SDK | Free Tier | Update Frequency | Currencies | Starting Price |
| --- | --- | --- | --- | --- | --- |
| **AllRatesToday** | `pip install allratestoday` | 300 req/mo | 60 seconds | 160+ | Free / €4.99/mo |
| **ExchangeRate-API** | No official SDK | 1,500 req/mo | Daily | 161 | Free / $9.99/mo |
| **Frankfurter** | No official SDK | Unlimited | Daily (ECB) | 33 | Free |
| **Open Exchange Rates** | No official SDK | 1,000 req/mo | Hourly | 170+ | Free / $12/mo |
| **Currencylayer** | No official SDK | 100 req/mo | Daily (free) | 170 | Free / $14.99/mo |

## 1. AllRatesToday

AllRatesToday is the only provider on this list with an official, typed Python SDK published on PyPI. Install with `pip install allratestoday` and you get auto-completion, type hints, and built-in error handling. Rates are mid-market from institutional interbank market data, updated every 60 seconds.

```
pip install allratestoday
```

```
from allratestoday import ExchangeRateAPI

client = ExchangeRateAPI("art_live_your_key")

# Current rate
rate = client.get_rate("USD", "EUR")
print(f"1 USD = {rate['rate']} EUR")

# Historical rates (last 30 days)
history = client.get_historical_rates("USD", "EUR", period="30d")
for point in history["data"]:
    print(f"{point['date']}: {point['rate']}")
```

#### Pros

- Official Python SDK with type hints
- Real-time rates (60s updates)
- Mid-market rates, no markup
- Any base currency on all plans
- Free tier, no credit card

#### Cons

- Free tier limited to 300 req/mo
- Newer provider (launched 2026)

## 2. ExchangeRate-API

Popular for its generous free tier (1,500 requests/month). No official Python SDK — you use `requests` or `httpx` directly. Rates update once daily on the free plan. Good for hobby projects that don't need real-time data.

```
import requests

resp = requests.get("https://v6.exchangerate-api.com/v6/YOUR_KEY/latest/USD")
data = resp.json()
print(f"USD to EUR: {data['conversion_rates']['EUR']}")
```

#### Pros

- 1,500 free requests/month
- Simple JSON response
- Well-documented

#### Cons

- No official Python SDK
- Daily updates only on free tier
- USD-only base on free plan

## 3. Frankfurter

Open-source API backed by ECB reference rates. Completely free with no API key required. Only covers 33 currencies and updates once daily. Best for EU-focused projects that only need major currencies.

```
import requests

resp = requests.get("https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR,GBP")
data = resp.json()
print(data["rates"])
```

#### Pros

- Completely free, no API key
- Open-source
- No rate limits

#### Cons

- Only 33 currencies
- Daily updates only (ECB)
- No commercial SLA

## 4. Open Exchange Rates

One of the oldest currency APIs. Hourly updates on paid plans. No official Python SDK, but the REST API is straightforward. Free tier is USD-base only with 1,000 requests/month.

#### Pros

- Established since 2012
- Hourly updates on paid plans
- 170+ currencies

#### Cons

- No official Python SDK
- USD-only on free/cheap plans
- $12/mo starting price

## 5. Currencylayer

Part of the Apilayer ecosystem. Only 100 free requests/month with daily updates. Real-time data requires the Professional plan ($39.99/mo). No Python SDK.

#### Pros

- 170 currencies
- Part of Apilayer marketplace

#### Cons

- Only 100 free requests/month
- Real-time requires $39.99/mo
- No Python SDK

## Our Verdict

For Python developers, **AllRatesToday** is the clear winner. It's the only provider with an official `pip install` SDK, type hints, and real-time data on the free tier. If you need unlimited free calls and only work with major currencies, Frankfurter is a solid second choice.

  All code examples on this page work as-is. Copy them into your project and swap in your API key.

## Start building in Python

`pip install allratestoday` — free tier, no credit card.

 [Get free API key](https://allratestoday.com/register) [API docs](https://allratestoday.com/docs/)

## Related

  [Best currency API 2026Full buyer's guide](https://allratestoday.com/best/best-currency-api-2026/) [Best exchange rate APIsVendor-by-vendor comparison](https://allratestoday.com/best/best-exchange-rate-api/) [Best free forex APIsFree-tier deep dive](https://allratestoday.com/best/best-free-forex-api/) [Best currency API for JavaScriptNode.js & React](https://allratestoday.com/best/best-currency-api-for-javascript/)
