# Historical Fiat Exchange Rates API

> Historical Fiat Exchange Rates API is a paid API for AI agents from currency-api-production-4a8d.up.railway.app, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-16).

Returns historical fiat currency exchange rates for a specified date (back to 1999-01-04) and base currency, sourced via ECB/Frankfurter

## Facts

- Endpoint: POST https://currency-api-production-4a8d.up.railway.app/rates/historical
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/historical-fiat-exchange-rates-api-9d12ee10
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5YLvLPaIllbDVg-XJVb56

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability historical-fiat-exchange-rates-api-9d12ee10 -d '<json body>'
```

Example prompt: What were all the exchange rates against EUR on March 15 2022, going back to that specific date? I need the historical ECB rates — especially USD, GBP, and JPY.

## When to prefer this

Choose this endpoint when you need exchange rates for a specific historical date rather than the current rate. It is ideal for financial reconciliation, auditing, expense reporting, or research requiring rates on a past date. For current/latest rates, prefer the sibling latest-rates endpoint. For currency conversion with amount calculation, prefer the conversion endpoint.

## Known failure modes

- Date before 1999-01-04 returns an error (data not available before ECB history begins)
- Weekend or holiday dates may return no data or the most recent prior business day's rates
- Invalid ISO 4217 currency code returns a 4xx error
- Date format not matching YYYY-MM-DD causes a validation error
- Unknown or unsupported currency in symbols list may result in partial or empty response

## How this service works

Historical fiat exchange rates for a given date (YYYY-MM-DD, back to 1999-01-04) and base currency; optionally restrict to specific targets.

## Output

Returns a JSON object containing the specified base currency, the queried date, and a map of target currency codes to their exchange rate values relative to the base on that date. If symbols are specified, only those currency pairs are returned; otherwise all available rates for that date are included.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "base": {
   "type": "string",
   "description": "Base currency ISO 4217 code, e.g. 'USD'. Defaults to USD if omitted."
  },
  "date": {
   "type": "string",
   "description": "Date in YYYY-MM-DD format, back to 1999-01-04, e.g. '2024-01-15'."
  },
  "symbols": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Optional list of target currency codes to restrict the response, e.g. ['EUR', 'GBP']. Omit for all rates."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/historical-fiat-exchange-rates-api-9d12ee10/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from currency-api-production-4a8d.up.railway.app](https://www.zero.xyz/host/currency-api-production-4a8d.up.railway.app/llms.txt)
