Home Documentation Playground Pricing API Status Blog About FAQ Support

Best Currency API for Python in 2026

Ranked comparison of the best currency exchange rate APIs with Python SDKs. Code examples, pricing, and pros/cons 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 Reuters/Refinitiv, 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 API docs

Related