---
title: "Get available data providers"
method: GET
path: "/providers"
---

# Get available data providers

`GET /providers`

Returns available exchange rate data providers with their publication coverage. A provider start_date can predate the daily blend or the availability of a requested base or quote. Use /coverage for queryable history.

## Response `200`

Available providers

- Provider[]
  - `key` string, required — Provider identifier
  - `name` string, required — Full provider name
  - `country_code` string, nullable — ISO 3166-1 alpha-2 country code
  - `rate_type` string, nullable — Official rate type as used by the source
  - `pivot_currency` string, nullable — Base currency for published rates
  - `data_url` string, uri, nullable — Link to the data source
  - `terms_url` string, uri, nullable — Link to terms of use
  - `start_date` string, date, nullable — Earliest publication coverage date; use /coverage for queryable pairs
  - `end_date` string, date, nullable — Latest publication coverage date; use /coverage for queryable pairs
  - `publish_cadence` 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'null', nullable — How often the provider publishes rates. Determines the unit of publishes_missed: a count of days, ISO weeks, calendar months, or calendar quarters. Null for historical-only providers with no scheduled cadence.
  - `frequency` 'daily' | 'monthly' | 'quarterly' — The period each observation stands for, after SDMX FREQ. A daily value is dated on the day observed. A monthly or quarterly value is dated on the day it takes effect and stands for the period until the next one. Values coarser than daily never enter the blend: query them by provider.
  - `publishes_missed` integer, nullable — Number of expected publishes missed since end_date, in units of publish_cadence. For daily providers, counts scheduled publish days strictly between end_date and today. For weekly, monthly and quarterly providers, counts ISO weeks, calendar months or calendar quarters between the latest imported bucket and the bucket whose publish window has already started. Null when the provider has no scheduled cadence or no imported data.
  - `currencies` string[], required — Recognised currency codes within their valid date ranges covered by this provider
  - `unknown_currencies` string[] — Unreviewed published codes absent from the currency registry. Available through single-provider rates but excluded from blends and the currency catalogue. Known non-currency series do not trigger this alert.

## Changes

- **2026-09-18** (v2) `dc028aa0440e` — 1 info
  - added the optional property `items/unknown_currencies` to the response with the `200` status
- **2026-09-10** (v2) `f050ff154445` — 1 warning, 1 info
  - added the new `quarterly` enum value to the `items/publish_cadence` response property for the response status `200`
  - added the optional property `items/frequency` to the response with the `200` status
- **2026-05-30** (v2) `345ffe83734b` — 1 info
  - added the optional property `items/publish_cadence` to the response with the `200` status
- **2026-04-20** (v2) `4c7a3a45091a` — 1 info
  - added the optional property `items/publishes_missed` to the response with the `200` status
- **2026-04-09** (v2) `27f3054085fe` — 1 warning, 3 info
  - removed the optional property `items/description` from the response with the `200` status
  - added the optional property `items/country_code` to the response with the `200` status
  - added the optional property `items/pivot_currency` to the response with the `200` status
  - added the optional property `items/rate_type` to the response with the `200` status

[Full history](https://skmtc.dev/lineofflight/apis/frankfurter-api/changes/providers/get.md)

---

[API](https://skmtc.dev/lineofflight/apis/frankfurter-api.md) · [All operations](https://skmtc.dev/lineofflight/apis/frankfurter-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lineofflight/apis/frankfurter-api/revisions/55803a2b0588?raw)
