· 14 min read
XE Currency Converter Scraper: Up to 1,000 Free Results a Month (2026)
Exchange rates cost $5.00 per 1,000 results on the free plan, extracting mid-market rates across 180+ global fiat currencies alongside crypto assets. A single conversion query returns 36 fields, including rolling 7-day, 30-day, and 90-day volatility statistics without requiring API keys or active sessions. The platform free tier covers initial testing with 1,000 results each month. This Actor fits financial operations teams building price calculators and historical transaction ledgers. It is not suitable for order routing desks requiring sub-second order book depth, execution spreads, or tick-by-tick market microstructures.
Try it: open XE Currency Converter Scraper on Apify, sign in on the free plan and run the prefilled example.
Can you try XE Currency Converter Scraper before paying?
Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of XE Currency Converter Scraper a month, before run-start charges and platform usage.
XE Currency Converter Scraper was last updated on 2026-08-10. It is one of 1,725 Actors CrawlerBros publishes on Apify, which together have 686,269 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.
What does it cost to run XE Currency Converter Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
The primary cost driver is the number of records written to the dataset, dictated directly by maxItems, the length of toCurrencies, or dates when querying rate tables. To evaluate data fitness at minimal cost, run mode=convert with a single currency pair before pulling full tables.
How do you run XE Currency Converter Scraper from the API?
The schema marks 1 of its 13 controls as required: mode. Nothing in the payload below is illustrative. Those are the schema's prefilled defaults for XE Currency Converter Scraper, so the request works once your token is in place.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~xe-currency-converter-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"convert"}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "convert"
}
run = client.actor("crawlerbros~xe-currency-converter-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"mode": "convert"
}
const run = await client.actor('crawlerbros~xe-currency-converter-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
Because the call is synchronous, your client waits for the whole run. Keep it for exploration. For scheduled work, start the run without waiting and collect the dataset afterwards, so network trouble costs you a retry rather than the results.
Which XE Currency Converter Scraper inputs matter, and which can you skip?
The input schema exposes 13 controls, requiring only mode to begin. The essential settings to focus on are mode, fromCurrency, and either toCurrency or targetCurrencies depending on the extraction type. Leave includeObsoleteCurrencies disabled and keep includeExtendedInfo off during high-frequency polls to avoid unnecessary encyclopedia lookups.
mode(string): What to fetch. Default:"convert".amount(number): Amount offromCurrencyto convert. Default:1.fromCurrency(string): Source currency (mode=convert) or base currency for the rates table (mode=ratesTable). Default:"USD".toCurrency(string): Target currency to convert into. Default:"EUR".toCurrencies(array): Convert the amount into multiple currencies at once instead of just 'To currency' (mode=convert). Emits one conversion record per currency, computed from the same live rates snapshot. Leave empty to use only the single 'To currency' field. Default:[].date(string): YYYY-MM-DD. Leave empty for the latest daily rates. XE has daily rate history back to the mid-1990s; today's date and future dates are rejected. Ignored when 'Historical dates (batch)' is set.dates(array): Fetch the rates table for multiple historical dates in one run (e.g. to build a trend series), instead of a single 'Historical date'. Each entry must be YYYY-MM-DD; invalid or duplicate entries are dropped. Overrides 'Historical date' when non-empty. Up to 20 dates per run. Default:[].targetCurrencies(array): Restrict mode=ratesTable / mode=currencyInfo output to these currency codes. Empty = all currencies. Default:[].sortBy(string): How to order rows in the rates table. Default:"currencyCodeAsc".includeCryptoCurrencies(boolean): Include crypto assets (BTC, ETH, ...) in mode=ratesTable / mode=currencyInfo output. Default:true.includeObsoleteCurrencies(boolean): Include retired currencies (e.g. pre-Euro DEM, FRF) in mode=ratesTable / mode=currencyInfo output. Useful for historical dates. Default:false.includeExtendedInfo(boolean): Fetch additional real-world details from xe.com's currency encyclopedia for each currency: country, symbol, central bank name/rate, inflation rate, nicknames, countries that use it, and a description. Adds one extra request per currency, so disable for faster runs if you only need the basic code/name/flags. Default:true.
The other 1 controls, with their defaults, are listed in the input schema on XE Currency Converter Scraper on Apify.
Fixed-choice controls: mode accepts convert (Convert an amount between two currencies), ratesTable (Full exchange-rate table for a base currency (live or historical)), currencyInfo (Currency metadata lookup (name, crypto flag, obsolete flag)); fromCurrency accepts 219 values (default USD), including USD (US Dollar), ADA (Cardano), AED (Emirati Dirham), AFN (Afghan Afghani); toCurrency accepts 219 values (default EUR), including EUR (Euro), ADA (Cardano), AED (Emirati Dirham), AFN (Afghan Afghani); sortBy accepts currencyCodeAsc (Currency code (A-Z)), rateAsc (Rate (low to high)), rateDesc (Rate (high to low)).
What does XE Currency Converter Scraper return?
Output records supply clean mid-market conversions, inverse rates, and historical volatility trends. They do not contain executable broker spreads, buy-side order depth, or tick-level order book records.
mode=convert` (conversion record)
fromCurrency,fromCurrencyName,toCurrency,toCurrencyNameamount,convertedAmount,exchangeRate,inverseRatetimestamp- when the underlying rate was capturedrate7dHigh,rate7dLow,rate7dAverage,rate7dVolatilityPercent,rate7dStandardDeviation,rate7dDataPoints,rate7dHighTimestamp,rate7dLowTimestamp- 7-day rate history stats for this pairrate30dHigh,rate30dLow,rate30dAverage,rate30dVolatilityPercent,rate30dStandardDeviation,rate30dDataPoints,rate30dHighTimestamp,rate30dLowTimestamp- 30-day rate history statsrate90dHigh,rate90dLow,rate90dAverage,rate90dVolatilityPercent,rate90dStandardDeviation,rate90dDataPoints,rate90dHighTimestamp,rate90dLowTimestamp- 90-day rate history statssourceUrl- the xe.com converter page for this pairrecordType: "conversion",scrapedAt
mode=ratesTable` (one record per target currency)
baseCurrency,baseCurrencyName,targetCurrency,targetCurrencyNamerate,inverseRateisCrypto,isObsolete(only present when true)date(historical lookups only),timestampliveTrend,liveRateChangeValue,liveRateChangePercent- today's live up/down movement, only for live (non-historical) rows and only for the handful of major pairs xe.com tracks on its live ticker (e.g. EUR/USD, USD/JPY, GBP/USD, USD/CHF, USD/CAD, EUR/JPY, AUD/USD, GBP/EUR)centralBankInterestRatePercent- the target currency's current central-bank benchmark interest rate, only for live (non-historical) rows and only for the handful of major currencies xe.com publishes this for (USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD)sourceUrl- xe.com's currency encyclopedia page for the target currencyrecordType: "rate",scrapedAt
mode=currencyInfo` (currency metadata record)
currencyCode,name,namePluralisCrypto,isObsolete,isSellable,isBuyablesourceUrl- xe.com's currency encyclopedia page, or its converter page as a fallback (only ever a link that's been checked to actually resolve; omitted entirely for the handful of currencies XE no longer publishes any page for, e.g. sanctioned/discontinued ones)country- the country/region primarily associated with this currencycurrencySymbol,minorUnitSymbol,minorUnitLabel- e.g.$,¢,1/100 = centcentralBankName,centralBankUrl- the issuing central bankcentralBankRatePercent,inflationRatePercent- current benchmark interest rate and inflation rate, as published by xe.comnicknames- informal names for the currency (e.g. "buck", "greenback")usedInCountries- countries/territories that use this currencycoinDenominations,banknoteDenominations- coins/banknotes in circulation, formatted with the currency's own symbol (e.g.["1¢", "5¢", ..., "50¢ (rare)"],["$1", "$5", ..., "$100"]); omitted for currencies with no physical coins/notes (e.g. crypto)shortDescription- a short one-line summary xe.com publishes for a subset of currencies (mostly crypto, e.g. "Ethereum is a decentralized open-source blockchain system..."); omitted when xe.com doesn't publish onedescription- xe.com's currency-encyclopedia write-up (history, usage, notable facts), plain textisTradablereplacedByCurrency,replacedByCurrencyName- for retired currencies, the successor currency xe.com itself names (e.g.DEM->EUR), when publishedrecordType: "currencyInfo",scrapedAt
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open XE Currency Converter Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Run mode set to currencyInfo with targetCurrencies populated by your target codes to inspect active names, symbols, and isCrypto flags before calculating conversions.
- Submit a single mode set to convert request using fromCurrency USD and toCurrency EUR with amount set to 1 to confirm the live quote and 7-day rolling statistics return.
- Verify the convertedAmount and exchangeRate values are positive floats before connecting downstream billing scripts.
- Switch mode to convert with toCurrencies specified to fetch an identical-timestamp basket across multiple targets in one run.
- Switch mode to ratesTable with a base fromCurrency and maxItems configured to pull broader mid-market tables.
- Pass a historical date formatted as YYYY-MM-DD or up to 20 historical entries in dates to verify that older rate tables load successfully without throwing missing table errors.
How do you apply it? Three worked playbooks
These are XE Currency Converter Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Finance apps
Outcome: Build a live currency converter or price checker
Configure: mode=convert, fromCurrency="USD", toCurrency="EUR", toCurrencies=["GBP","JPY","CAD"], amount=100
Working method: Start with a single target currency to confirm the schema shape. Expand the toCurrencies list to include every destination currency your app displays, ensuring all conversions derive from the same instantaneous market snapshot.
Deliverable: A dataset containing conversion records with timestamped exchange rates, inverse rates, and 7/30/90-day rolling metrics.
Stop condition: The exchangeRate value arrives null or fails to update across scheduled intervals.
Use case 2: Accounting / invoicing
Outcome: Convert transaction amounts for reporting
Configure: mode=ratesTable, fromCurrency="EUR", targetCurrencies=["USD","GBP"], dates=["2023-12-31","2024-01-31"], maxItems=100
Working method: Provide historical month-end closing dates in the dates array. Compare the returned baseCurrency and targetCurrency rows against external invoice books to ensure consistent audit references across multi-currency ledgers.
Deliverable: A structured table of closing exchange rates mapped per requested date and currency pair.
Stop condition: The run aborts because a date earlier than supported archives or a future date was passed.
Use case 3: Crypto dashboards
Outcome: Track crypto-to-fiat rates alongside traditional currencies
Configure: mode=ratesTable, fromCurrency="USD", includeCryptoCurrencies=true, targetCurrencies=["BTC","ETH","EUR","GBP"], maxItems=50
Working method: Begin by polling a blended list of crypto tokens and G10 fiat codes. Check that isCrypto evaluates to true on token rows, and evaluate liveTrend alongside liveRateChangePercent where supported.
Deliverable: A dual-market rate dataset reporting both token valuations and conventional foreign exchange benchmarks against USD.
Stop condition: The isCrypto flag is absent on crypto rows or target fiat rates fail to emit.
What breaks, and how do you design around it?
Rate tables for dates prior to 1998 frequently drop currencies or return empty responses. When building long-term trend lines, query modern date ranges and trap non-existent tables early in your pipeline. For retired currencies, read the metadata via currencyInfo mode rather than expecting full rows in historical ratesTable runs.
When should you not use XE Currency Converter Scraper?
Do not use this Actor if your integration requires institutional execution streaming, millisecond arbitrage feeds, or deep liquidity depths. It reads published mid-market web snapshots, not a direct fix protocol engine. If you require specialized multi-exchange crypto order book feeds with full OHLCV candlestick series, run CryptoCompare Market Data Scraper instead, which provides exchange-level volume and trading bars tailored for crypto assets.
What should you check before trusting the output?
- Verify that exchangeRate and convertedAmount are strictly greater than 0 on every mode=convert run.
- Confirm timestamp parses as a valid ISO date and reflects fresh data rather than stale cache records.
- Check that rate7dAverage, rate30dAverage, and rate90dAverage are populated whenever fromCurrency and toCurrency differ.
- Halt execution if dates array contains entries older than 1998 or any future dates that trigger execution errors.
- Ensure mode=ratesTable output rows match targetCurrencies array lengths when filtering is applied.
None of this proves a record is correct. It gives a scheduled XE Currency Converter Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What is the cost to run 10,000 currency conversions?
At the free-plan price of $0.005 per result, 10,000 records equate to $50.00 in dataset result charges. Apify also bills the underlying platform compute time consumed by the run on top of that result total, while paid Apify tiers provide lower per-result rates.
How far back does historical exchange rate coverage go?
Daily rate tables reliably span back to 1998 across modern currencies, with some records extending to the mid-1990s. Earlier years cover fewer currency codes, and future or today's dates are rejected with input errors.
Can I convert one base currency against multiple targets simultaneously?
Yes. When running mode set to convert, populate the toCurrencies array with your target currency codes. The scraper outputs one item per pair, calculated using the identical mid-market rate snapshot.
Why are some rolling statistical fields missing from the convert output?
The rolling statistics like rate7dAverage, rate30dHigh, and rate90dVolatilityPercent only appear when fromCurrency and toCurrency differ, and only if XE provides statistical aggregations for that specific pair.
Does this scraper require an official XE API key or proxies?
No. The scraper runs against public endpoints on xe.com without requiring external API keys, user login credentials, cookies, or custom proxy setups.
Where to go next
When you are ready to run it, open XE Currency Converter Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the XE Currency Converter Scraper Actor page for the current input schema, pricing tier, and run history.
Other Actors we maintain for related data:
- URL to BibTeX Converter: Convert any URL (academic papers, articles, books, web pages) to properly formatted BibTeX citations.
- CryptoCompare Market Data Scraper: Scrape live and historical cryptocurrency market data from CryptoCompare - top coins by market cap/volume, historical OHLCV price series, exchange rankings, and coin metadata.
- UK Parliament Scraper: Scrape UK Parliament open data - search MPs and Lords, get member profiles and careers, browse public bills, and pull House of Commons voting divisions.
- IPO Calendar Scraper: Track upcoming and recent IPOs from stockanalysis.com - get IPO dates, offer prices, amounts raised, exchange listings, company details, and performance data for new stock offerings.
Related guides:
- CryptoCompare Market Data Scraper: Up to 1,000 Free Results a Month
- CoinPaprika Scraper: Up to 1,000 Free Results a Month (2026)
- Yahoo Finance Scraper: 48 Data Fields, Up to 2,500 Free Results/Month
- Indiegogo Scraper: 31 Data Fields, Up to 1,000 Free Results/Month
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-28.
Actor last updated by its maintainers on 2026-08-10.
Run outcome figures cover the 30 day public window ending 2026-09-28.
Featured actors
XE Currency Converter Scraper
Convert currency amounts, pull live or historical exchange-rate tables for 180+ currencies, and look up currency metadata - powered by xe.com's public currency data. No login, API key, or proxy required.
Run on Apify ↗