{"name":"fx-rates","id":"sfoln/fx-rates","title":"Currency Exchange Rates API","description":"Get latest or historical exchange rates for any currency pairs, with amount conversion: ECB and 100+ central-bank reference rates via Frankfurter, data back to 1948. $0.50 per 1,000 rates; invalid pairs and dates without data are free.","version":"0.1","status":"ready","family":{"id":"data-utilities","name":"Data utilities","description":"Exchange rates, geocoding, weather forecasts and history, VIN decoding, US address enrichment, GitHub repository stats and DeFi protocol data.","actors":8},"categories":["DEVELOPER_TOOLS","AUTOMATION","ECOMMERCE"],"availability":"public","seoTitle":"Exchange Rates API – $0.50 per 1,000 Currency Rates","seoDescription":"Currency exchange rates API: latest and historical rates for any currency pair from the ECB and 100+ central banks, with conversion. $0.50 per 1,000 rates.","summary":"Currency Exchange Rates API gets latest or historical exchange rates for any list of currency pairs and converts an amount in the same call. Rates are mid-market reference rates published by the European Central Bank and 100+ other central banks and official sources, blended by the open-source Frankfurter service (data back to 1948). Ideal for invoicing, e-commerce price lists, accounting exports, spreadsheets and AI agents that need a reliable, citable rate.","pricing":{"model":"pay-per-event","currency":"USD","billedBy":"Apify","freePlanMaxItemsPerRun":10,"events":[{"name":"fx-rate","title":"Exchange rate","description":"Charged once per currency pair (and date) for which an exchange rate was returned.","priceUsd":0.0005}]},"input":{"description":"List currency pairs such as USD/EUR. Each pair produces one dataset record with the rate, its date and the converted amount.","required":["pairs"],"fields":[{"name":"pairs","title":"Currency pairs","type":"array","required":true,"description":"Pairs as BASE/QUOTE with ISO 4217 codes, e.g. USD/EUR. Add @YYYY-MM-DD for a historical rate (EUR/GBP@2024-01-05). API callers can also pass objects {\"base\":\"USD\",\"quotes\":[\"EUR\",\"JPY\"],\"date\":\"2024-01-05\",\"amount\":250}. Accounts on the Apify free plan can process up to 10 currency pairs per run.","prefill":["USD/EUR","EUR/GBP","GBP/JPY@2024-01-05"],"editor":"stringList"},{"name":"amount","title":"Amount to convert","type":"string","required":false,"description":"Amount in the base currency to convert: a plain number with a decimal point, e.g. 100 or 99.95 (no thousands separators, decimal commas or currency signs; otherwise the pairs are skipped as invalid). Default 1.","default":"1","editor":"textfield"},{"name":"date","title":"Date","type":"string","required":false,"description":"Historical date (YYYY-MM-DD) applied to pairs without their own @date. Leave empty for the latest rates.","editor":"datepicker"},{"name":"maxPairs","title":"Max pairs","type":"integer","required":false,"description":"Safety cap on the number of pairs processed in this run.","default":1000,"minimum":1,"maximum":10000},{"name":"concurrency","title":"Concurrency","type":"integer","required":false,"description":"Parallel workers. Pairs sharing a base currency and date are fetched in one request.","default":5,"minimum":1,"maximum":10},{"name":"includeRaw","title":"Include raw upstream response","type":"boolean","required":false,"description":"Attach the unmodified Frankfurter row to each record.","default":false}]},"exampleInput":{"pairs":["USD/EUR","EUR/GBP","GBP/JPY@2024-01-05"]},"outputFields":[{"name":"input","type":"object","title":"Input","description":"Parsed pair request."},{"name":"pair","type":"string","title":"Pair","example":"USD/EUR"},{"name":"base","type":"string | null","title":"Base currency","example":"USD"},{"name":"quote","type":"string | null","title":"Quote currency","example":"EUR"},{"name":"rate","type":"number | null","title":"Rate","description":"Units of quote currency per 1 unit of base currency (mid-market).","example":0.89273},{"name":"inverseRate","type":"number | null","title":"Inverse rate","description":"1 / rate, 10 significant digits."},{"name":"date","type":"string","title":"Rate date","description":"Date of the reference rate (YYYY-MM-DD)."},{"name":"requestedDate","type":"string | null","title":"Requested date","description":"null = latest."},{"name":"amount","type":"number | null","title":"Amount","description":"Amount in base currency (null when the given amount was not a plain number; the record is then skipped_invalid)."},{"name":"converted","type":"number","title":"Converted","description":"amount × rate, in quote currency."},{"name":"status","type":"string","title":"Status","description":"ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan","example":"ok"},{"name":"charged","type":"boolean","title":"Charged"},{"name":"source","type":"string","title":"Source"},{"name":"fetchedAt","type":"string","title":"Fetched at"}],"outputExample":{"input":{"pair":"USD/EUR","base":"USD","quote":"EUR","amount":100},"pair":"USD/EUR","base":"USD","quote":"EUR","rate":0.89273,"inverseRate":1.120159511,"date":"2026-10-14","requestedDate":null,"amount":100,"converted":89.273,"status":"ok","charged":true,"chargedEvent":"fx-rate","source":"frankfurter (ECB and other central banks)","fetchedAt":"2026-10-14T10:00:00.000Z"},"faq":[],"mcpExamplePrompt":"Get today's USD/EUR, EUR/GBP and GBP/JPY exchange rates and convert 2,500 USD to EUR.","related":["geocode-address","historical-weather","vin-decoder"],"urls":{"site":"https://www.sfoln.com/actors/fx-rates/","siteJson":"https://www.sfoln.com/actors/fx-rates.json","siteMarkdown":"https://www.sfoln.com/actors/fx-rates.md","store":"https://apify.com/sfoln/fx-rates","storeMarkdown":"https://apify.com/sfoln/fx-rates.md","runSync":"https://api.apify.com/v2/actors/sfoln~fx-rates/run-sync-get-dataset-items","runAsync":"https://api.apify.com/v2/actors/sfoln~fx-rates/runs","mcp":"https://mcp.apify.com?tools=sfoln/fx-rates"},"publisher":{"name":"SFOLN LLC","apifyUsername":"sfoln","url":"https://www.sfoln.com","apifyProfile":"https://apify.com/sfoln","email":"contact@sfoln.com"},"generatedAt":"2026-10-22T04:28:58.477Z"}