Quick answer: Fixer API is free for 100 requests per month on a non-commercial basis, with EUR locked as the base currency. Paid plans run from $14.99 per month for 10,000 requests up to $99.99 per month for 500,000 requests, with rate update speed rising from hourly to 60 seconds as you move up the tiers. Commercial use, base currency switching and the conversion endpoint all require a paid plan.
Most developers hit the same wall with Fixer within an afternoon of signing up. The free tier caps you at 100 requests per month, locks the base currency to EUR, and is licensed for non-commercial use only. That last restriction catches teams out more often than the request cap does, because a side project that starts earning money is no longer covered by it.
The paid ladder starts at $14.99 per month, or $13.99 if you pay annually. That buys 10,000 requests and hourly rate updates. Faster updates and the time-series and fluctuation endpoints sit further up the ladder, at $59.99 and $99.99 per month.
This article lays out every Fixer plan and what it includes, explains exactly which restrictions bite on the free tier, shows how to authenticate and make a first request, and compares Fixer against four alternative currency APIs on price per request rather than on feature checklists. If you have already decided to move, the step-by-step migration guide covers every endpoint change with working code in Python, JavaScript, and PHP.
What Is the Fixer API?
Fixer is a REST API that returns foreign exchange rates for around 170 currencies as JSON. It is operated by apilayer and sources its reference rates from financial data providers and central banks, including the European Central Bank. You authenticate with an access key passed as a query string parameter, and every endpoint returns a flat JSON object keyed by ISO 4217 currency code.
The API exposes six endpoints. latest returns current rates. historical returns rates for a single past date. convert turns an amount in one currency into another. timeseries returns rates across a date range. fluctuation returns the change between two dates. symbols lists supported currency codes.
Rates are quoted against a single base currency. On the free tier that base is fixed to EUR, so a USD-based application has to divide every returned rate itself, which introduces rounding error on long conversion chains. Switching the base at the API level requires a paid plan.
Fixer is a data API only. There is no dashboard widget, no hosted converter, and no client SDK maintained by the vendor. You call the endpoint and handle the response yourself.
Fixer API Pricing: Every Plan and What It Costs
Fixer publishes five tiers. Prices below are the monthly billing rate, with the discounted annual rate shown in brackets where one exists.
| Plan | Monthly price | Requests per month | Update frequency | Commercial use | Base currency | Endpoints beyond latest and historical |
|---|---|---|---|---|---|---|
| Free | $0 | 100 | Hourly | No | EUR only | None |
| Basic | $14.99 ($13.99 annual) | 10,000 | Hourly | Yes | All | Convert |
| Professional | $59.99 ($52.99 annual) | 100,000 | 10 minutes | Yes | All | Convert, time-series |
| Professional Plus | $99.99 ($84.99 annual) | 500,000 | 60 seconds | Yes | All | Convert, time-series, fluctuation |
| Enterprise | Custom | Volume | 60 seconds | Yes | All | All |
Two things in that table decide most purchases. The first is that commercial use begins at $14.99, not at $0, so any revenue-generating project starts on a paid plan regardless of how few requests it makes. The second is that update frequency, not request volume, is what pushes teams up the ladder. A trading dashboard needing sub-minute rates lands on Professional Plus at $99.99 even if it only makes 20,000 calls, because the 60 second refresh is gated to that tier.
Cost per 1,000 requests works out at $1.50 on Basic, $0.60 on Professional and $0.20 on Professional Plus. The unit price improves sharply with volume, which suits high-throughput applications and penalises low-volume commercial ones.
Prices verified against fixer.io/pricing on 10 September 2026.
What the Fixer Free Plan Actually Limits
The Fixer free plan gives you 100 API requests per month. Spread across a 30 day month that is roughly three calls per day, which is enough to prove an integration works and not enough to run anything on a schedule. A cron job polling once an hour exhausts the month in just over four days.
Four restrictions apply beyond the request cap:
Non-commercial use only. The free tier licence does not cover revenue-generating applications. This is the restriction that most often forces an upgrade, and it applies regardless of request volume.
EUR base currency. Rates are quoted against EUR and cannot be rebased through the API. Converting USD to GBP means fetching both against EUR and dividing client-side.
No conversion endpoint. The convert endpoint that turns an amount into a target currency is a paid feature. On the free tier you fetch raw rates and do the arithmetic yourself.
Hourly updates. Rates refresh once per hour. That is acceptable for accounting and invoicing, and too slow for anything priced against live markets.
SSL is included on the free plan, so free tier traffic is encrypted. Historical data is also available at the free tier, subject to the same 100 request cap.
How to Get a Fixer API Key and Make Your First Request
Fixer issues an access key on signup at fixer.io. The key is passed as an access_key query parameter rather than in a header, which means it appears in server logs and browser history if you call the API from client-side code. Keep the call server-side.
A latest rates request looks like this:
curl "https://data.fixer.io/api/latest?access_key=YOUR_API_KEY&symbols=USD,GBP,JPY"
Returns a JSON object with a base of EUR on the free tier, a date field, and a rates object keyed by ISO 4217 code.
The equivalent request against CurrencyFreaks uses a header-free query parameter as well, but lets you set the base currency on the request:
curl "https://api.currencyfreaks.com/v2.0/rates/latest?apikey=YOUR_API_KEY&symbols=EUR,GBP,JPY&base=USD"
Returns a JSON object with base set to USD, a date field, and a rates object keyed by ISO 4217 code.
In Python, with error handling that both APIs need because both return HTTP 200 on a rejected key:
import requests
def get_rates(api_key, base="USD", symbols="EUR,GBP,JPY"):
url = "https://api.currencyfreaks.com/v2.0/rates/latest"
params = {"apikey": api_key, "base": base, "symbols": symbols}
response = requests.get(url, params=params, timeout=10)
response.raise_for_status()
payload = response.json()
if "rates" not in payload:
raise RuntimeError(f"API error: {payload}")
return payload["rates"]
print(get_rates("YOUR_API_KEY"))
Prints a dictionary of rates quoted against USD. Full endpoint reference is in the CurrencyFreaks documentation.
The one behaviour that catches people migrating between the two: Fixer returns an error inside a 200 response body under an error key, so a bare response.ok check passes on an invalid key and your code silently reads an empty rate set. Check for the rates key explicitly, as above.
CurrencyFreaks Vs. Fixer API
| Feature | Fixer | CurrencyFreaks |
|---|---|---|
| Free plan requests | 100 per month | 1,000 per month |
| Free plan commercial use | Explicitly non-commercial | No stated restriction |
| Free plan base currency | EUR only | USD only |
| Free plan update frequency | Hourly | 24 hours |
| Entry paid plan | $14.99 for 10,000 requests | $9.99 for 15,000 requests |
| Cost per 1,000 requests, entry plan | $1.50 | $0.67 |
| Hourly updates from | $14.99 | $9.99 |
| 10 minute updates from | $59.99 | $49.99 |
| 60 second updates from | $99.99 | $99.99 |
| Supported currencies | About 170 | 229 |
| Historical rates | All plans | All plans |
| Base currency switching | Paid plans only | Paid plans only |
| Conversion endpoint | Paid plans only | All plans |
| Time series endpoint | From $59.99 | From $99.99 |
| Fluctuation endpoint | From $99.99 | From $99.99 |
| IP to currency endpoint | Not offered | From $49.99 |
| SSL | All plans | All plans |
| Response formats | JSON | JSON and XML |
| Free plan support | None | Limited |
Read the two entry rows together, because that is where the difference is largest. Both APIs charge for commercial use, but the entry ticket is $14.99 for 10,000 Fixer requests against $9.99 for 15,000 CurrencyFreaks requests, which is a 2.2x difference in cost per request. Higher up the ladder the gap narrows and the 60 second tier costs the same on both.
Two rows favour Fixer and are worth saying plainly. Fixer's free tier refreshes hourly against 24 hours on the CurrencyFreaks free tier, and Fixer's time-series endpoint unlocks at $59.99 against $99.99. If your project needs time series on a small budget, Fixer is the cheaper route. See the full plan breakdown for what each CurrencyFreaks tier includes.
CurrencyFreaks API
CurrencyFreaks is a REST API for real-time and historical exchange rates, returning JSON or XML. It covers 229 world currencies across fiat, precious metals and cryptocurrencies, listed in full on the supported currencies page.
The free tier allows 1,000 requests per month with USD as the base currency, 24 hour rate updates, and SSL on every plan. Paid tiers add base currency switching and faster updates: hourly at $9.99, 10 minute at $49.99, and 60 second at $99.99. The IP-to-currency endpoint starts at $49.99. The time-series and fluctuation endpoints start at $99.99.
The endpoint set covers latest rates, historical rates, conversion, time series, fluctuation, and IP-to-currency detection. There is no client SDK, so integration is a plain HTTP call in whatever language your service already uses.
Fixer API
Fixer covers around 170 currencies, sourced from financial data providers and central banks including the European Central Bank. It is operated by apilayer and shares infrastructure with currencylayer and several sibling APIs on the same platform.
The free tier allows 100 requests per month, non-commercial use only, EUR base only, with hourly updates and SSL included. Paid tiers start at $14.99 for 10,000 requests and unlock commercial use, all base currencies, and the conversion endpoint. Time series arrives at $59.99, fluctuation at $99.99.
Fixer's strength is data lineage. If your requirement is ECB reference rates specifically, for accounting or regulatory reporting, that is what Fixer is built to deliver. Its weakness is the shape of the free tier, which is a trial rather than a working allowance.
Fixer vs Four Alternative Currency APIs
Fixer is usually shortlisted against three or four other providers rather than evaluated alone. The table compares free tier allowance, the price of the cheapest commercially licensed plan, and what that plan buys per 1,000 requests.
| Provider | Free tier requests | Free tier commercial use | Cheapest commercial plan | Requests included | Cost per 1,000 requests |
|---|---|---|---|---|---|
| Fixer | 100 per month | Explicitly non-commercial | $14.99 | 10,000 | $1.50 |
| CurrencyFreaks | 1,000 per month | No stated restriction | $9.99 | 15,000 | $0.67 |
| Open Exchange Rates | [VERIFY] | [VERIFY] | [VERIFY] | [VERIFY] | [VERIFY] |
| Currencylayer | [VERIFY] | [VERIFY] | [VERIFY] | [VERIFY] | [VERIFY] |
| ExchangeRate-API | [VERIFY] | [VERIFY] | [VERIFY] | [VERIFY] | [VERIFY] |
Fixer and Currencylayer are both apilayer products built on shared infrastructure, so shortlisting both adds little to an evaluation. Pick one or the other and spend the time on a provider from a different stack.
The axis that separates these providers is not the feature list, which is close to identical across all five. It is the licensing of the free tier and the price of the first commercially licensed plan. Fixer publishes a non-commercial free licence, so a small revenue-generating service pays from its first request no matter how little traffic it has. Check that clause on any provider you shortlist before you compare anything else, because it decides whether a free tier is a trial or a working allowance.
Where Fixer holds up is data provenance. Its ECB-sourced reference rates carry a documented lineage that matters for financial reporting, and cheaper options do not always describe their sourcing as precisely. If you need a defensible rate for a ledger entry rather than a rate for a price display, that outweighs unit cost. For a wider view of the market, see the currency exchange API comparison, and for the closest priced competitor, the Open Exchange Rates pricing breakdown.
Fixer and CurrencyFreaks figures verified 10 September 2026. Third party plan prices change without notice, so confirm against each vendor's pricing page before budgeting.
When Fixer Is the Right Choice and When It Is Not
Fixer is the right choice when your rates need a documented source. Accounting systems, invoicing, tax reporting and anything that may be audited benefit from ECB reference rates with a clear lineage, and Fixer is explicit about where its numbers come from. It is also a reasonable pick if you need the time-series endpoint on a modest budget, since it unlocks at $59.99 rather than $99.99.
Fixer is the wrong choice in three situations. The first is any commercial project with low request volume, because the non-commercial free licence forces a $14.99 minimum spend for what might be a hundred calls a month. The second is anything needing sub-minute rates below the $99.99 tier. The third is a USD-denominated application on a tight budget, because rebasing EUR-quoted rates client-side compounds rounding error across chained conversions and the fix is a paid plan.
The honest summary is that Fixer prices its data lineage, not its throughput. Teams that need the provenance find it fair. Teams that need volume find it expensive. Work out which of the two you are before comparing feature tables, because the feature tables across all of these providers look nearly identical and the pricing does not.
Migrating Off Fixer Without Rewriting Your Application
Both Fixer and most of its alternatives return a flat rates object keyed by ISO 4217 code, so the response parsing in your application usually survives a migration untouched. What changes is the authentication parameter name, the base URL, and the way base currency is specified.
The practical approach is to wrap your existing Fixer call in a function that takes a base and a symbol list and returns a dictionary, then swap the implementation inside that function. Run both providers side by side for a week and log the rate difference per pair. Reference rates from different sources diverge in the fourth or fifth decimal place, which is invisible on a price display and material on a large ledger entry, so measure it before you cut over rather than after.
You can sanity check individual pairs without writing any code using the currency converter, which is useful for confirming that a rate your new integration returns matches what the provider publishes.
The migration guide covers the endpoint mapping in Python, JavaScript, and PHP.
Conclusion
Fixer API pricing is straightforward once you see past the free tier. That tier is a 100 request trial licensed for non-commercial use, not a working allowance, so almost every real project starts at $14.99 per month. From there the unit economics improve steeply with volume, and the tiers are structured around update speed rather than request count.
Choose Fixer if documented ECB provenance matters more to you than cost per request. Choose an alternative if you need commercial use on a free tier, sub-minute rates below $99.99, or a lower entry price for a small production service.
If you have decided to move, the migration guide maps every Fixer endpoint to its equivalent with working code, and covers the error handling difference that trips up most cutovers.

FAQs
How Many Free API Calls Does Fixer Offer?
Fixer's free plan provides 100 API requests per month, licensed for non-commercial use only. The base currency is fixed to EUR and the conversion endpoint is unavailable. SSL is included on the free plan. Any commercial project needs a paid plan regardless of how few requests it makes.
What Does Fixer API Cost?
Fixer Basic costs $14.99 per month billed monthly, or $13.99 per month billed annually, and includes 10,000 requests. Professional is $59.99 for 100,000 requests with 10 minute updates. Professional Plus is $99.99 for 500,000 requests with 60 second updates. Enterprise pricing is custom.
Can I Change The Base Currency On Fixer’s Free Plan?
No. The Fixer free plan quotes every rate against EUR and the base cannot be changed through the API. Every paid tier from Basic upward allows any base currency. On the free tier you rebase client-side by dividing two EUR-quoted rates, which introduces rounding error on chained conversions.
What Is The Best Free Alternative To Fixer API?
It depends on whether your project is commercial. Fixer's free tier is explicitly licensed for non-commercial use, so a revenue-generating service cannot use it at any volume. CurrencyFreaks states no such restriction and allows 1,000 requests per month with USD as the base. For a paid commercial project the entry comparison is $9.99 for 15,000 CurrencyFreaks requests against $14.99 for 10,000 Fixer requests.
Does Fixer Provide Historical Exchange Rates?
Yes. Historical rates are available on every Fixer plan including the free tier, through the historical endpoint with a date parameter. The limit on the free tier is the 100 request monthly cap, not the endpoint itself, so backfilling a year of daily rates would need at least four months of free tier allowance or a paid plan.
Is Fixer Reliable For Real-Time Exchange Rates?
It depends on the tier. Fixer sources rates from the European Central Bank and other financial data providers, and the sourcing is well documented. Update frequency is hourly on Free and Basic, 10 minutes on Professional, and 60 seconds on Professional Plus and Enterprise. Only the top two tiers refresh fast enough for real-time pricing.
Is there a free currency API with no request limit?
No established provider offers unlimited free requests. Fixer allows 100 per month and CurrencyFreaks allows 1,000, and both cap update frequency on the free tier at hourly or slower. The more important limit is licensing rather than volume: Fixer's free tier is explicitly non-commercial, while CurrencyFreaks states no such restriction. Check the licence clause before the request count.
Can I use the Fixer free plan in a commercial product?
No. The Fixer free tier is licensed for non-commercial use only, and this applies regardless of how few requests the product makes. A revenue-generating application needs Basic at $14.99 per month or above. If you need commercial use without a subscription, the CurrencyFreaks free tier states no non-commercial restriction and allows 1,000 requests per month.
Where do I put the Fixer API key in a request?
Fixer takes the key as an access_key query string parameter rather than an Authorization header. Because the key sits in the URL it will appear in server access logs, proxy logs and browser history, so route the call through your own backend rather than calling Fixer from client-side JavaScript.




