MNB, NBP & CNB Exchange Rates: Hungary, Poland, Czechia avatar

MNB, NBP & CNB Exchange Rates: Hungary, Poland, Czechia

Pricing

from $0.50 / 1,000 rate records

Go to Apify Store
MNB, NBP & CNB Exchange Rates: Hungary, Poland, Czechia

MNB, NBP & CNB Exchange Rates: Hungary, Poland, Czechia

Official daily exchange rates from the Hungarian (MNB), Polish (NBP) and Czech (CNB) central banks: date ranges or 'rate for this invoice date' lookups, HUF/PLN/CZK, one clean dataset.

Pricing

from $0.50 / 1,000 rate records

Rating

0.0

(0)

Developer

Gabor Sziladi

Gabor Sziladi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Get official daily exchange rates from three Central European central banks in one clean dataset: the Hungarian MNB (HUF), the Polish NBP (PLN) and the Czech CNB (CZK). Pick currencies and a date range, or paste your invoice dates and get exactly one official rate per date. It costs $0.50 per 1,000 rate records, and a default run returns about 30 records in under 10 seconds.

  • ✅ MNB, NBP and CNB in one run, with one normalised record per bank, currency and day
  • ✅ Invoice / lookup mode: one rate per date, with a clear "same day or previous" or "previous business day" rule
  • ✅ ratePerUnit normalises 100-unit quotes (JPY, HUF…) so the three banks are directly comparable
  • ✅ NBP table number (e.g. 201/A/NBP/2026), which Polish bookkeeping often has to record
  • ✅ Up to 10 years of history per run
  • ✅ One failing bank never fails the run; errors are listed in the OUTPUT summary
  • ✅ Official public sources only. No API key, no login, no proxy.
BankCountryBase currencyData used
MNB (Magyar Nemzeti Bank)HungaryHUFOfficial daily MNB rates (public rate table on mnb.hu)
NBP (Narodowy Bank Polski)PolandPLNTable A mid rates from the official NBP API (api.nbp.pl)
CNB (Česká národní banka)CzechiaCZKDaily rates from the official CNB API (api.cnb.cz)

Use it for bookkeeping, foreign-currency invoices, VAT and tax reporting, price lists, ERP or spreadsheet imports, dashboards, or as a tool for AI agents that need the official local rate rather than a market feed.

Two modes

  1. Date range: every published rate for your currencies between startDate and endDate. The default is the last 7 days.

  2. Lookup / invoice mode: give a list of lookupDates (for example invoice or transaction dates) and get one rate per bank, currency and date using a clear rule:

    • sameDayOrPrevious: the rate published on that day, or the latest earlier one (weekends and holidays).
    • previousBusinessDay: the latest rate published strictly before that day.

    Which rule your tax or accounting rules require depends on your country and situation, so please confirm with your accountant. This Actor only returns the official published numbers. Dates with no applicable rate (future dates, or a currency the bank does not quote) are listed in OUTPUT.lookups_without_rate and are not charged.

Input

FieldTypeDefaultNotes
sourcesarray["MNB","NBP","CNB"]Any of MNB, NBP, CNB
currenciesarray["EUR","USD"]ISO codes, e.g. EUR, USD, GBP, CHF, JPY. The bank's own currency is skipped
startDatestringend date minus 6 daysYYYY-MM-DD
endDatestringtoday (UTC)YYYY-MM-DD
lookupDatesarraynoneTurns on lookup mode; the date range is then ignored
lookupRulestringsameDayOrPreviousor previousBusinessDay
requestDelaySecsnumber0.5Politeness delay between requests

Example (invoice mode):

{
"sources": ["MNB", "NBP"],
"currencies": ["EUR", "USD"],
"lookupDates": ["2026-10-16", "2026-10-18"],
"lookupRule": "previousBusinessDay"
}

Output example (real run)

Range mode, one record per bank, currency and publication day:

{
"source": "NBP",
"date": "2026-10-15",
"currency": "EUR",
"currencyName": "euro",
"unit": 1,
"rate": 4.3691,
"ratePerUnit": 4.3691,
"tableNo": "201/A/NBP/2026",
"sourceUrl": "https://api.nbp.pl/api/exchangerates/tables/A/2026-10-15/2026-10-21/?format=json",
"baseCurrency": "PLN",
"fetchedAt": "2026-10-21T18:25:40+00:00"
}

Lookup mode (previousBusinessDay, Sunday 18 October 2026, so the MNB rate of Friday 16 October is used):

{
"source": "MNB",
"currency": "EUR",
"currencyName": "euro",
"unit": 1,
"rate": 363.29,
"ratePerUnit": 363.29,
"tableNo": null,
"baseCurrency": "HUF",
"requestedDate": "2026-10-18",
"lookupRule": "previousBusinessDay",
"rateDate": "2026-10-16",
"fetchedAt": "2026-10-21T18:25:47+00:00"
}
  • rate is exactly as published, for unit units of the foreign currency (MNB and CNB quote some currencies per 100).
  • ratePerUnit is the rate for 1 unit, so the three banks can be compared directly.
  • tableNo is the NBP table number.
  • sourceUrl is the exact official page or API call the number came from, for your audit trail.

Export as JSON, CSV, Excel or via the API, or connect it to Make, Zapier, n8n or Google Sheets with Apify integrations. A run summary (records per bank, failed banks, currencies without data, lookups without a rate) is saved in the OUTPUT record of the run's key-value store.

Pricing

Pay per event, no subscription:

EventPrice
Rate record (one rate in the dataset)$0.0005 ($0.50 per 1,000 records)
Actor start (per run)$0.002

Examples: the default run (2 currencies × 3 banks × 1 week, about 30 records) costs about $0.017. A full year of EUR and USD from all three banks (about 1,500 records) costs about $0.75. A daily scheduled run for 5 currencies across the 3 banks costs about $0.01 per day. You can set a maximum cost per run, and the Actor stops cleanly when it is reached.

Use cases

  • Accounting and invoicing: the official MNB, NBP or CNB rate for each foreign-currency invoice (Hungarian, Polish and Czech VAT and income-tax rules refer to central bank rates).
  • ERP, spreadsheet and BI feeds: schedule a daily run and push new rates to Google Sheets, a database or a webhook.
  • Multi-country finance teams that need HUF, PLN and CZK rates side by side in one consistent format.
  • AI agents and MCP tools that need a trustworthy, citable exchange-rate source.

How it works and fair use

  • Only official, public sources published for exactly this purpose. No logins, no personal data.
  • Few requests: CNB one per month per currency, NBP one per 93 days, MNB one per year per currency. In lookup mode only the 14 days before each date are fetched. Requests are spaced by a polite delay and retried automatically.

Limitations

  • Rates for a day appear only after the bank publishes them (usually early or mid afternoon local time). A same-day request made earlier returns the previous publication.
  • Maximum range is about 10 years per run, and at most 5,000 lookup dates per run.
  • This Actor is not affiliated with MNB, NBP or CNB. Data is provided as published; always check critical figures at the source.

FAQ

Which currencies are supported? Whatever each bank publishes. NBP table A has about 30 currencies, CNB about 30, and MNB about 30 current ones. Codes a bank does not quote return no rows and are listed in OUTPUT.sources[].currencies_without_data.

Can I schedule it? Yes. Use an Apify Schedule (for example every business day at 15:00 CET) and send the output to Google Sheets or a webhook.

Do you also have the ECB? Not yet. Open an issue if you need it.

Something broke? Open an issue on the Actor's Issues tab with your input, and I will fix it.