Exchange Rate Scraper
Pricing
Pay per event
Exchange Rate Scraper
Get live currency exchange rates for 150+ currencies. Specify base currencies and optional targets. Supports fiat and crypto rates. Export to JSON, CSV, or Excel.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Share
Get live currency exchange rates for 150+ currencies. Convert between any base currency and target currencies with forward and inverse rates, updated daily.
What does Exchange Rate Scraper do?
Exchange Rate Scraper fetches the latest currency exchange rates from a reliable open API. Specify one or more base currencies and optionally filter to specific target currencies. For each pair, you get the forward rate, inverse rate, and timestamps showing when the data was last updated.
Supports 150+ world currencies including USD, EUR, GBP, JPY, CHF, CAD, AUD, CNY, and many more.
Why use Exchange Rate Scraper?
- 150+ currencies — all major and many minor world currencies
- Multiple base currencies — compare rates from different perspectives in one run
- Inverse rates — get both forward and inverse conversion rates automatically
- Daily updates — rates are refreshed every 24 hours
- No API key needed — uses a free, reliable exchange rate API
- Structured output — clean JSON pairs ready for analysis or integration
Use cases
- Financial dashboards — feed live exchange rates into reporting tools
- Price comparison — convert product prices across different currencies
- Travel planning — check current rates for destination currencies
- E-commerce — update multi-currency pricing automatically
- Arbitrage monitoring — track rate differences across currency pairs
- Accounting — get daily rates for financial record-keeping
How to use Exchange Rate Scraper
- Go to the Exchange Rate Scraper input page.
- Add base currencies (e.g., USD, EUR) to the Base currencies list.
- Optionally add specific Target currencies to filter results.
- Click Start and wait for the run to finish.
- Download your data in JSON, CSV, or Excel format.
Input parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
baseCurrencies | array | Yes | Base currency codes to get rates for (e.g., USD, EUR, GBP) |
targetCurrencies | array | No | Filter to specific target currencies. Leave empty for all 150+ |
Example input
{"baseCurrencies": ["USD", "EUR"],"targetCurrencies": ["GBP", "JPY", "CAD", "CHF", "AUD"]}
Output example
Each currency pair returns a structured object:
{"baseCurrency": "USD","targetCurrency": "GBP","rate": 0.746164,"inverseRate": 1.340188,"lastUpdated": "Tue, 03 Mar 2026 00:02:32 +0000","nextUpdate": "Wed, 04 Mar 2026 00:11:42 +0000","scrapedAt": "2026-03-03T05:32:20.812Z"}
Output fields
| Field | Type | Description |
|---|---|---|
baseCurrency | string | Base currency code (e.g., USD) |
targetCurrency | string | Target currency code (e.g., GBP) |
rate | number | Exchange rate (1 base = rate target) |
inverseRate | number | Inverse rate (1 target = inverseRate base) |
lastUpdated | string | When the rate was last updated |
nextUpdate | string | When the next rate update is expected |
scrapedAt | string | ISO 8601 timestamp of extraction |
How much does it cost to scrape exchange rates?
Exchange Rate Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Run started | $0.001 |
| Rate extracted | $0.0005 per currency pair |
Cost examples
| Scenario | Cost |
|---|---|
| USD to 5 currencies | $0.0035 |
| USD + EUR to all 150+ | ~$0.151 |
| 5 base currencies to 10 targets | $0.026 |
Using the Apify API
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("YOUR_USERNAME/exchange-rate-scraper").call(run_input={"baseCurrencies": ["USD", "EUR"],"targetCurrencies": ["GBP", "JPY", "CAD"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['baseCurrency']}/{item['targetCurrency']}: {item['rate']:.4f}")
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('YOUR_USERNAME/exchange-rate-scraper').call({baseCurrencies: ['USD', 'EUR'],targetCurrencies: ['GBP', 'JPY', 'CAD'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.baseCurrency}/${item.targetCurrency}: ${item.rate.toFixed(4)}`);});
Integrations
Connect Exchange Rate Scraper to your workflow with Apify integrations:
- Webhooks — trigger actions when rates are updated
- Google Sheets — export rates to spreadsheets automatically
- Slack — get daily rate notifications
- Zapier / Make — connect to 5,000+ apps and services
- Scheduled runs — set up daily rate extraction with Apify Scheduler
Tips and best practices
- Use standard ISO 4217 currency codes (USD, EUR, GBP, JPY, etc.)
- Rates are updated once per day — schedule runs accordingly
- Leave targetCurrencies empty to get all 150+ pairs for maximum coverage
- The inverse rate is pre-calculated for convenience — no need for manual conversion
- For historical rates, schedule daily runs and store results in a dataset over time
Use with AI agents via MCP
Exchange Rate Scraper is available as a tool for AI assistants via the Model Context Protocol (MCP).
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Example prompts
- "Get current USD to EUR exchange rate"
- "Convert 1000 USD to all major currencies"
- "What are today's exchange rates for GBP against EUR, JPY, and CHF?"
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~exchange-rate-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"baseCurrencies": ["USD", "EUR"],"targetCurrencies": ["GBP", "JPY", "CAD"]}'
Legality
Scraping publicly available data is generally legal according to the US Court of Appeals ruling (HiQ Labs v. LinkedIn). This actor only accesses publicly available information and does not require authentication. Always review and comply with the target website's Terms of Service before scraping. For personal data, ensure compliance with GDPR, CCPA, and other applicable privacy regulations.
FAQ
Why do rates seem different from my bank or Google? Exchange rates vary by source. This scraper uses mid-market rates (the midpoint between buy and sell). Banks and Google may show slightly different rates due to different data providers, spreads, or update timing.
The scraper returns an error for my currency code. Make sure you are using the correct ISO 4217 three-letter currency code (e.g., "USD" not "US$", "GBP" not "UKP"). Check the ISO 4217 standard for a full list of valid codes.
Other data scrapers
- Eventbrite Scraper — search Eventbrite for events, conferences, and meetups by keyword and location
- FDA Recalls Scraper — search the FDA enforcement database for drug, food, and device recalls
- Goodreads Scraper — extract book data, ratings, and reviews from Goodreads
Changelog
- v0.1 — Initial release with 150+ currency support and inverse rates