Comparison · Frankfurter (open source)
Fiat Agent vs Frankfurter
No key, no account, central-bank rates — genuinely free, and genuinely daily.
What
Frankfurter
Fiat Agent
Cost
Frankfurter
Free, no key, no account, open source.
Fiat Agent
Open endpoint free with no key; a key opens with a one-time 5,000-request signup bonus, then one-time packs.
Cadence
Frankfurter
Daily reference rates as published by the underlying sources.
Fiat Agent
The store is refreshed on a fixed cadence and every response states the timestamp of the reading behind it.
Base currency
Frankfurter
Any base, with cross rates calculated server-side.
Fiat Agent
Any published code, on both endpoints, with ?base=.
History
Frankfurter
Daily history from the underlying official sources.
Fiat Agent
Every reading ever stored, reachable by UTC date range with ?from= and ?to=, or as up to 2,000 recent readings with ?snapshots=.
Accounts and keys
Frankfurter
None. Nothing to rotate, nothing to meter.
Fiat Agent
Per-account keys you can label and revoke, with a visible balance and per-key usage.
Throttling
Frankfurter
No published per-client windows; fair use.
Fiat Agent
The open endpoint is bounded (5 per second, 50 per hour, 50 per day); keyed calls are not.
Output
Frankfurter
JSON and CSV.
Fiat Agent
JSON only, with CORS enabled on every response.
Their figures are as published on their own pricing pages — check theirs before you buy, check ours before you plan
The short version
Frankfurter is the honest answer to a lot of searches for a free currency API: no key, no account, no billing, open source, and reference rates from central banks and official sources. If all you need is a daily reference figure for a chart or a calculator, it is hard to beat free.
The trade-off is cadence and control. Central-bank reference rates are published once per business day, so intraday movement is not visible; there is no account, so there is no per-account balance, key rotation or usage record. Fiat Agent exists for the cases where those things matter — and it also has an open endpoint, so you can compare them without signing up for anything.
When Frankfurter is the right call
If your page shows yesterday's official rate, or a chart of monthly averages, then a daily central-bank reference figure is exactly the semantics you want — and paying for anything else would be a mistake.
It is also the only option here you can self-host, which some teams require for compliance reasons. That is a real advantage no hosted API can match.
When a stored, metered reading helps
Two things get harder with a public, unmetered endpoint: knowing how old a figure is, and knowing which of your systems used it. Fiat Agent stores each reading before serving it and returns the timestamp of that reading, so a displayed price can always be traced to the moment it was taken.
The other difference is operational: keys you can revoke per environment, a balance that tells you what a service is consuming, and responses that fail loudly with typed error codes rather than an empty object.
JavaScript · proving a quote's age
const res = await fetch("https://fiatagent.base44.app/api/v1/public/rates");
const { meta, data } = await res.json();
const ageMinutes = Math.round((Date.now() - new Date(meta.updated_at)) / 60000);
console.log(data.latest.rates.EUR, "EUR per USD, read", ageMinutes, "minutes ago");Trying both costs nothing
Frankfurter needs no signup, and neither does Fiat Agent's open endpoint. Fetch the same pair from both, compare the figures against the official source, and pick the one whose cadence matches what you display. That is a ten-minute decision, not a procurement exercise.
The honest split
Choose Frankfurter when
- You need one daily official figure and nothing else.
- You must self-host, or you cannot depend on a vendor.
- You want CSV as well as JSON with no account at all.
Choose Fiat Agent when
- You want a finer-than-daily reading with a timestamp on every response.
- You need revocable keys, per-account balances and usage you can attribute.
- You want current rates and a date-range history from one contract.
Frankfurter questions, answered
Is Fiat Agent free like Frankfurter?
The open endpoint is free and needs no key, capped at 5 per second, 50 per hour, 50 per day per client. A key does not cost anything either — every account opens with a 5,000-request signup bonus that never expires. You only pay when you buy more requests.
Where do Fiat Agent's rates come from?
One upstream provider, read into Fiat Agent's own store and served from there. The About page states the provider, the derivation method and the timestamp of the latest stored reading.
Can I self-host Fiat Agent?
No. It is a hosted service with a managed store. If self-hosting is a requirement, an open-source option is the right choice.
Test the claim in one request.
No key, no card: call the open endpoint on both services, compare the reading timestamps, and pick on evidence.