Exchange Rate Scraper avatar

Exchange Rate Scraper

Pricing

Pay per event

Go to Apify Store
Exchange Rate Scraper

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

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Categories

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

  1. Go to the Exchange Rate Scraper input page.
  2. Add base currencies (e.g., USD, EUR) to the Base currencies list.
  3. Optionally add specific Target currencies to filter results.
  4. Click Start and wait for the run to finish.
  5. Download your data in JSON, CSV, or Excel format.

Input parameters

ParameterTypeRequiredDescription
baseCurrenciesarrayYesBase currency codes to get rates for (e.g., USD, EUR, GBP)
targetCurrenciesarrayNoFilter 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

FieldTypeDescription
baseCurrencystringBase currency code (e.g., USD)
targetCurrencystringTarget currency code (e.g., GBP)
ratenumberExchange rate (1 base = rate target)
inverseRatenumberInverse rate (1 target = inverseRate base)
lastUpdatedstringWhen the rate was last updated
nextUpdatestringWhen the next rate update is expected
scrapedAtstringISO 8601 timestamp of extraction

How much does it cost to scrape exchange rates?

Exchange Rate Scraper uses pay-per-event pricing:

EventPrice
Run started$0.001
Rate extracted$0.0005 per currency pair

Cost examples

ScenarioCost
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 ApifyClient
client = 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