Skip to content

ExchangeRate-API

Keyless fiat provider, enabled by default. The open endpoint covers 166 currencies and updates once a day, with no signup.

Not the same as ExchangeRate.host

ExchangeRateApi is the keyless open.er-api.com endpoint documented here. ExchangeRateHost is an unrelated, key-requiring provider with a confusingly similar name.

PropertyValue
Connector nameExchangeRateApi
Config keyexchange_rate_api
Websiteexchangerate-api.com
Endpointopen.er-api.com/v6/latest/USD
CredentialNone
Covers166 fiat currencies, updated daily
Default weight10

Configuration

jsonc
{
  "exchange_rate_api": {
    "enabled": true,
    "url": "https://open.er-api.com/v6/latest/USD",
    "codes": ["USD", "RUB", "EUR", "CNY", "JPY"]
  }
}
FieldTypeDescription
enabledbooleanRequired when the block is present. true in the shipped template
weightnumber ≥ 0Voting power in group selection, defaults to 10
urlHTTP(S) URLEndpoint. Required
codesstring arrayFiat codes to request. Required when enabled

The block is validated as a whole: if exchange_rate_api is present, enabled and url must both be set. Delete the whole block to drop the source rather than emptying it.

Fiat only

BTC, ETH, and other crypto assets are not covered by this endpoint and must not be listed in codes. The crypto sources quote them far more frequently and far more accurately.

The base currency is part of the path

The connector inverts the upstream rates map — which is quoted as "units of X per 1 USD" — into X/USD pairs. A response quoted against anything other than USD would be mislabelled rather than converted, so USD must stay in the URL path. The connector verifies base_code in the response and refuses a mismatch.

Errors arrive with HTTP 200

The endpoint answers 200 even on failure, and signals the outcome in the body:

json
{ "result": "error", "error-type": "invalid-key" }

The connector treats result as the only reliable success indicator, so a failure is reported rather than parsed as an empty rate set.

Update frequency

Once a day. Refreshing more often does not produce newer numbers; it only spends requests. This is normal for fiat: currency rates move slowly compared to crypto, and the divergence check against Currency API is what catches a bad one.

Terms

Keyless access is not permission to republish

  • Private or development instance, rates consumed by you: permitted, and attribution is required. Add a link to https://www.exchangerate-api.com where the rates are shown, reading "Rates By Exchange Rate API"
  • Public or commercial instance serving these rates onwards: not permitted. Contact the provider for written redistribution permission, or set "enabled": false

See the provider's free tier terms.

Troubleshooting

SymptomCause
A code never appearsNot among the 166 supported currencies, or it is a crypto asset
Repeated fetch failuresThe endpoint answered result: "error". The log carries the error-type
Rates look a day oldThey are. This endpoint updates once a day by design

Released under the GPL-3.0 License. Maintained by the ADAMANT developer community.