Deutsche Börse MiFID II delayed data (Xetra, Börse Frankfurt, Eurex)
Deutsche Börse MiFID II delayed data (Xetra, Börse Frankfurt, Eurex)
Deutsche Börse Group's free MiFIR Art. 13(1) delayed-data file service: gzipped JSON files, one per minute, of pre- and post-trade market data 15 minutes after creation for Xetra, Börse Frankfurt (including certificates and warrants), Tradegate, Eurex and EEX. Files stay up until midnight of the following business day. No registration or key.
Coverage
Pre- and post-trade minute files (gzipped newline-delimited JSON, UTC) for Xetra (for example DETR-pretrade / DETR-posttrade), Börse Frankfurt, Börse Frankfurt Certificates and Warrants (post-trade), Tradegate BSX, Eurex (options and non-options) and EEX power and gas derivatives, plus a daily consolidated post-trade file. 15-minute delay; information once per minute; files kept until midnight of the following business day (Xetra post-trade listed 2,644 files on Nov 5, 2026). This is the current MDS/MFS service, not the deprecated Deutsche Börse Public Dataset on AWS. Regulatory delayed data, not a real-time feed.
Verdict
This is the official free delayed trade and quote record for Xetra, Börse Frankfurt and Eurex, useful for agents that need venue-level German equity and derivatives transparency data. Files disappear after the next business day, so collect them yourself for history, and do not use the deprecated AWS Public Dataset. Deutsche Börse's terms grant a free licence only if you do not commercialise the data: onward dissemination for a fee or charged value-added services need a licence under its Market Data Dissemination Agreement.
Get the free weekly email
Free weekly email of newly verified free data. Unsubscribe by emailing us.
By entering your email and clicking Subscribe, you agree to receive the Signal Lab weekly email from Quantum Data Technologies Ltd., 3200-650 West Georgia Street, Vancouver, BC V6B 4P7, Canada (signal-lab@qdt.ai). You can unsubscribe at any time: reply "unsubscribe" to any email or write to signal-lab@qdt.ai. See our Privacy Policy.
Use in your agent
Read a Xetra delayed post-trade minute file into pandas and Parquet. Checked against the provider's documentation on Nov 5, 2026.
Access
- No account or key; the file service page shows Terms of Use.
- The Xetra post-trade page (https://mfs.deutsche-boerse.com/DETR-posttrade) loads its file list from https://mfs.deutsche-boerse.com/api/DETR-posttrade; each file downloads from /api/download/<name>, which redirects to a short-lived signed link.
Request
curl 'https://mfs.deutsche-boerse.com/api/DETR-posttrade'Format
File list: JSON with SourcePrefix, FileCount, GenerationDatetime and CurrentFiles (names like DETR-posttrade-2026-11-05T12_00.json.gz, plus a daily file). Each file is gzipped newline-delimited JSON, one trade per line (instrumentIdentificationCode, price, quantity, priceCurrency, tradingDateAndTime, venueOfExecution and MMT flags).
Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
"""Deutsche Boerse MiFID II delayed Xetra post-trade (one minute file) -> pandas -> Parquet. No key."""
import gzip, json
import requests
import pandas as pd
BASE = "https://mfs.deutsche-boerse.com/api/"
listing = requests.get(BASE + "DETR-posttrade", timeout=60).json()
# Minute files are named DETR-posttrade-YYYY-MM-DDTHH_MM.json.gz (UTC); pick one inside trading hours.
name = next(f for f in listing["CurrentFiles"] if "daily" not in f and "T12_00" in f)
raw = requests.get(BASE + "download/" + name, timeout=120).content # follows a short-lived signed redirect
records = [json.loads(line) for line in gzip.decompress(raw).decode("utf-8").splitlines() if line.strip()]
df = pd.DataFrame(records)
df.to_parquet("dbg_xetra_posttrade.parquet", index=False)
print(name, len(df), "trades;", df["venueOfExecution"].iloc[0], df["instrumentIdentificationCode"].nunique(), "ISINs")Run by us on 2026-11-05 (python 3.13 | pandas | pyarrow | requests (box probe)). Result: DETR-posttrade-2026-11-05T12_00.json.gz 1223 trades; XETA 410 ISINs
Limits
- 15-minute delay; files remain available until midnight of the following business day, so collect them yourself for history.
- No request or download limit stated.
Quirks
- Minute files outside trading hours can be empty; the snippet picks 12:00 UTC.
- Other venues use other prefixes on the same service (for example DETR-pretrade, Börse Frankfurt, Tradegate, Eurex, EEX); see the Delayed data page for links.
- Do not use the deprecated Deutsche Börse Public Dataset on AWS.
Terms and attribution
- Free, non-exclusive, non-transferable licence only if you do not commercialise the data.
- Onward dissemination for a fee or value-added services sold for a fee need a licence under the Market Data Dissemination Agreement.
Sources
- https://mds.deutsche-boerse.com/mds-en/real-time-data/Delayed-data: “The Market Data is provided with a 15 minutes time delay. Information is provided once per minute and remains available until midnight of the following business day.”
- https://mfs.deutsche-boerse.com/DETR-posttrade: “Any access to and use of the Delayed Data is subject to a licence which is only granted free of charge if the Delayed Data User does not commercialize the Delayed Data.”
Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer