๐Ÿ’ฑ Currency Exchange Rates โ€” Real-Time FX Data avatar

๐Ÿ’ฑ Currency Exchange Rates โ€” Real-Time FX Data

Pricing

from $10.00 / 1,000 exchange rates

Go to Apify Store
๐Ÿ’ฑ Currency Exchange Rates โ€” Real-Time FX Data

๐Ÿ’ฑ Currency Exchange Rates โ€” Real-Time FX Data

Real-time & historical exchange rates for 150+ currencies. Open Exchange Rates, Fixer.io & CurrencyLayer alternative for fintech apps, FX dashboards and international pricing tools. No API key needed. Pay per result.

Pricing

from $10.00 / 1,000 exchange rates

Rating

0.0

(0)

Developer

NexGenData

NexGenData

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

3

Monthly active users

5 days ago

Last modified

Categories

Share

๐Ÿ’ฑ Currency Exchange Rates โ€” Live & Historical FX Reference Rates

Pay-per-result FX data. One dataset row per currency pair, delivered from public central-bank and reference-rate sources. No API key, no monthly plan.

Reference FX data โ€” not financial, trading, or investment advice.

Pricing (live, as published on the Apify Store)

EventPrice
Actor start$0.00005 per event (one event per GB of run memory, minimum one)
Result โ€” one exchange rate row$0.01 per item

That is $10 per 1,000 rates, or about 100 rates per $1. You are charged per row that lands in your dataset. Runs that fail, and runs that return zero rows because the source had nothing matching your input, deliver no rows and are therefore not charged for results.

Input

FieldTypeDefaultNotes
baseCurrencystringUSD3-letter ISO 4217 code. Alias: base.
targetCurrenciesstring"" (all)Comma-separated codes, e.g. EUR,GBP,JPY. Alias: symbols.
historicalstring"" (latest)A single date, YYYY-MM-DD. Alias: date.

An empty input returns the latest rates against USD โ€” that is the product's default run.

Output

Five data fields plus a source attribution field:

  • baseCurrency โ€” the base ISO 4217 code you asked for
  • targetCurrency โ€” the quoted ISO 4217 code
  • rate โ€” units of targetCurrency per 1 baseCurrency
  • date โ€” the source's publication date for that rate
  • inverseRate โ€” 1 / rate, rounded to 6 decimals
  • source โ€” which upstream provider served the row

Data sources and coverage

Rates come from public reference-rate APIs, in this order:

  1. Frankfurter (ECB reference rates) โ€” around 30 currencies, with daily history back to 1999 for those currencies. Used for both latest and historical requests.
  2. open.er-api.com (ExchangeRate-API open endpoint) โ€” around 160 currencies, latest rates only. Used as a fallback when Frankfurter is unavailable, and only for latest-rate requests.

What that means in practice:

  • Historical requests are served by the ECB series only, so they cover the ~30 ECB currencies and no earlier than 1999. A date outside that range returns zero rows with an explanatory status message, and is not charged.
  • Rates are mid-market reference rates. There is no bid/ask spread in the data, because the sources do not publish one.
  • Cryptocurrencies are not covered. Neither source publishes crypto rates.
  • Only one date per run. There is no multi-date time-series mode.

Quick start

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nexgendata/currency-exchange-rates").call(run_input={
"baseCurrency": "USD",
"targetCurrencies": "EUR,GBP,JPY,CAD",
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["baseCurrency"], row["targetCurrency"], row["rate"], row["date"])

Historical (one date per run):

run = client.actor("nexgendata/currency-exchange-rates").call(run_input={
"baseCurrency": "USD",
"targetCurrencies": "EUR",
"historical": "2026-01-15",
})

Use cases

  • Accounting / ERP โ€” daily mid-rate sync into NetSuite, Xero, QuickBooks
  • E-commerce โ€” display prices in a shopper's local currency
  • Treasury โ€” mark multi-currency balances to a published reference rate
  • International invoicing โ€” convert at the booking-day ECB rate
  • Backtesting โ€” pull a booking-date rate for a historical transaction

Run behaviour

  • If the upstream sources answer but hold nothing matching your input (an unknown currency code, or a date outside the published series), the run succeeds with 0 rows and the status message says why. Nothing is charged for results.
  • If every source is unreachable or returns an error after retries, the run fails with a status message naming the cause. Nothing is charged for results.
  • If the run hits its time limit part-way through, it stops cleanly, says "stopped early at the run time limit", and only the rows actually delivered are charged.

FAQ

How fresh are the rates? ECB reference rates publish once per business day (around 16:00 CET). Weekend and holiday requests return the last published business-day rate. The fallback source updates roughly daily.

Which currencies? ~30 for historical and for the primary source; ~160 for latest rates when the fallback source is used. Run with an empty targetCurrencies to see the full list the source returns that day.

Bid/ask or mid? Mid-market reference rates only.

Crypto? Not supported.

Output formats? Whatever the Apify dataset supports โ€” JSON, JSONL, CSV, Excel, XML.

Rate limits? The upstream sources are public and may throttle. The actor retries across both sources and, if neither answers, fails loudly rather than returning a silent empty result.

Use caseActor
FX with central-bank fixingsFX Rates Tracker
Finance data for LLM agentsFinance MCP Server
Commodity futuresCommodity Futures Tracker
Treasury yields and bondsTreasury Yields & Bonds
Equity quotes + fundamentalsYahoo Finance Scraper

Support

Bug reports via the Apify console issues tab get a response within 24 hours.

๐Ÿ  thenextgennexus.com ยท ๐Ÿ“ฆ apify.com/nexgendata