ECB Bank Lending & Deposit Rate Records — Euro Area MIR
Pricing
from $33.50 / 1,000 rate records
ECB Bank Lending & Deposit Rate Records — Euro Area MIR
Per-record euro-area MFI (bank) interest rates from the ECB's official keyless SDMX API. Lending and deposit rates by product, maturity, and counterpart sector. Free commercial reuse, no personal data.
Pricing
from $33.50 / 1,000 rate records
Rating
0.0
(0)
Developer
NexGen Signal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Official source. No API key. Pay per record.
This actor turns the European Central Bank's MFI Interest Rate statistics (MIR) into clean, per-observation records — the interest rates euro-area banks actually charge and pay: mortgage and consumer-loan rates, corporate lending rates, and deposit rates, by product, maturity, and counterpart sector. Each run reads the keyless ECB SDMX data API and delivers one row per observation: the series, the period, and the rate. Euro-area / statistical grain, ECB-licensed for commercial reuse, no person fields.
What this is, in one paragraph
The ECB publishes the harmonised interest rates that euro-area monetary financial institutions (banks) apply to loans and deposits — the MIR dataflow. This actor reads that dataflow through the ECB's keyless SDMX API for the series key you choose, parses the SDMX structure into human-readable dimensions, and flattens each observation into a single analysis-ready row: which product (e.g. lending for house purchase), which maturity, which sector (households or non-financial corporations), which period, and the rate. Values are delivered unmodified, as the ECB requires. You are billed only for observations actually delivered.
Who buys this and for what job
- Bank-treasury, ALM, and pricing teams benchmarking euro-area lending and deposit rates by product and maturity.
- Fixed-income and macro analysts tracking bank funding and lending-rate dynamics distinct from the policy rate.
- Fintech, mortgage, and consumer-credit products displaying or modelling prevailing euro-area retail bank rates.
- Data engineers who want a keyless, one-call feed of ECB MFI interest rates already reduced to one row per observation.
Scope — MFI interest rates only (what this is NOT)
This actor serves only the ECB MIR dataflow (MFI interest rates). It is deliberately scoped away from two neighbouring things that are already covered elsewhere, and it is structurally incapable of serving them (the dataflow is fixed to MIR in code):
- ECB policy rate — the main refinancing / deposit-facility rate is a different series and is not served here.
- Euro FX / exchange rates — EUR/USD and other pairs are not served here.
This exclusion list ships in every run's receipt. What remains — the actual bank interest rates euro-area institutions charge and pay — is not covered by any sibling, which is exactly why this cell exists.
Licence — free reuse, commercial included, values unmodified
The ECB is explicit: "The ESCB subscribes to a policy of free access and free reuse regarding its publicly released statistics", and "All publicly available ESCB statistics may be reused free of charge on the condition that the source is quoted" and "the statistics (including metadata) are not modified." This actor delivers values unmodified and carries the required attribution: "Source: ECB statistics (MFI interest rate statistics)." These are observation records for analysis — not investment or economic advice.
Statistical grain — no person data
This actor works at statistical / euro-area grain: harmonised aggregates by product, maturity, and sector. There are no natural-person fields in this data, and this actor emits none, with a person-key guard on every record as a backstop.
Sample output

Real rows from a live run of this actor (first 5 rows, selected columns).
One full record from the same run, exactly as delivered:
{"record_id": "MIR.M.U2.B.A20.A.R.A.2240.EUR.O:2003-01","dataflow": "MIR","series_key": "M.U2.B.A20.A.R.A.2240.EUR.O","time_period": "2003-01","value": 5.06,"frequency": "Monthly","ref_area": "Euro area (changing composition)","balance_sheet_item": "Loans","maturity": "Total","rate_data_type": "Annualised agreed rate (AAR) / Narrowly defined effective rate (NDER)","counterpart_sector": "Non-Financial corporations (S.11)","currency": "Euro","title": "Loans — Total — Non-Financial corporations (S.11) — Annualised agreed rate (AAR) / Narrowly defined effective rate (NDER)","source": "European Central Bank (MIR statistics, SDMX API)","source_url": "https://data.ecb.europa.eu/data/datasets/MIR","licence": "European Central Bank (ESCB) MFI interest-rate statistics (MIR dataflow), via the keyless ECB SDMX data API. The ESCB 'subscribes to a policy of free access and free reuse regarding its publicly released statistics' — reusable for commercial and non-commercial purposes 'on the condition that the source is quoted' and the statistics are not modified. Values are unmodified.","attribution": "Source: ECB statistics (MFI interest rate statistics).","disclaimer": "A single ECB MFI interest-rate observation (euro-area bank lending/deposit rates), as published in the ECB's MIR statistics. Point-in-time facts — not investment or economic advice. Verify against the official ECB Data Portal before relying on it.","observed_at": "2026-09-25T17:19:32Z"}
Pricing
| Event | Free plan | Bronze | Silver | Gold / Platinum / Diamond |
|---|---|---|---|---|
rate_record | $0.05 | $0.045 | $0.04 | $0.0335 |
Delivered before charged. Blocked runs, empty results, and missing observations cost nothing.
Input
| Field | Type | Default | Description |
|---|---|---|---|
seriesKey | string | M.U2.B...R...EUR. | SDMX key for the MIR flow. The default pulls euro-area annualised agreed rates; leave dimensions empty to wildcard. Example: M.U2.B.A2C.AM.R.A.2250.EUR.N = euro-area cost of borrowing for house purchase; with lastNObservations: 10 it returns the latest 10 months, oldest first. |
lastNObservations | integer | — | Optional. Keep only the most recent N observations per series (e.g. 24 for two years). Blank = full history. |
maxRecords | integer | 10 | Ceiling on records delivered and billed. |
Default changed on 30 Sep 2026: if you leave maxRecords out, a run now returns up to 10 records (it was 500). Set maxRecords yourself to get more — the maximum is unchanged.
Output
One JSON object per observation. Real example (values verbatim):
{"record_id": "MIR.M.U2.B.A2A.A.R.A.2240.EUR.N:2026-06","dataflow": "MIR","series_key": "M.U2.B.A2A.A.R.A.2240.EUR.N","time_period": "2026-06","value": 3.72,"frequency": "Monthly","ref_area": "Euro area","balance_sheet_item": "Loans","maturity": "Total","rate_data_type": "Annualised agreed rate (AAR)","counterpart_sector": "Non-Financial corporations (S.11)","currency": "Euro","title": "Loans — Total — Non-Financial corporations (S.11) — Annualised agreed rate (AAR)","source": "European Central Bank (MIR statistics, SDMX API)","source_url": "https://data.ecb.europa.eu/data/datasets/MIR","licence": "European Central Bank (ESCB) MFI interest-rate statistics ... free access and free reuse ...","attribution": "Source: ECB statistics (MFI interest rate statistics).","observed_at": "2026-08-19T00:00:00Z"}
An unbilled RUN_RECEIPT records the robots check, the series key, the internal-dedupe exclusion list, observations seen, missing observations skipped, records delivered, and whether charged equals delivered.
Field reference
Each record is one observation. Identity: record_id (MIR.series_key:period), dataflow (MIR), and series_key. The data point: time_period and value (percent per annum for rate types). The human-readable dimensions: frequency, ref_area, balance_sheet_item (the loan/deposit product), maturity, rate_data_type, counterpart_sector (households or non-financial corporations), currency, and a composed title. Provenance: source, source_url, licence, attribution, disclaimer, and observed_at.
How a run works
A run first re-reads the source's robots posture from your runtime — the ECB API host's /robots.txt redirects to an empty robots file, a no-policy posture — and stops at the door if that ever changes. It then requests your MIR series key (fixed to the MIR dataflow, so policy-rate and FX flows are unreachable by construction), parses the SDMX-JSON structure into observations, and flattens each into a record with its dimensions resolved to human-readable names. Each non-missing observation is delivered before it is charged, so a blocked or empty run costs you nothing; observations with no value are excluded and tallied in the receipt as missing_skipped, so you never pay for a gap in the series. The actor stops at your maxRecords ceiling, and charge_equals_delivered in the receipt confirms you were billed for exactly what you received.
Cost guidance
One rate_record per delivered observation: cost = observations delivered × your plan's per-record price. The euro-area MIR flow holds on the order of 1,500 series with roughly 300 monthly observations each — hundreds of thousands of data points — so use seriesKey to target a product and lastNObservations to bound history. A default pull of the last two years across the annualised-agreed-rate series is a few thousand observations; 1,000 observations is $50 (Free) / $33.50 (Gold).
Honest limitations
- MFI interest rates only. By design this serves the MIR dataflow — not the ECB policy rate, not FX, not other ECB statistics.
- SDMX keys are the ECB's. An empty/over-narrow key returns no data (a genuine-empty result, which costs nothing).
- Values are unmodified as the ECB licence requires; rate types are percent per annum, but always read
rate_data_typeto interpret a series. - Missing observations are skipped (excluded and counted in the receipt).
- No person data is emitted.
Differentiation
This actor delivers the ECB's MIR (bank interest rate statistics) series for the lending-and-deposit-rate buyer: clean per-record data keyed to the specific product, maturity, and counterparty sector — the working data layer for someone modelling euro-area bank lending and deposit rates, rather than a general MIR statistics browser. It is structurally fixed to the MIR flow and does not serve the ECB policy rate or FX rates, and it is distinct from the fleet's World Bank macro-indicator and EU-regulatory cells.
The NexGen Signal family
Part of the NexGen Signal family of official-source, pay-per-record products:
- National Macro Indicator Records — World Bank
- EU Regulatory Change Records — EUR-Lex
- EMA Medicine Status Records — EU Medicines
- World Bank Project Records — Development Pipeline
- Organization Sanctions & LEI Risk
Source: European Central Bank MFI interest rate statistics (MIR dataflow) via the ECB SDMX data API. ESCB statistics are free to reuse for commercial and non-commercial purposes provided the source is quoted and the statistics are not modified. Reformatted to observation records; values unmodified; missing observations excluded and counted; no person data emitted.