LSEG Delayed Market Data (London Stock Exchange, Turquoise, TRADEcho)
LSEG Delayed Market Data (London Stock Exchange, Turquoise, TRADEcho)
London Stock Exchange Group's free MiFID II / MiFIR delayed-data portal: semicolon-delimited CSV files, one per minute, of pre- and post-trade data published 15 minutes after initial publication for London Stock Exchange (XLON), Turquoise (TGHL) and Turquoise Europe (TGHE), plus post-trade files for the TRADEcho UK and EU APAs. No registration or key; you accept on-page terms.
Coverage
Pre- and post-trade files for London Stock Exchange (MIC XLON), Turquoise (TGHL) and Turquoise Europe (TGHE); post-trade only for TRADEcho UK (ECHO) and TRADEcho EU (ECEU) APAs. A new file every minute with the preceding minute's activity, 15 minutes after initial publication; end-of-session consolidated gz files for TGHE and ECEU only. Timestamps and file names in UTC. Only the most recent days are listed (about 1,000 to 1,600 files per venue list on Nov 5, 2026). Regulatory 15-minute delayed transparency data, not a real-time feed and not a consolidated tape; not RNS company announcements.
Verdict
This is the official free 15-minute delayed trade and quote record for the London Stock Exchange and Turquoise, useful for agents that need venue-level UK and EU equity transparency data without a market-data contract. It is delayed MiFID II data, not a real-time or consolidated feed, and covers only LSEG venues and APAs. Use is free on LSEG's terms; charging for onward distribution or building charged value-added services on it needs an LSEG licence.
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
Pull an LSE 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 dmd.lseg.com portal shows Terms & Conditions you accept by using the data.
- The portal page lists files from https://dmd.lseg.com/api/web/files and hands out short-lived signed download links from https://dmd.lseg.com/api/web/download?fileName=<fileKey>. These are the JSON calls the portal itself makes, not a documented API, so they can change.
Request
curl 'https://dmd.lseg.com/api/web/files'Format
File list: JSON with result.initialPayloadResponse.fileDetails keyed by venue list (for example "LSE Post-Trade Documents"), each item with fileName, fileKey, type and fileDate. Each file is a semicolon-delimited CSV for one minute (for example XLON-post-2026-11-05T12_00.csv) with UTC timestamps.
Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
"""LSEG Delayed Market Data: one LSE (XLON) post-trade minute file -> pandas -> Parquet. No key."""
import io
import requests
import pandas as pd
API = "https://dmd.lseg.com/api/web/"
files = requests.get(API + "files", timeout=60).json()["result"]["initialPayloadResponse"]["fileDetails"]
item = next(f for f in files["LSE Post-Trade Documents"] if "T12_00" in f["fileName"])
signed = requests.get(API + "download", params={"fileName": requests.utils.unquote(item["fileKey"])}, timeout=60).json()["result"]["preSignedUrl"]
r = requests.get(signed, timeout=120)
r.raise_for_status()
df = pd.read_csv(io.StringIO(r.text), sep=";", dtype=str) # semicolon-delimited, UTC timestamps
df.to_parquet("lseg_xlon_posttrade.parquet", index=False)
print(item["fileName"], len(df), "trades;", ", ".join(df.columns[:5]))Run by us on 2026-11-05 (python 3.13 | pandas | pyarrow | requests (box probe)). Result: XLON-post-2026-11-05T12_00.csv 6279 trades; distributionTime, sourceVenue, instrumentId, transactionIdentificationCode, mifidPrice
Limits
- Data is published 15 minutes after initial publication; one file per minute per venue and flow.
- Only recent days are listed (about 1,000 to 1,600 files per venue list on Nov 5, 2026), so collect files yourself for history.
- No request or download limit stated.
Quirks
- Files are semicolon-delimited, not comma-delimited.
- File names and timestamps are in UTC; the snippet picks the 12:00 UTC file, which exists only on trading days.
- Consolidated end-of-session gz files exist only for Turquoise Europe (TGHE) and TRADEcho EU (ECEU).
- Signed S3 download links expire quickly; request a fresh one per file.
Terms and attribution
- Free use of the Delayed Data on LSEG's on-page terms; provided as is, for information purposes only.
- Onward distribution for a fee, or use in charged value-added services, needs an LSEG licence (marketdata@lseg.com).
Sources
- https://dmd.lseg.com/: “Files are produced every minute. The times in the names of these files, and the timestamps on the messages within the files, are all in UTC.”
- https://dmd.lseg.com/: “Users will be required to enter into a licence agreement and should contact marketdata@lseg.com to discuss licencing requirements before using the Delayed Data.”
- https://dmd.lseg.com/: “All files are semicolon delimited.”
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