Frankfurter
- Free allowance
- Free public API at api.frankfurter.dev: no key, no quotas, no monthly or daily caps; requests are rate-limited only to prevent abuse; 228 currencies from 106 central banks and official sources, history back to 1948
- Verdict
- ★ qualifiesusable as stated; the read path was probed
- Cost
- free tier
- Identity
- anonymousno card, no phone
- Binding limit
- request-raterate-limited to prevent abuse, size not published; no monthly or daily caps
- Evidence
- documented6 sources; a first-party page was read and the sentence quoted
- Freshness
- stale on 2026-12-04checked 2026-11-03 (live); stale on 2026-12-04
| Free tier | Free public API at api.frankfurter.dev: no key, no quotas, no monthly or daily caps; requests are rate-limited only to prevent abuse; 228 currencies from 106 central banks and official sources, history back to 1948 unit unlimited; metered on none; v2 is current and v1 is deprecated but stays available. Rates update once a day. Output is JSON, CSV or NDJSON. Keyless v1 and v2 rate calls answered HTTP 200; one earlier call answered a transient 522. |
|---|---|
| Price | none stated |
| Limits |
Bulk path: request a date range with from and to as NDJSON or CSV to stream the whole series. Storage terms: storing daily observations locally for caching or analytics is encouraged by the vendor. |
| Binding | request-rate Only an unpublished abuse limit exists; there is no quota. |
| Identity | anonymous No key and no account: the vendor says no API key is needed and keyless calls answered HTTP 200. |
| Egress | not metered; no quota is stated |
| Per-object cap | not stated; narrow quotes and use NDJSON for large date ranges |
| Interface | rest GET https://api.frankfurter.dev/v2/rates, /v2/rate/BASE/QUOTE and /v2/providers/ecb/rates; .csv suffix or Accept: application/x-ndjson for CSV and NDJSON; an MCP server at mcp.frankfurter.dev endpoint: https://api.frankfurter.dev/v2 |
| Tooling | curl or any HTTP client; the open-source project can also be installed and run by the user with Docker, which is the last resort after the hosted public API. |
| Composes with | Keyless daily reference rates to convert prices from the crypto and finance records; cache the daily rows locally. |
| Reliability | One call answered a transient HTTP 522 from the edge; later calls answered 200. |
| Notes | Keyless, no quotas. Bulk path: date ranges as NDJSON or CSV. Storage: local caching is encouraged. |
| Evidence note | documented Terms are read from the vendor page; keyless v1 and v2 calls answered 200; the abuse limit was not measured. |
| Parsed numbers |
|
Evidence 6
| date | source | what it proved |
|---|---|---|
| 2026-11-02 | frankfurter.dev/ | 228 currencies from 106 sources, daily, back to 1948 |
| 2026-11-02 | frankfurter.dev/ | no API key is needed |
| 2026-11-02 | frankfurter.dev/ | no quotas or monthly or daily caps |
| 2026-11-02 | frankfurter.dev/ | storing daily observations locally is encouraged |
| 2026-11-02 | frankfurter.dev/ | NDJSON streams large time series |
| 2026-11-02 | probe: https://api.frankfurter.dev/v2/rates | a keyless v2 rates call answered HTTP 200 |
More fields 2
| bulk path | from/to date ranges streamed as NDJSON or CSV |
|---|---|
| history depth | back to 1948 |
Unknown values 1
- retention stated: the field does not apply to this kind of offer