Skip to main content

Exchange Rates API

This connector captures data from the Exchange Rates API. It creates a Flow collection with daily exchange rate data for a variety of supported currencies. This simple connector is useful for educational and demonstration purposes.

It is available for use in the Flow web application. For local development or open-source workflows, ghcr.io/estuary/source-exchange-rates:dev provides the latest version of the connector as a Docker image. You can also follow the link in your browser to see past image versions.

This connector is based on an open-source connector from a third party, with modifications for performance in the Flow system. You can find their documentation here, but keep in mind that the two versions differ.

Prerequisites

  • An API key generated through an Exchange Rate API account. After you sign up, your API key can be found on your account page.
    • You may use the free account, but note that you'll be limited to the default base currency, EUR.

Configuration

You configure connectors either in the Flow web app, or by directly editing the catalog specification file. See connectors to learn more about using connectors. The values and specification sample below provide configuration details specific to the Exchange Rates source connector.

Properties

Endpoint

PropertyTitleDescriptionTypeRequired/Default
/access_keyAccess keyYour API access key. The key is case sensitive.stringRequired
/baseBase currencyISO reference currency. See the documentation. Free plan doesn't support Source Currency Switching, default base currency is EURstringEUR
/ignore_weekendsIgnore weekendsIgnore weekends? (Exchanges don't run on weekends)booleantrue
/start_dateStart dateThe date in the format YYYY-MM-DD. Data will begin from this date.stringRequired

Bindings

PropertyTitleDescriptionTypeRequired/Default
/streamStreamData stream from which Flow captures data. Always set to exchange_rates.stringRequired
/syncModeSync modeConnection method. Always set to incremental.stringRequired

Sample

captures:
${PREFIX}/${CAPTURE_NAME}:
endpoint:
connector:
image: ghcr.io/estuary/source-exchange-rates:dev
config:
base: EUR
access_key: <secret>
start_date: 2022-01-01
ignore_weekends: true
bindings:
- resource:
stream: exchange_rates
syncMode: incremental
target: ${PREFIX}/${COLLECTION_NAME}

This capture definition should only have one binding, as exchange_rates is the only available data stream.

Learn more about capture definitions.