allratestoday-com Compatibility API
Drop-in JSON shapes for exchangeratesapi.io, Fixer, exchangerate.host and Frankfurter, served from the ECB reference table.
Drop-in JSON shapes for exchangeratesapi.io, Fixer, exchangerate.host and Frankfurter, served from the ECB reference table.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/allratestoday-com:allratestoday-com-compatibility-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: AllRatesToday Exchange Rate & Central Bank Rates…
description: 'Live mid-market exchange rates for 160+ currencies plus official rates from 122 central banks and 4 tax authorities (ECB, the Fed, Bank of Canada, CBSL, Banxico, HMRC, US Treasury and more).
## Data
- **Market rates** (`/api/rate`, `/api/v1/rates`, `/api/historical-rates`): live mid-market rates, refreshed roughly every 60 seconds.
- **Central-bank rates** (`/api/v1/central-bank/*`, `/api/open/central-bank/*`): the official tables exactly as published by each institution, one table per publication date. History reaches back to 2000 and earlier for major sources (ECB from 1999, Bank of Canada from 1950s-era series where published).
- **Daily Reference Rate** (`/api/open/reference-rate`, `/api/v1/reference-rate/*`): one immutable mid-market USD table per business day, fixed at 16:00 London (median of a five-minute sampling window). For index calculation, research and reporting; not a registered benchmark. Methodology: https://allratestoday.com/reference-rate/
## Authentication
Most endpoints require an API key sent as `Authorization: Bearer art_live_...`. Get a free key at https://allratestoday.com/register, or self-issue a 100-call trial key with no account via `POST /api/agent/keys` (built for AI agents). Logged-in dashboard users can also authenticate with their session cookie.
Keyless endpoints: `/api/v1/symbols` and `/api/open/central-bank/{bank}` (attribution required), plus JSON reads of `/api/public/central-bank/{bank}`.
## Output formats
Endpoints that return tabular data accept `?format=json|csv|xml|xlsx` (CSV is UTF-8 with BOM; XLSX is a real Excel workbook; default json).
## Plans
Free plan: latest central-bank tables included. Historical central-bank dates and time series require a paid plan. See https://allratestoday.com/pricing.'
version: 2.2.0
contact:
name: AllRatesToday Support
url: https://allratestoday.com
email: support@allratestoday.com
servers:
- url: https://allratestoday.com
description: Production
tags:
- name: Compatibility
description: Drop-in JSON shapes for exchangeratesapi.io, Fixer, exchangerate.host and Frankfurter, served from the ECB reference table.
paths:
/api/compat/{provider}/latest:
get:
tags:
- Compatibility
operationId: compatLatest
summary: Latest ECB table in a legacy provider's JSON shape — keyless
description: Drop-in replacement for exchangeratesapi.io, the Fixer free tier, exchangerate.host and Frankfurter. Same fields those APIs returned, plus additive `source` and `attribution`. Keyless, CORS, edge-cached. See https://allratestoday.com/migrate/
parameters:
- name: provider
in: path
required: true
schema:
type: string
enum:
- exchangeratesapi
- fixer
- exchangerate-host
- frankfurter
description: Which provider's response shape to reproduce.
- name: base
in: query
schema:
type: string
example: USD
description: 'Base currency (Frankfurter alias: from). Default EUR.'
- name: symbols
in: query
schema:
type: string
example: GBP,JPY
description: 'Comma-separated quote currencies (Frankfurter alias: to). Default: all.'
- name: amount
in: query
schema:
type: number
default: 1
description: Frankfurter-style multiplier.
responses:
'200':
description: Provider-shaped table
content:
application/json:
example:
base: USD
date: '2026-09-12'
rates:
GBP: 0.7377
JPY: 146.91
source: European Central Bank reference rates, served by AllRatesToday
attribution: https://allratestoday.com/migrate/
'400':
description: Unknown base or bad symbols, in the provider's error shape
/api/compat/{provider}/{path}:
get:
tags:
- Compatibility
operationId: compatDatedOrRange
summary: Dated table, date range or currency list in a legacy shape
description: '`{YYYY-MM-DD}` for the table in force on a date; `history?start_at&end_at` (exchangeratesapi), `timeseries?start_date&end_date` (Fixer, exchangerate.host) or `{from}..{to}` (Frankfurter) for one table per published date, limited to 366 days and billed one request per month covered; `symbols` / `currencies` for the currency list (keyless). Dated and range lookups need a free API key.'
security:
- ApiKeyAuth: []
- {}
parameters:
- name: provider
in: path
required: true
schema:
type: string
enum:
- exchangeratesapi
- fixer
- exchangerate-host
- frankfurter
description: Which provider's response shape to reproduce.
- name: path
in: path
required: true
schema:
type: string
example: '2026-01-15'
- name: base
in: query
schema:
type: string
example: USD
description: 'Base currency (Frankfurter alias: from). Default EUR.'
- name: symbols
in: query
schema:
type: string
example: GBP,JPY
description: 'Comma-separated quote currencies (Frankfurter alias: to). Default: all.'
responses:
'200':
description: Provider-shaped table or timeseries
'401':
description: Free API key required
'404':
description: No published rates for that date or range
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API key from your AllRatesToday dashboard. Example: `Authorization: Bearer art_live_xxxxx`. Free keys at https://allratestoday.com/register. Agents without an account: `POST /api/agent/keys` issues a 100-call trial key instantly.'
apiKeyQuery:
type: apiKey
in: query
name: key
description: API key as a query parameter (accepted on /api/rate only; `apiKey` is an alias)
sessionCookie:
type: apiKey
in: cookie
name: art_session
description: Session cookie for logged-in dashboard users