ParseForge Scrapers

BNR Romania Exchange Rates Scraper

parseforge/bnr-romania-rates-scraper

BusinessAutomationIntegrations

Collects official BNR Romania exchange rates for the current day or any historical date. Returns each rate as a flat row with currency code, multiplier, and RON value.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
94
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

BNR Romania Exchange Rates Scraper

Scrape official BNR Romania exchange rates for the current day, a specific date, or a full year range. Each rate comes with the currency code, multiplier, and the RON value. Export to CSV, JSON, Excel, or XML.

The National Bank of Romania publishes daily exchange rates on its website, but manually copying them into a spreadsheet or financial model is slow and error-prone. This Actor reads the official BNR feeds directly, so you get the same reference rates that banks and accountants use, in a structured dataset. No screen scraping, no brittle HTML parsing.

Who uses it What they scrape BNR Romania for
Accountants and financial controllers Fetch the official BNR rate for a specific invoice or transaction date to comply with Romanian accounting standards.
E-commerce operators Update product prices in RON daily using the official reference rate for each foreign currency.
Fintech developers Populate a database with historical BNR exchange rates for multi-currency conversion features.
Data analysts Build a time series of RON exchange rates to model currency trends or feed economic reports.

What it does

This Actor collects official BNR exchange rates for a given date or date range and returns each currency rate as a flat row with the currency code, multiplier, and the RON value.

  • 📅 Date range scraping: collect rates for a single day or a full year range in one run.
  • 💱 All currencies: every rate the BNR publishes is included, from major pairs like EUR/RON to exotic currencies.
  • 📊 Structured output: each row is a clean record with the currency code, the multiplier, and the RON value, ready for analysis.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with BNR Romania data

📆 Automate daily accounting rates.

An accountant runs the Actor each morning for the previous business day and imports the CSV into their ERP to revalue foreign currency balances.

🛒 Sync product prices with the official RON rate.

An online store uses the Actor daily to fetch the EUR/RON rate and update all Euro-denominated product prices before the day's first order.

📈 Build a historical exchange rate database.

A fintech startup runs the Actor for the past five years, storing every daily rate in a PostgreSQL table to power an in-app currency converter.

🧾 Reconcile cross-border invoices.

A financial controller pulls the BNR rate for each invoice date to verify that the RON amount on a supplier invoice matches the official conversion.

Why choose this scraper

What you get
Official source Rates come directly from the BNR website, the same reference used for accounting and tax purposes in Romania.
No manual work Stop copy-pasting from the BNR page. One run gives you a clean CSV or JSON dataset.
Historical data Pull rates for any past date the BNR has published, not today.
Fixed schema Every row has the same columns: currency, multiplier, and RON value. No surprises.

How it compares

No other Store actor targets BNR Romania the same way, so the honest comparison is with the alternatives teams actually weigh.

BNR Romania Exchange Rates Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When BNR Romania changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Set the date or date range you need and a maximum number of rates to collect. The Actor reads the official BNR feed and returns only the matching records. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Pricing

Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.85
1,000 results $8.50
10,000 results $85.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the BNR Romania Exchange Rates Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to BNR Romania through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/bnr-romania-rates-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results for a specific date?

The BNR only publishes rates on business days. If you requested a weekend or a Romanian public holiday, there will be no feed for that date. Try the previous business day.

The rate for a currency is missing from my output.

The BNR does not publish rates for every currency every day. Some currencies are only quoted on certain days. Check the BNR website directly for the same date to confirm if the currency was listed.

My run is taking a long time.

If you requested a very wide date range, the Actor must fetch a feed for each day. Reduce the date range or increase the maxItems limit if you only need a subset of the data.

The RON value looks wrong compared to what I see on other sites.

Other websites may show mid-market or real-time trading rates. The BNR publishes a daily reference rate set at a specific time. Small differences are normal. Always use the BNR rate for official Romanian accounting.

FAQ

Question Answer
What currencies are included? All currencies for which the BNR publishes a daily reference rate. This includes major currencies like EUR, USD, and GBP, as well as many others. The full list depends on what the BNR publishes on the requested date.
Can I get the rate for a specific date in the past? Yes. You can request any date for which the BNR has published rates. The Actor reads the official feed for that specific day.
Is this the official BNR rate used for tax purposes? Yes. The data comes directly from the BNR website, which is the source for the official reference rates used in Romanian accounting and tax calculations.
What does the multiplier field mean? The BNR quotes some currencies per 1 unit and others per 100 or 1,000 units. The multiplier tells you how many units of the foreign currency the RON value applies to. For example, if the multiplier is 100, the RON value is for 100 units of that currency.
How often are the rates updated on the BNR site? The BNR publishes new rates each business day, usually in the early afternoon Romanian time. The Actor reads whatever is currently published for the date you request.
Can I get a full year of rates in one run? Yes. You can specify a date range and the Actor will collect the rates for each day in that range that has a published feed.
What output formats are supported? You can export your dataset in CSV, JSON, Excel, or XML format from the Apify platform.
Do I need an API key from the BNR? No. The Actor reads the public feeds from the BNR website. You do not need to register or obtain any credentials.
Is this legal? The Actor reads publicly available exchange rate data published by the National Bank of Romania. You should review the BNR website's terms of use for your specific use case.

Related actors

Browse the full ParseForge collection for more scrapers.

🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Banca Națională a României. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer How many exchange rates to collect per run. 10

Pricing

from $7.50 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.0075 to $0.0085

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST · run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~bnr-romania-rates-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run BNR Romania Exchange Rates Scraper on Apify All scrapers