---
title: "Historical market rates for a currency pair"
method: GET
path: "/api/historical-rates"
tags: ["Market Rates"]
---

# Historical market rates for a currency pair

`GET /api/historical-rates`

## Request

- Base URL: `https://allratestoday.com`
- URL: `https://allratestoday.com/api/historical-rates`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `art_session`

Time series of mid-market rates for one pair over a preset period. `1d` returns hourly points; `7d` and `30d` daily points; `1y` weekly-sampled points. Requires an API key (Bearer header) or a logged-in session.

## Query parameters

- `source` string, required
- `target` string, required
- `period` '1d' | '7d' | '30d' | '1y'
- `format` 'json' | 'csv' | 'xml' | 'xlsx'

## Response `200`

Historical series (oldest first)

- object
  - `source` string, required
  - `target` string, required
  - `data` object[], required
    - `date` string: YYYY-MM-DD (ISO date-time for 1d period)
    - `rate` number, double
    - `timestamp` integer: Unix time in milliseconds
  - `source_api` string
  - `period` '1d' | '7d' | '30d' | '1y', required

## Other responses

- `400`: Invalid or missing parameters
- `401`: Authentication required — provide an API key via `Authorization: Bearer art_live_...` (free keys at https://allratestoday.com/register)
- `429`: Monthly request limit exceeded (X-Monthly-Limit / X-Monthly-Used / X-Monthly-Resets headers included)
- `500`: Server or upstream error

---

[API](https://skmtc.dev/allratestoday/apis/allratestoday-exchange-rate-central-bank-rates-api.md) · [All operations](https://skmtc.dev/allratestoday/apis/allratestoday-exchange-rate-central-bank-rates-api/llms.txt) · [OpenAPI document](https://skmtc.dev/allratestoday/apis/allratestoday-exchange-rate-central-bank-rates-api/revisions/c2e58e9b4da4?raw)
