Euro Area Yield Curve, ECB Rates & Bund Spreads Panel
Pricing
from $0.80 / 1,000 results
Euro Area Yield Curve, ECB Rates & Bund Spreads Panel
Daily euro area rates panel from the ECB: deposit facility, refinancing and lending rates, EUR short rate, AAA yield curve 3 month to 30 year, credit spread, EUR FX, plus monthly Germany, France, Italy and Spain yield spreads.

What does Euro Area Yield Curve, ECB Rates & Bund Spreads Panel do?
Euro Area Yields & ECB Rates Panel returns euro area rates data in two modes. The daily panel has one row per business day with the ECB deposit facility, main refinancing and marginal lending rates, the euro short-term rate, the euro area AAA government yield curve at 3 month, 1, 2, 5, 10, 20 and 30 year points, the all-issuer 10 year yield and its spread to the AAA yield as a credit-stress gauge, curve spreads with a regime label, daily changes, the 1-year percentile of the 10 year yield and the euro against the dollar, pound, yen and Swiss franc. The country mode returns monthly long-term government bond yields for Germany, France, Italy, Spain, Portugal, Greece, the Netherlands, Belgium, Austria, Ireland and Finland with each spread to Germany in basis points, including the BTP-Bund and OAT-Bund spreads. All data is published by the ECB.
Why use Euro Area Yield Curve, ECB Rates & Bund Spreads Panel?
- Two views in one Actor: a daily euro area panel and monthly country spreads to Germany.
- Ready to join: one row per date for models and dashboards.
- Official source: the ECB data portal.
- Credit-stress gauge: all-issuer versus AAA 10 year yield.
- Policy rates carried forward from their change dates, so every day has the rate in force. No API key or login.
What makes this different
Euro rate data means learning ECB series keys and stitching policy rates, curves and FX together. This Actor selects the series, aligns them by date, carries step policy rates forward and adds the spreads and percentiles, and its country mode gives the BTP-Bund style spreads in one table.
Who can use the Euro Area Yields & ECB Rates Panel and how?
- Quant researchers: add euro rates, credit spread and FX features to models.
- Bond and macro analysts: track BTP-Bund and OAT-Bund spreads against the euro curve.
- Portfolio managers: monitor ECB policy versus market yields.
- Economists and students: study the euro area curve and periphery spreads.
- Newsletter writers: publish a daily euro rates dashboard.
- Fintech apps: show euro rate context beside European accounts.
- AI agent builders: let an assistant answer what the ECB rate and Bund yield are.
- Backtesting platforms: filter signals by euro curve regime or country stress.
How it works

- Your input — set a date range or a lookback in days.
- The Actor collects it — the Actor reads European Central Bank and joins the series by date.
- Your output — you get one row per trading day with derived features; schedule it daily with delta mode to append each new day.
What data can you extract?
The dataset has 32 fields per row:
| Field | Type | Description |
|---|---|---|
date | string | Date, YYYY-MM-DD (first of month in country view). |
aaa_3m | number | AAA euro area yield, 3 month, percent. |
aaa_1y | number | AAA yield, 1 year, percent. |
aaa_2y | number | AAA yield, 2 year, percent. |
aaa_5y | number | AAA yield, 5 year, percent. |
aaa_10y | number | AAA yield, 10 year, percent. |
aaa_20y | number | AAA yield, 20 year, percent. |
aaa_30y | number | AAA yield, 30 year, percent. |
all_issuers_10y | number | All-issuer euro area government yield, 10 year, percent. |
estr | number | Euro short-term rate, percent. |
eur_usd | number | US dollars per euro. |
eur_gbp | number | Pounds per euro. |
eur_jpy | number | Yen per euro. |
eur_chf | number | Swiss francs per euro. |
deposit_facility_rate | number | ECB deposit facility rate, percent. |
main_refinancing_rate | number | ECB main refinancing operations rate, percent. |
marginal_lending_rate | number | ECB marginal lending facility rate, percent. |
spread_10y_2y_bps | number | Yield spread 10y 2y, basis points. |
spread_30y_10y_bps | number | Yield spread 30y 10y, basis points. |
aaa_10y_over_deposit_rate_bps | number | Aaa 10y over deposit rate bps. |
all_vs_aaa_10y_bps | number | All-issuer minus AAA 10 year yield, basis points (credit stress). |
estr_vs_deposit_rate_bps | number | Estr vs deposit rate bps. |
curve_regime | string | inverted, flat or normal. |
change_10y_bps | number | 1-day change in 10y, basis points. |
change_2y_bps | number | 1-day change in 2y, basis points. |
change_deposit_rate_bps | number | 1-day change in deposit rate, basis points. |
eur_usd_change_1d_pct | number | 1-day change in eur usd, percent. |
aaa_10y_percentile_1y | number | Percentile of aaa 10y over the last 252 trading days. |
fetch_path | string | How the data was obtained. |
source | string | Data source. |
scraped_at | string | Timestamp. |
actor_version | string | Actor version. |
How to use Euro Area Yield Curve, ECB Rates & Bund Spreads Panel

- Open the Actor and go to the Input tab.
- Choose Data view: the daily euro area panel, or monthly country yields and spreads. Leave the dates empty for the last 90 days (400 days in country view) or set a range, and schedule with delta mode to append new rows.
- Optionally set filters and a Max results limit.
- Click Start. A default run finishes in under a minute.
- Open the Output tab, then download the dataset or connect it to your tools.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | No | "daily_panel" | daily_panel returns one row per business day; country_yields returns monthly government yields and spreads to Germany. |
startDate | string | No | — | First trading date, YYYY-MM-DD. Leave empty to use the lookback below. |
endDate | string | No | — | Last trading date, YYYY-MM-DD. Leave empty for today. |
lookbackDays | integer | No | 90 | Used when no start date is set. |
newestFirst | boolean | No | true | Return the newest day first. Turn off for chronological order. |
maxItems | integer | No | 0 | Cap on returned rows. Set 0 for no limit. |
deltaMode | boolean | No | false | After the first run with a delta key, return and bill only days not delivered before. |
deltaStateKey | string | No | "default" | Name of the tracked stream. |
proxyConfiguration | object | No | {"useApifyProxy":false} | Optional proxy. The sources work without one. |
Output Data

Daily view: deposit_facility_rate, main_refinancing_rate, marginal_lending_rate and estr are percent; aaa_* are euro area AAA government yields; all_issuers_10y includes all issuers, so all_vs_aaa_10y_bps is a stress gauge; spread_*_bps are basis points; curve_regime is inverted, flat or normal. Country view: yield_xx are monthly long-term yields per country and spread_xx_vs_de_bps are their spreads to Germany, with widest_spread_vs_de_bps and the average across countries. Country rows are dated to the first of the reference month.

A real dataset item:
{"date": "2026-09-24","aaa_3m": 2.6116095708,"aaa_1y": 3.0297028728,"aaa_2y": 3.2294000719,"aaa_5y": 3.3434829292,"aaa_10y": 3.5661681763,"aaa_20y": 3.8124981185,"aaa_30y": 3.7442467417,"all_issuers_10y": 4.0646327167,"estr": 2.44,"eur_usd": 1.1367,"eur_gbp": 0.85986,"eur_jpy": 180.57,"eur_chf": 0.9409,"deposit_facility_rate": 2.5,"main_refinancing_rate": 2.65,"marginal_lending_rate": 2.9,"spread_10y_2y_bps": 33.7,"spread_30y_10y_bps": 17.8,"aaa_10y_over_deposit_rate_bps": 106.6,"all_vs_aaa_10y_bps": 49.8,"estr_vs_deposit_rate_bps": -6,"curve_regime": "normal","change_10y_bps": 4.3,"change_2y_bps": 1.1,"change_deposit_rate_bps": 0,"eur_usd_change_1d_pct": -0.386,"aaa_10y_percentile_1y": 100,"fetch_path": "ecb_sdmx_csv","source": "european_central_bank_data_portal","scraped_at": "2026-09-27T05:07:10.235Z","actor_version": "1.0.0"}
How to read and use the results
- Read curve_regime and spread_10y_2y_bps for the euro curve slope.
- Check all_vs_aaa_10y_bps for credit stress.
- Compare aaa_10y with the deposit rate for policy expectations.
- Use country view for spreads to Germany.
- Join on date to your own data.
- Schedule with delta mode to append new rows.
Usage Examples
Daily panel, last 90 days
{}
Monthly country spreads
{"mode": "country_yields","lookbackDays": 1000,"newestFirst": false}
Only new days
{"deltaMode": true,"deltaStateKey": "daily"}
Tips for Best Results
- Join on the date column; markets are closed on weekends and holidays, so those dates have no row.
- Run the Actor once for the whole history, then schedule it daily with delta mode.
- Use the percentile fields rather than raw levels to compare conditions across years.
- Curve inversion is a slow signal; combine it with faster features such as daily changes.
- Use the country view to track the BTP-Bund spread; it is monthly, so join it by month.
- estr_vs_deposit_rate_bps shows how far the market short rate sits from the deposit rate.
- Default is 5 results for a fast test. Set the max to 0 to return everything available.
Reliability by mode
| Mode | Status | Needs login or key? | Notes |
|---|---|---|---|
| ECB policy rates and EUR short rate | ✅ | No | Published by the ECB. |
| AAA and all-issuer yield curve | ✅ | No | Daily curve estimates. |
| Country spreads to Germany | 🟡 | No | Monthly, published with a lag. |
| Intraday or real-time values | ❌ | - | End-of-day only. |
✅ works as described, 🟡 works with caveats, ❌ not supported.
Only new records (delta mode)
Turn on Only new trading days (delta mode) and set a Delta key. The first run returns the whole range; later runs return, and bill, only trading days not delivered before.
Known Limitations
- Country yields are monthly convergence-criteria yields, not daily bond prices.
- Daily euro area yields are curve estimates for AAA and all-issuer government bonds, not single bonds.
- Values are end-of-day and appear after the ECB publishes them.
- The euro short-term rate starts in 2019; earlier days have no value.
- This is information, not financial advice.
Integrations
Run it from the Apify API, on a schedule, or from a webhook. Send results straight to Google Sheets, Make, Zapier, Slack or your own database with Apify's built-in integrations.
Export Formats
Download the dataset as JSON, CSV, Excel, XML, HTML table or RSS from the Output tab or the API.
Frequently Asked Questions
Where does the data come from?
The European Central Bank data portal, which publishes these series for free.
How far back does it go?
Policy rates go back to 1999, the yield curve to 2004 and each country series to its own start.
Does it need an API key or account?
No.
Can I get intraday data?
No, the data is end-of-day.
Why is a value empty?
The series did not exist on that date, or the source has not published that day yet.
Am I charged for empty days?
No, only for rows returned.
Do I need an account or login?
No. The Actor reads public European Central Bank data and needs no account or API key.
Am I charged for failed runs or empty results?
You are only charged for results that are actually written to the dataset.
Can I run it on a schedule?
Yes. Create a Task with your input and add a schedule in Apify Console. With monitor mode on, each scheduled run returns only what changed since the previous one.
Changelog
- 2026-09-27: First release.
Enterprise and custom work
Need higher volumes, a custom output schema, dedicated scheduling or a no-breaking-changes commitment for a production pipeline? Open an issue on the Actor page and describe your use case. Bulk terms and custom builds are available.
Support
Questions or a missing field? Open an issue from the Issues tab on this Actor's page and it will be looked at.
Legal / Responsible Use
This Actor reads publicly published European Central Bank data. You are responsible for how you use the data. It is not financial advice and not affiliated with the European Central Bank.