Chapter 10 – Delayed data
If you want market prices in real time, then in most cases you'll have to pay access fees to the exchange.
However, nearly all exchanges allow you to retrieve recent prices – delayed prices – free of charge via the Workspace desktop application.
It depends on the individual exchange how long the delay is:
- In some cases, just a few minutes.
- In others, it might be the closing price at the last trading session.
Important: While delayed data is available free of charge through the Workspace desktop application, accessing it programmatically via the Data Library may still require an access fee depending on the exchange and the type of delayed RIC. Always check your entitlements with your LSEG representative before using delayed RICs in your code.
For a guide to all delayed data, check the WORLD/DELAY page which gives details of the delays for all exchanges (exchange suffix, delay time, etc.).

The page lets you navigate through Next and Previous page menus to go to each page detail.

Delayed equity and indices full quotes
If you have access to the equity service, but you have not subscribed to a particular exchange, you can still view a delayed full quote on an instrument on that exchange.
To do this, put a forward slash / in front of the RIC code in this /RIC format.
Example:
/LSEG.Linstead ofLSEG.L(London Stock Exchange Quote RIC)./9984.Tinstead of9984.T(SoftBank Quote RIC).

The Data Library for Python get_data method supports these delayed RICs too.
Important: While delayed data is available free of charge through the Workspace desktop application, accessing it programmatically via the Data Library may still require an access fee depending on the exchange and the type of delayed RIC. Always check your entitlements with your LSEG representative before using delayed RICs in your code.
The first step is importing the library.
import lseg.data as ld
import pandas as pd
Before we move on, I am expecting that you have open and log in to the LSEG Workspace Desktop application in the same machine that run this Jupyter Notebook.
Next, open the session.
ld.open_session()
Next, use the get_data method and input your interested delayed RICs (/ prefix + RIC_Code).
# Get BID and ASK fields for CHF= (Swiss Franc spot rate) and MSFT.O (Microsoft on NASDAQ)
df = ld.get_data(
universe=['/LSEG.L', '/9984.T'],
fields=['BID', 'ASK','TR.CommonName']
)
df
| Instrument | Company Common Name | BID | ASK | |
|---|---|---|---|---|
| 0 | /LSEG.L | London Stock Exchange Group PLC | 8000 | 9200 |
| 1 | /9984.T | SoftBank Group Corp | 3846 | 3847 |
The Data Library get_history method does not support delayed RICs that start with / (for example, /LSEG.L).
To retrieve delayed historical data, use one of these options:
- Content layer:
historical_pricing - Delivery layer:
endpoint_requestwith the/data/historical-pricing/endpoint andqos=delayed
In this notebook, we will use the Delivery layer approach.
For more details, see:
- Data Library docs: Reference Guide and Endpoint tutorial
- Historical Pricing API docs: Data Guide and Python tutorial
- Delivery Layer Endpoint examples (GitHub)
- Delivery Layer Endpoint tutorial (GitHub)
# Use the Delivery Layer's endpoint_request module to call the REST API directly
from lseg.data.delivery import endpoint_request
# The RIC (Instrument Code) for the instrument we want historical data for
RIC = 'LSEG.L'
# Define the API request:
# - url: the Historical Pricing interday-summaries endpoint with a {universe} placeholder
# - method: HTTP GET
# - path_parameters: substitutes {universe} in the URL with the RIC
# - query_parameters:
# qos='delayed' → request delayed (free-tier) data instead of real-time
# interval='P1M' → aggregate data into monthly bars (ISO 8601 duration)
# count=30 → return up to 30 data points
request_definition = endpoint_request.Definition(
url = '/data/historical-pricing/v1/views/interday-summaries/{universe}',
method = endpoint_request.RequestMethod.GET,
path_parameters = {'universe': RIC},
query_parameters = {'qos':'delayed','interval':'P1M','count':30}
)
# Execute the request and store the raw API response
response = request_definition.get_data()
# try printing the raw response to understand its structure and contents
print(response.data.raw)
[{'universe': {'ric': 'LSEG.L'}, 'interval': 'P1M', 'summaryTimestampLabel': 'endPeriod', 'adjustments': ['exchangeCorrection', 'manualCorrection', 'CCH', 'CRE', 'RTS', 'RPO'], 'defaultPricingField': 'OFF_CLOSE', 'headers': [{'name': 'DATE', 'type': 'string'}, {'name': 'ELG_NUMMOV', 'type': 'number', 'decimalChar': '.'}, {'name': 'IND_AUCVOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'INT_AUC', 'type': 'number', 'decimalChar': '.'}, {'name': 'NAVALUE', 'type': 'number', 'decimalChar': '.'}, {'name': 'TRDPRC_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'MKT_OPEN', 'type': 'number', 'decimalChar': '.'}, {'name': 'VWAP', 'type': 'number', 'decimalChar': '.'}, {'name': 'ORDBK_VWAP', 'type': 'number', 'decimalChar': '.'}, {'name': 'EX_VOL_UNS', 'type': 'number', 'decimalChar': '.'}, {'name': 'IND_AUC', 'type': 'number', 'decimalChar': '.'}, {'name': 'ELG_ACVOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'OPEN_PRC', 'type': 'number', 'decimalChar': '.'}, {'name': 'CLS_AUCVOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'MKT_HIGH', 'type': 'number', 'decimalChar': '.'}, {'name': 'LOW_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'ALL_C_MOVE', 'type': 'number', 'decimalChar': '.'}, {'name': 'ACVOL_UNS', 'type': 'number', 'decimalChar': '.'}, {'name': 'OB_NUMMOV', 'type': 'number', 'decimalChar': '.'}, {'name': 'ORDBK_TRD', 'type': 'number', 'decimalChar': '.'}, {'name': 'PERATIO', 'type': 'number', 'decimalChar': '.'}, {'name': 'TRNOVR_UNS', 'type': 'number', 'decimalChar': '.'}, {'name': 'MID_PRICE', 'type': 'number', 'decimalChar': '.'}, {'name': 'TURN_ORDB', 'type': 'number', 'decimalChar': '.'}, {'name': 'NUM_MOVES', 'type': 'number', 'decimalChar': '.'}, {'name': 'HIGH_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'ASK', 'type': 'number', 'decimalChar': '.'}, {'name': 'OPN_AUC', 'type': 'number', 'decimalChar': '.'}, {'name': 'BID', 'type': 'number', 'decimalChar': '.'}, {'name': 'OFFBK_VOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'INT_AUCVOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'OPN_AUCVOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'MKT_LOW', 'type': 'number', 'decimalChar': '.'}, {'name': 'ORDBK_VOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'TRD_STATUS', 'type': 'number', 'decimalChar': '.'}, {'name': 'CLS_AUC', 'type': 'number', 'decimalChar': '.'}, {'name': 'OFF_CLOSE', 'type': 'number', 'decimalChar': '.'}, {'name': 'VWAP_OPEN', 'type': 'number', 'decimalChar': '.'}, {'name': 'VWAP_HIGH', 'type': 'number', 'decimalChar': '.'}, {'name': 'VWAP_LOW', 'type': 'number', 'decimalChar': '.'}, {'name': 'MID_OPEN', 'type': 'number', 'decimalChar': '.'}, {'name': 'MID_HIGH', 'type': 'number', 'decimalChar': '.'}, {'name': 'MID_LOW', 'type': 'number', 'decimalChar': '.'}, {'name': 'OPEN_BID', 'type': 'number', 'decimalChar': '.'}, {'name': 'BID_HIGH_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'BID_LOW_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'OPEN_ASK', 'type': 'number', 'decimalChar': '.'}, {'name': 'ASK_HIGH_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'ASK_LOW_1', 'type': 'number', 'decimalChar': '.'}], 'data': [['2026-04-30', 26203, 1390966, None, None, 8918, 8940, 8927.4, 8920.45, 3457042, 8876, 3081877, 8940, 1390966, 9034, 8724, 10038, 3457042, 25572, 8876, 37.4302, 30715108907.06871, 8882, 26170401196, 30416, 9034, 8888, 8922, 8876, 509953, None, 50842, 8724, 2947089, 1, 8876, 8876, 8843, 8927.4, 8843, 8824, 8921, 8824, 8822, 8920, 8822, 8826, 8922, 8826], ['2026-03-31', 256773, 12106315, 8610, None, 8830, 8776, 8829, 8831.374, 57627751, 8864, 29869148, 8776, 12106315, 8935, 8220, 13050, 56190655, 252603, 8864, 36.0958, 484241517101.7658, 8865, 244855218192, 280022, 8900, 8866, 8706, 8864, 27781835, 218533, 271007, 8218, 28407771, 1, 8864, 8864, 8786, 8829, 8320, 8777, 8865, 8248, 8776, 8864, 8246, 8778, 8866, 8250], ['2026-02-28', 295401, 14516234, 7864, None, 8986, 8102, 8790, 8835.337, 46701026, 8860, 35804129, 8102, 14516234, 8990, 6684, 17093, 46270200, 286078, 8860, 35.6678, 357059210694.77875, 8859, 256834946530, 757969, 8986, 8860, 8568, 8858, 13392071, 118947, 523833, 6684, 33275848, 1, 8860, 8860, 8209, 8790, 7080, 8235, 8859, 7172, 8234, 8858, 7170, 8236, 8860, 7174], ['2026-01-31', 148795, 7782812, 9228, None, 8146, 9008, 8139, 8138.177, 31438299, 8122, 18411899, 9008, 7782812, 9240, 8050, 15109, 30150576, 144853, 8122, 43.4629, 263883035252.04266, 8125, 151572700077, 419528, 9240, 8128, 8100, 8122, 12540477, 145024, 183355, 8042, 17352007, 1, 8122, 8122, 8867.4, 9146, 8139, 8805, 9185, 8117, 8804, 9184, 8116, 8806, 9186, 8118], ['2025-12-31', 120776, 8610938, 8828, None, 8952, 8888, 8954.4, 8954.53, 22818869, 8952, 17509609, 8888, 8610938, 9000, 8286, 1443, 22678062, 118107, 8952, 47.9816, 197113918247.69357, 8950, 144793166067, 136775, 9000, 8952, 8940, 8948, 5799949, 249669, 197690, 8286, 16634095, 1, 8952, 8952, 8821, 8954.4, 8354, 8793, 8963, 8368, 8792, 8962, 8366, 8794, 8964, 8370], ['2025-11-30', 152854, 11939125, 8594, None, 8922, 9514, 8907.3, 8907.54, 36406321, 8908, 23373029, 9514, 11939125, 9818, 8322, 4850, 35623529, 149479, 8908, 47.4462, 319349848622.64905, 8909, 199915565161, 173321, 9818, 8910, 8836, 8908, 13201073, 100342, 289544, 8322, 22419048, 1, 8908, 8908, 9547, 9697, 8393, 9511, 9733, 8333, 9510, 9732, 8330, 9512, 9734, 8336], ['2025-10-31', 215127, 10859029, 8602, None, 9482, 8750, 9480, 9480.865, 38896852, 9486, 26568417, 8750, 10859029, 10002.4, 8474, 6643, 38781151, 209799, 9486, 50.6907, 347599025450.18085, 9487, 224482258498, 246968, 10000, 9488, 9456, 9486, 13781202, 41226, 378253, 8472, 24942851, 1, 9486, 9486, 8708, 9826, 8574, 8635, 9841, 8536, 8634, 9840, 8534, 8636, 9842, 8538], ['2025-09-30', 201440, 11360101, 8292, None, 8508, 9170, 8500, 8505.691, 37931865, 8516, 25297886, 9170, 11360101, 9360, 8096, 13122, 37873691, 195068, 8516, 44.9727, 326989146203.2995, 8518, 211765009189, 233475, 9360, 8520, 8480, 8516, 13463853, 360557, 266432, 8094, 24397763, 1, 8516, 8516, 9199.1, 9303, 8168.1, 9219, 9314, 8139, 9218, 9306, 8138, 9220, 9322, 8140], ['2025-08-31', 172710, 12081240, 9334, None, 9218, 9356, 9193, 9189.216, 31234271, 9168, 25528534, 9356, 12081240, 10165, 9102, 8795, 31228311, 167165, 9168, 49.4485, 296770246790.81696, 9170, 227661778592, 195987, 10165, 9172, 9220, 9168, 7346876, 97546, 307557, 9102, 23897655, 1, 9168, 9168, 9312, 10031, 9193, 9313, 10095, 9152, 9312, 10090, 9146, 9314, 10100, 9158], ['2025-07-31', 100975, 8789196, 9458, None, 9270, 10680, 9433, 9424.612, 23214401, 9260, 17370774, 10680, 8789196, 10990, 9050, 35466, 23175490, 95943, 9260, 78.0789, 243048548215.16406, 9259, 169672346852, 128938, 10990, 9260, 10270, 9258, 7017549, 34116, 269171, 9050, 16495148, 1, 9260, 9260, 10655, 10898, 9433, 10652.5, 10882.5, 9259, 10650, 10880, 9258, 10655, 10885, 9260], ['2025-06-30', 66946, 8072395, 10900, None, 10655, 11205, 10641.9, 10639.255, 29048607, 10635, 14653342, 11205, 8072395, 11435, 10510, 3819, 28948109, 64222, 10635, 83.0874, 316586639910.8722, 10632.5, 153272082137.5, 84154, 11430, 10635, 10700, 10630, 14943782, 169533, 253395, 10510, 14003327, 1, 10635, 10635, 11252, 11382.8, 10641.9, 11307.5, 11387.5, 10632.5, 11305, 11385, 10630, 11310, 11390, 10635], ['2025-05-31', 83597, 5985584, 11565, None, 11420, 11600, 11340, 11288.959, 28841015, 11275, 13110105, 11600, 5985584, 11810, 11080, 4427, 28840414, 80903, 11275, 88.2513, 329744164905.58344, 11272.5, 141905777917.5, 99943, 11805, 11275, 11420, 11270, 16445222, 88640, 259327, 11080, 12422097, 1, 11275, 11275, 11525, 11627, 11249.8, 11362.5, 11627.5, 11267.5, 11360, 11625, 11265, 11365, 11630, 11270], ['2025-04-30', 119967, 7623889, 11230, None, 11510, 11480, 11536, 11598.845, 22179533, 11625, 16451299, 11480, 7623889, 11895, 10220, 4608, 22179070, 116404, 11625, 88.5619, 248890479913.13806, 11615, 179487833460, 134354, 11895, 11625, 11475, 11605, 6156952, 50715, 363015, 10220, 16013868, 1, 11625, 11625, 11561.2, 11775, 10470, 11580, 11812.5, 10330, 11570, 11810, 10325, 11590, 11815, 10335], ['2025-03-31', 109105, 9576963, 11335, None, 11462.25, 11890, 11471, 11469.413, 31324511, 11460, 18218222, 11890, 9576963, 11915, 10620, 5048, 30042752, 105865, 11460, 89.5325, 334975470825.8962, 11457.5, 196378705717.5, 125913, 11915, 11460, 11470, 11455, 11111608, 189277, 301329, 10620, 17641105, 1, 11460, 11460, 11836.69, 11836.69, 10738, 11747.5, 11747.5, 10705, 11745, 11745, 10695, 11750, 11750, 10715], ['2025-02-28', 86803, 8523323, 11650, None, 11735, 11845, 11813.78, 11821.932, 23829215, 11845, 15146149, 11845, 8523323, 12185, 11070, 6736, 22913000, 73491, 11845, 91.435, 267106395680.7584, 11840, 171954916770, 94071, 12185, 11845, 11795, 11835, 8126073, 76883, 251392, 11070, 14766772, 1, 11845, 11845, 11883.8932, 12049.739, 11125, 11902.5, 12092.5, 11105, 11900, 12090, 11100, 11905, 12095, 11110], ['2025-01-31', 76357, 5836524, 11880, None, 12010, 11285, 12025.532, 12041.029, 23662772, 12035, 12280571, 11300, 5836524, 12110, 11245, 3222, 23474034, None, None, 95.3833, 275349645948.58966, 12040, 138304014660, 82219, 12110, 12045, 12010, 12035, 11685281, 89347, 167689, 11205, 11792953, 1, 12035, 12035, 11427.4584, 12025.532, 11360.348, 11465, 12042.5, 11317.5, 11460, 12040, 11315, 11470, 12045, 11320], ['2024-12-31', 55626, 5314170, 11290, None, 11285, 11285, 11290.8578, 11291.361, 16456639, 11285, 12960619, 11285, 5314170, 11667.631, 11125, 1026, 16067452, None, None, 89.4837, 182988033642.41006, 11305, 106294452622.5, 61120, 11665, 11325, 11315, 11285, 6724474, 261669, 242679, 11125, 9355335, 1, 11285, 11285, 11283.0716, 11550.441, 11202.196, 11287.5, 11542.5, 11202.5, 11285, 11540, 11200, 11290, 11545, 11205], ['2024-11-30', 61695, 6895683, 10615, None, 11255, 10530, 11263.0768, 11265.087, 24730174, 11270, 22072456, 10530, 6895683, 11295, 10480, 2751, 24517739, None, None, 88.5334, 267065689526.2534, 11272.5, 130875458277.5, 69435, 11295, 11275, 11210, 11270, 12502087, 94037, 211701, 10480, 12000897, 1, 11270, 11270, 10706.7968, 11263.0768, 10593.668, 10747.5, 11272.5, 10597.5, 10745, 11270, 10595, 10750, 11275, 10600], ['2024-10-31', 64588, 7306228, 10440, None, 10503.1, 10190, 10486.766, 10495.006, 21480391, 10515, 18691537, 10190, 7306228, 10830, 10065, 4362, 20661347, None, None, 83.5049, 214692474304.47925, 10512.5, 127014034535, 73430, 10830, 10515, 10480, 10510, 8895937, 61268, 235024, 10065, 12210577, 1, 10515, 10515, 10247.627, 10678.221, 10120.0038, 10317.5, 10712.5, 10097.5, 10315, 10710, 10095, 10320, 10715, 10100], ['2024-09-30', 56535, 8101831, 10290, None, 10217.384, 10225, 10231.427, 10224.005, 21356826, 10220, 19672439, 10225, 8101831, 10595, 10040, 3303, 21356800, None, None, 81.2876, 220144880639.82138, 10222.5, 126272526165, 64512, 10595, 10225, 10235, 10220, 9157716, 221935, 248663, 10040, 12247323, 1, 10220, 10220, 10161.5685, 10516.182, 10090.8758, 10152.5, 10497.5, 10097.5, 10150, 10495, 10095, 10155, 10500, 10100], ['2024-08-31', 87686, 9612593, 9940, None, 10249.93, 9626, 10249.963, 10250, 26607460, 10250, None, 9626, 9612593, 10290, 9482, 3441, 26319514, None, None, 81.0105, 261240109582.86963, 10245, 118708041222, 98543, 10285, 10250, 10245, 10240, 11849307, 77874, 257341, 9448, 14470208, 1, 10250, 10250, 9849.159, 10249.963, 9550.376, 9853, 10245, 9515, 9852, 10240, 9514, 9854, 10250, 9516], ['2024-07-31', 81289, 8662211, 9420, None, 9462, 9452, 9500.297, 9472.645, 21785892, 9470, None, 9452, 8662211, 9580, 9192, 5463, 21785866, None, None, 68.2231, 204417107896.47522, 9471, None, 91809, 9580, 9472, 9516, 9470, 9305625, 60664, 175851, 8982, 12480241, 1, 9470, 9470, 9330.3209, 9500.297, 9225.9118, 9305, 9481, 9215, 9304, 9480, 9214, 9306, 9482, 9216], ['2024-06-30', 81722, 10436253, 9560, None, 9400, 9240, 9415.188, 9411.448, 30167080, 9400, None, 9240, 10436253, 9712, 9132, 6202, 30167047, None, None, 68.3816, 284865630011.82227, 9398, None, 89891, 9690, 9400, 9520, 9396, 13202953, 256038, 178038, 9132, 14902135, 1, 9400, 9400, 9229.046, 9645.465, 9229.046, 9149, 9650, 9149, 9148, 9646, 9148, 9150, 9654, 9150], ['2024-05-31', 96022, 12842775, 9290, None, 9122, 8818, 9156.876, 9162.441, 32799440, 9162, None, 8818, 12842775, 9448.99, 8748, 5700, 32058345, None, None, 65.5426, 294345281158.1443, 9161, None, 104746, 9428, 9162, 9122, 9160, 12306900, 89991, 512468, 8748, 18914296, 1, 9162, 9162, 8815.6978, 9337.135, 8815.6978, 8841, 9344, 8841, 8840, 9342, 8840, 8842, 9346, 8842], ['2024-04-30', 108397, 7937304, 8960, None, 8720, 9430, 8775.797, 8832.204, 32124579, 8846, None, 9486, 7937304, 9548, 8650, 4947, 32124535, None, None, 63.3377, 293268101857.435, 8845, None, 117101, 9530, 8846, 8720, 8844, 17519090, 28266, 211938, 8626, 13240326, 1, 8846, 8846, 9439.326, 9439.326, 8775.797, 9423, 9423, 8789, 9422, 9422, 8788, 9424, 9424, 8790], ['2024-03-31', 109147, 10173206, 9388, None, 9497.715, 8876, 9501.914, 9501.613, 54257151, 9490, None, 8876, 10173206, 9710, 8868, 6522, 53885686, None, None, 69.1166, 504439837986.94, 9493, None, 118585, 9696, 9496, 9588, 9490, 34726548, 296749, 530270, 8868, 16574476, 1, 9490, 9490, 8967.296, 9648.442, 8967.296, 9014, 9670, 9014, 9012, 9666, 9012, 9016, 9674, 9016], ['2024-02-29', 70219, 6919877, 8848, None, 8726, 8918, 8843.306, 8856.281, 36912281, 8876, None, 8918, 6919877, 8996, 8660, 8914, 36912214, None, None, 73.8176, 327745333947.495, 8877, None, 78498, 8996, 8878, 8788, 8876, 26508134, 68769, 154125, 8660, 10453760, 1, 8876, 8876, 8921.971, 8950.168, 8782.9, 8913, 8931, 8781, 8912, 8928, 8780, 8914, 8934, 8782], ['2024-01-31', 71586, 6401171, 9200, None, 8999.485, 9298, 8963.451, 8948.49, 32484309, 8942, None, 9298, 6401171, 9348, 8848, 3660, 32211433, None, None, 74.5631, 292460722758.28973, 8943, None, 80342, 9348, 8944, 9004, 8942, 21977806, 81754, 121103, 8808, 9618339, 1, 8942, 8942, 9153.508, 9205.085, 8958.8911, 9139, 9223, 8913, 9138, 9222, 8912, 9140, 9224, 8914], ['2023-12-31', 68486, 6096869, 9268, None, 9275.481, 8914, 9277.4017, 9277.675, 19086696, 9274, None, 8914, 6096869, 9438, 8880, 1310, 18223981, None, None, 76.9817, 166835366133.72, 9277, None, 76320, 9438, 9280, 9270, 9274, 8754700, 112632, 163102, 8880, 9265711, 1, 9274, 9274, 8985.47, 9336.756, 8934.207, 8991, 9321, 8924, 8990, 9320, 8922, 8992, 9322, 8926], ['2023-11-30', 82395, 8320579, 8438, None, 8882, 8296, 8905.002, 8905.046, 36637712, 8906, None, 8296, 8320579, 8970, 8216, 3485, 26474063, None, None, 73.801, 226267291476.2033, 8907, None, 87231, 8970, 8908, 8898, 8906, 13801807, 59214, 136871, 8174, 12666370, 1, 8906, 8906, 8327.8908, 8913.5164, 8309.4009, 8363, 8913, 8293, 8362, 8912, 8292, 8364, 8914, 8294]], 'meta': {'blendingEntry': {'headers': [{'name': 'DATE', 'type': 'string'}, {'name': 'ELG_NUMMOV', 'type': 'number', 'decimalChar': '.'}, {'name': 'IND_AUCVOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'INT_AUC', 'type': 'number', 'decimalChar': '.'}, {'name': 'NAVALUE', 'type': 'number', 'decimalChar': '.'}, {'name': 'TRDPRC_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'MKT_OPEN', 'type': 'number', 'decimalChar': '.'}, {'name': 'VWAP', 'type': 'number', 'decimalChar': '.'}, {'name': 'ORDBK_VWAP', 'type': 'number', 'decimalChar': '.'}, {'name': 'EX_VOL_UNS', 'type': 'number', 'decimalChar': '.'}, {'name': 'IND_AUC', 'type': 'number', 'decimalChar': '.'}, {'name': 'ELG_ACVOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'OPEN_PRC', 'type': 'number', 'decimalChar': '.'}, {'name': 'CLS_AUCVOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'MKT_HIGH', 'type': 'number', 'decimalChar': '.'}, {'name': 'LOW_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'ALL_C_MOVE', 'type': 'number', 'decimalChar': '.'}, {'name': 'ACVOL_UNS', 'type': 'number', 'decimalChar': '.'}, {'name': 'OB_NUMMOV', 'type': 'number', 'decimalChar': '.'}, {'name': 'ORDBK_TRD', 'type': 'number', 'decimalChar': '.'}, {'name': 'PERATIO', 'type': 'number', 'decimalChar': '.'}, {'name': 'TRNOVR_UNS', 'type': 'number', 'decimalChar': '.'}, {'name': 'MID_PRICE', 'type': 'number', 'decimalChar': '.'}, {'name': 'TURN_ORDB', 'type': 'number', 'decimalChar': '.'}, {'name': 'NUM_MOVES', 'type': 'number', 'decimalChar': '.'}, {'name': 'HIGH_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'ASK', 'type': 'number', 'decimalChar': '.'}, {'name': 'OPN_AUC', 'type': 'number', 'decimalChar': '.'}, {'name': 'BID', 'type': 'number', 'decimalChar': '.'}, {'name': 'OFFBK_VOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'INT_AUCVOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'OPN_AUCVOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'MKT_LOW', 'type': 'number', 'decimalChar': '.'}, {'name': 'ORDBK_VOL', 'type': 'number', 'decimalChar': '.'}, {'name': 'TRD_STATUS', 'type': 'number', 'decimalChar': '.'}, {'name': 'CLS_AUC', 'type': 'number', 'decimalChar': '.'}, {'name': 'OFF_CLOSE', 'type': 'number', 'decimalChar': '.'}, {'name': 'VWAP_OPEN', 'type': 'number', 'decimalChar': '.'}, {'name': 'VWAP_HIGH', 'type': 'number', 'decimalChar': '.'}, {'name': 'VWAP_LOW', 'type': 'number', 'decimalChar': '.'}, {'name': 'MID_OPEN', 'type': 'number', 'decimalChar': '.'}, {'name': 'MID_HIGH', 'type': 'number', 'decimalChar': '.'}, {'name': 'MID_LOW', 'type': 'number', 'decimalChar': '.'}, {'name': 'OPEN_BID', 'type': 'number', 'decimalChar': '.'}, {'name': 'BID_HIGH_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'BID_LOW_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'OPEN_ASK', 'type': 'number', 'decimalChar': '.'}, {'name': 'ASK_HIGH_1', 'type': 'number', 'decimalChar': '.'}, {'name': 'ASK_LOW_1', 'type': 'number', 'decimalChar': '.'}], 'data': [['2026-04-07', 8017, 371273, None, None, 8918, 8922, 8927.4, 8920.45, 957635, 8876, 807521, 8922, 371273, 9034, 8876, 10038, 957635, 7764, 8876, 37.4302, 8549240437.08896, 8882, 6966987236, 10038, 9034, 8888, 8922, 8876, 176622, None, 12755, 8876, 781013, 1, 8876, 8876, 8927.4, 8927.4, 8927.4, 8882, 8882, 8882, 8876, 8876, 8876, 8888, 8888, 8888]]}}}]
The data return from the library Endpoint is in a JSON message format. We can use a simple Python code to convert it to de facto Pandas Dataframe object as follows.
# Extract the data part of the JSON, along with column headings to populate a DataFrame
df = pd.DataFrame(response.data.raw[0]['data'], columns=[h['name']
for h in response.data.raw[0]['headers']])
df.head(15)
| DATE | ELG_NUMMOV | IND_AUCVOL | INT_AUC | NAVALUE | TRDPRC_1 | MKT_OPEN | VWAP | ORDBK_VWAP | EX_VOL_UNS | ... | VWAP_LOW | MID_OPEN | MID_HIGH | MID_LOW | OPEN_BID | BID_HIGH_1 | BID_LOW_1 | OPEN_ASK | ASK_HIGH_1 | ASK_LOW_1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2026-04-30 | 26203 | 1390966 | NaN | None | 8918.00 | 8940 | 8927.40 | 8920.450 | 3457042 | ... | 8843.0 | 8824.0 | 8921.0 | 8824.0 | 8822 | 8920 | 8822 | 8826 | 8922 | 8826 |
| 1 | 2026-03-31 | 256773 | 12106315 | 8610.0 | None | 8830.00 | 8776 | 8829.00 | 8831.374 | 57627751 | ... | 8320.0 | 8777.0 | 8865.0 | 8248.0 | 8776 | 8864 | 8246 | 8778 | 8866 | 8250 |
| 2 | 2026-02-28 | 295401 | 14516234 | 7864.0 | None | 8986.00 | 8102 | 8790.00 | 8835.337 | 46701026 | ... | 7080.0 | 8235.0 | 8859.0 | 7172.0 | 8234 | 8858 | 7170 | 8236 | 8860 | 7174 |
| 3 | 2026-01-31 | 148795 | 7782812 | 9228.0 | None | 8146.00 | 9008 | 8139.00 | 8138.177 | 31438299 | ... | 8139.0 | 8805.0 | 9185.0 | 8117.0 | 8804 | 9184 | 8116 | 8806 | 9186 | 8118 |
| 4 | 2025-12-31 | 120776 | 8610938 | 8828.0 | None | 8952.00 | 8888 | 8954.40 | 8954.530 | 22818869 | ... | 8354.0 | 8793.0 | 8963.0 | 8368.0 | 8792 | 8962 | 8366 | 8794 | 8964 | 8370 |
| 5 | 2025-11-30 | 152854 | 11939125 | 8594.0 | None | 8922.00 | 9514 | 8907.30 | 8907.540 | 36406321 | ... | 8393.0 | 9511.0 | 9733.0 | 8333.0 | 9510 | 9732 | 8330 | 9512 | 9734 | 8336 |
| 6 | 2025-10-31 | 215127 | 10859029 | 8602.0 | None | 9482.00 | 8750 | 9480.00 | 9480.865 | 38896852 | ... | 8574.0 | 8635.0 | 9841.0 | 8536.0 | 8634 | 9840 | 8534 | 8636 | 9842 | 8538 |
| 7 | 2025-09-30 | 201440 | 11360101 | 8292.0 | None | 8508.00 | 9170 | 8500.00 | 8505.691 | 37931865 | ... | 8168.1 | 9219.0 | 9314.0 | 8139.0 | 9218 | 9306 | 8138 | 9220 | 9322 | 8140 |
| 8 | 2025-08-31 | 172710 | 12081240 | 9334.0 | None | 9218.00 | 9356 | 9193.00 | 9189.216 | 31234271 | ... | 9193.0 | 9313.0 | 10095.0 | 9152.0 | 9312 | 10090 | 9146 | 9314 | 10100 | 9158 |
| 9 | 2025-07-31 | 100975 | 8789196 | 9458.0 | None | 9270.00 | 10680 | 9433.00 | 9424.612 | 23214401 | ... | 9433.0 | 10652.5 | 10882.5 | 9259.0 | 10650 | 10880 | 9258 | 10655 | 10885 | 9260 |
| 10 | 2025-06-30 | 66946 | 8072395 | 10900.0 | None | 10655.00 | 11205 | 10641.90 | 10639.255 | 29048607 | ... | 10641.9 | 11307.5 | 11387.5 | 10632.5 | 11305 | 11385 | 10630 | 11310 | 11390 | 10635 |
| 11 | 2025-05-31 | 83597 | 5985584 | 11565.0 | None | 11420.00 | 11600 | 11340.00 | 11288.959 | 28841015 | ... | 11249.8 | 11362.5 | 11627.5 | 11267.5 | 11360 | 11625 | 11265 | 11365 | 11630 | 11270 |
| 12 | 2025-04-30 | 119967 | 7623889 | 11230.0 | None | 11510.00 | 11480 | 11536.00 | 11598.845 | 22179533 | ... | 10470.0 | 11580.0 | 11812.5 | 10330.0 | 11570 | 11810 | 10325 | 11590 | 11815 | 10335 |
| 13 | 2025-03-31 | 109105 | 9576963 | 11335.0 | None | 11462.25 | 11890 | 11471.00 | 11469.413 | 31324511 | ... | 10738.0 | 11747.5 | 11747.5 | 10705.0 | 11745 | 11745 | 10695 | 11750 | 11750 | 10715 |
| 14 | 2025-02-28 | 86803 | 8523323 | 11650.0 | None | 11735.00 | 11845 | 11813.78 | 11821.932 | 23829215 | ... | 11125.0 | 11902.5 | 12092.5 | 11105.0 | 11900 | 12090 | 11100 | 11905 | 12095 | 11110 |
15 rows × 49 columns
You can use any Python graph libraries likes Matplotlib, Plotly, seaborn, bokeh, etc. to plot this historical data dataframe object into graphs for visualization.
I am demonstrating with the Matplotlib library.
import matplotlib.pyplot as plt
# Define the fields we want to plot from the DataFrame
plot_fields = ['MKT_OPEN', 'TRDPRC_1', 'BID', 'ASK', 'OPEN_PRC']
# Filter to only include fields that actually exist in the DataFrame,
# since the API may not always return every requested field
available_fields = [f for f in plot_fields if f in df.columns]
# Use the DATE column as the x-axis if it exists, otherwise fall back to the row index
x = df['DATE'] if 'DATE' in df.columns else df.index
# Create a figure and axes with a wide layout suitable for time-series data
fig, ax = plt.subplots(figsize=(12, 6))
# Plot each available field as a separate line with circle markers
for field in available_fields:
# Convert column values to numeric, coercing any non-numeric entries to NaN
ax.plot(x, pd.to_numeric(df[field], errors='coerce'), marker='o', label=field)
# Set chart title, axis labels, legend, and grid for readability
ax.set_title(f'Historical Pricing — /{RIC} - Interday 1 Month')
ax.set_xlabel('Date')
ax.set_ylabel('Value')
ax.legend()
ax.grid(True)
# Rotate x-axis date labels to prevent overlap
plt.xticks(rotation=45)
# Adjust layout so labels and title are not clipped
plt.tight_layout()
plt.show()

You can retrieve streaming delayed data in the same way as normal real-time data using the Content Layer's Pricing module.
To learn more about the Pricing module, see the following resources:
- Data Library Content Layer Pricing Streaming tutorial page.
- Data Library for Python Reference Guide document.
- Content Layer Pricing Examples (GitHub)
- Content Layer Pricing Tutorials (GitHub)
First, define the callback methods to receive streaming data.
from lseg.data.content import pricing
from IPython.display import display, clear_output
from pandas import DataFrame
df = DataFrame()
def create_dataframe(streaming_prices):
global df
snapshot = streaming_prices.get_snapshot()
field_names = snapshot.columns[1:]
instrument_names = snapshot['Instrument'].values
df = DataFrame(index=instrument_names, columns=field_names)
for price in streaming_prices:
for field_name, field_value in price.get_fields().items():
df.at[price.name, field_name] = field_value
display(df)
def update_dataframe(fields, instrument_name, streaming_prices):
global df
clear_output(wait=True)
for field_name, field_value in fields.items():
df.at[instrument_name, field_name] = field_value
display(df)
Next, get the data stream and open it. You see that the data on the DataFrame is streaming. Please note that the delayed data stream a bit slower than a real-time data.
stream = pricing.Definition(
universe=['/EUR=', '/JPY=', '/HKD='],
fields=['BID', 'ASK']
).get_stream()
stream.on_update(update_dataframe)
stream.on_complete(create_dataframe)
stream.open()
| BID | ASK | |
|---|---|---|
| /EUR= | 1.1685 | 1.1689 |
| /JPY= | 158.31 | 158.35 |
| /HKD= | 7.8322 | 7.8323 |
To stop streaming, close the stream.
stream.close()
Closing runs
The closing run is a housekeeping exercise performed by LSEG that prepares the display template for the next trading session.
To see when the closing runs are performed, see:
CLOSE/RUN1.
You can click on the Next Page or Previous Page menu to navigate through the pages series.


Otherwise, you can get each page RIC row data programmatically.
def get_page_data(universe):
# Build field lists for both possible page layouts:
# ROW64_* — 64-character wide rows (fields 1–14)
# ROW80_* — 80-character wide rows (fields 1–25)
row64_fields = [f"ROW64_{i}" for i in range(1, 15)]
row80_fields = [f"ROW80_{i}" for i in range(1, 26)]
# Fetch all fields in a single API call.
# A page RIC uses exactly one layout, so the other layout's columns return as all-NaN.
df_result = ld.get_data(universe=universe, fields=row64_fields + row80_fields)
# Drop columns that are entirely NaN to keep only the active layout's data.
return df_result.dropna(axis='columns', how='all')
close_run1 = get_page_data('CLOSE/RUN1')
# Print each returned row field and its value
print(*close_run1.iloc[0, 1:26], sep="\n")
CLOSING RUN - REFINITIV SPEED GUIDE CLOSE/RUN1
The following information details times when the closing run is performed on
Exchange feeds. The closing run is a housekeeping exercise performed by
Refinitiv that prepares the display template for the next trading session, for
example last trade may be moved to historical close, or bid and ask prices may
be cleared. Closing run functionality is defined by Refinitiv on an exchange by
exchange basis.
European, Middle Eastern & African Exchanges....................\<CLOSE\/RUN1>-8
North American & Latin American Exchanges.......................\<CLOSE\/RUN8>-9
Asian Exchanges.................................................\<CLOSE\/RUN10>-12
Closing Run (GMT)
=COUNTRY========EXCHANGE==========================Winter===Summer===RUN DAYS===
Austria Vienna SE 03:00 02:00 M/T/W/T/F
OETOB Austrian Indices 23:00 23:00 M/T/W/T/F
Vienna Bond Indices 15:00 14:00 M/T/W/T/F
Bahrain Bahrain Bourse 00:50 00:50 S/M/T/W/T
Bahrain Bahrain Financial Exchange 17:30 17:30 M/T/W/T/F
Belgium Euronext Brussels 01:30 00:30 M/T/W/T/F
NASDAQE 03:30 02:30 M/T/W/T/F
Botswana Botswana SE 06:00 06:00 M/T/W/T/F
Bulgaria Sofia SE 03:00 02:00 M/T/W/T/F
Croatia Zagreb SE 03.00 02:00 M/T/W/T/F
Cyprus Cyprus SE 05:00 05:00 M/T/W/T/F
================================================================================
Equity Guide \<EQUITY> Futures Guide \<FUTURES> Next Page \<CLOSE/RUN2>
close_run2 = get_page_data('CLOSE/RUN2')
# Print each returned row field and its value
print(*close_run2.iloc[0, 1:26], sep="\n")
CLOSING RUN - REFINITIV SPEED GUIDE CLOSE/RUN2
Closing Run (GMT)
=COUNTRY========EXCHANGE========================Winter===Summer======RUN DAYS==
Czech Power Exchange Central Europe 05:00 04:00 M/T/W/T/F
Prague SE (AT Markets) 03:00 02:00 M/T/W/T/F
Denmark Copenhagen 04:30 03:30 M/T/W/T/F
Egypt The Egyptian Exchange 04:00 04:00 S/M/T/W/T
Estonia OMX Tallin SE 04:30 03:30 M/T/W/T/F
Europe Nordic Viking Indices 04:30 03:30 M/T/W/T/F
Nordic List Indices 04:30 03:30 M/T/W/T/F
NYSE ARCA Europe 02:25 01:25 M/T/W/T/F
Trade Data Services 03:00 02:00 M/T/W/T/F
Finland Finnish Options 04:50 03:50 M/T/W/T/F
Helsinki Equities 04:30 03:30 M/T/W/T/F
Helsinki Funds 14:00 13:00 M/T/W/T/F
Helsinki Non-Equities 04:40 03:40 M/T/W/T/F
France Euronext Paris 01:30 00:30 M/T/W/T/F
Germany Berlin SE 03:20 02:20 M/T/W/T/F
Dusseldorf SE 03:25 02:25 M/T/W/T/F
Eurex 23:30 22:30 M/T/W/T/F
Eurex Bonds 23:30 22:30 M/T/W/T/F
Frankfurt SE 02:55 01:55 M/T/W/T/F
Hamburg SE 03:20 02:20 M/T/W/T/F
================================================================================
Main Guide \<REFINITIV> Previous Page \<CLOSE/RUN1> Next Page \<CLOSE/RUN3>
Delayed chains
Chains work the same way as full quotes. Put a forward slash / in front of the code:
/.GDAXI F3– German DAX index (delayed).- Or:
0#/.GDAXI.
Note:
- If you use the
0#format, the forward slash/goes after the0#. - Delayed chains are available for most futures and equity indices, but not for all.
from lseg.data.discovery import Chain
Chain_RIC = '0#/.GDAXI'
# Get Chain constituents RICs
spx = Chain(Chain_RIC)
print(f'Listing first 20 constituents of delayedGerman DAX index chain ({Chain_RIC}):')
for constituent in spx.constituents[:20]:
print(constituent)
Listing first 20 constituents of delayedGerman DAX index chain (0#/.GDAXI): /ADSGn.DE /AIRG.DE /ALVG.DE /BASFn.DE /BMWG.DE /BAYGn.DE /BEIG.DE /BNRGn.DE /CBKG.DE /CONG.DE /DTGGe.DE /DBKGn.DE /DHLn.DE /DB1Gn.DE /DTEGn.DE /EONGn.DE /FMEG.DE /FREG.DE /G1AG.DE /HNRGn.DE
print('Getting data for the first 10 constituents of delayedGerman DAX index data:')
ld.get_data(spx.constituents[:10], ['BID', 'ASK', 'TR.Revenue','TR.Volume','TR.Commonname'])
Getting data for the first 10 constituents of delayedGerman DAX index data:
| Instrument | Revenue | Volume | Company Common Name | BID | ASK | |
|---|---|---|---|---|---|---|
| 0 | /ADSGn.DE | 24811000000 | 755852 | Adidas AG | <NA> | <NA> |
| 1 | /AIRG.DE | 73420000000 | 279264 | Airbus SE | <NA> | <NA> |
| 2 | /ALVG.DE | <NA> | 645247 | Allianz SE | <NA> | <NA> |
| 3 | /BASFn.DE | 59657000000 | 3842159 | BASF SE | <NA> | <NA> |
| 4 | /BMWG.DE | 133453000000 | 999957 | Bayerische Motoren Werke AG | <NA> | <NA> |
| 5 | /BAYGn.DE | 45575000000 | 2360251 | Bayer AG | <NA> | <NA> |
| 6 | /BEIG.DE | 9852000000 | 404886 | Beiersdorf AG | <NA> | <NA> |
| 7 | /BNRGn.DE | 15171500000 | 333873 | Brenntag SE | <NA> | <NA> |
| 8 | /CBKG.DE | <NA> | 2448008 | Commerzbank AG | <NA> | <NA> |
| 9 | /CONG.DE | 19676000000 | 462330 | Continental AG | <NA> | <NA> |
Delayed foreign exchange quotes
There is also delayed data for the foreign exchange markets.
In FX there are two types of delay:
- Two minutes – called a snapshot, expressed by the letter
S. - Ten minutes – expressed by the letter
X.
Examples:
EUR=X– 10‑minute delay.EUR=S– 2‑minute snapshot.

You can find a complete list of delayed FX quotes in the cross-market package described below.
You can use the Library get_data method to get the real-time and fundamental data of these delayed foreign exchange quote RICs.
data_eur_delayed = ld.get_data(['EUR=X','EUR=S'], ['BID', 'ASK','NETCHNG_1','OPEN_PRC','HST_CLOSE'])
data_eur_delayed
| Instrument | BID | ASK | NETCHNG_1 | OPEN_PRC | HST_CLOSE | |
|---|---|---|---|---|---|---|
| 0 | EUR=X | 1.1689 | 1.1693 | 0.0097 | 1.1592 | 1.1592 |
| 1 | EUR=S | 1.1686 | 1.169 | 0.0092 | 1.1592 | 1.1594 |
Unlike the delayed RICs with / prefix, these delayed foreign exchange quote RICs (RICs with CURRENCY=X and CURRENCY=S format) can be used with Data Library get_history method.
historica_eur_x = ld.get_history('EUR=X',count=15)
historica_eur_x
| EUR=X | BID | ASK | BID_HIGH_1 | BID_LOW_1 | OPEN_BID | MID_PRICE |
|---|---|---|---|---|---|---|
| Date | ||||||
| 2026-03-18 | 1.145 | 1.1454 | 1.1555 | 1.1448 | 1.1539 | 1.1452 |
| 2026-03-19 | 1.1588 | 1.159 | 1.1616 | 1.1442 | 1.1451 | 1.1589 |
| 2026-03-20 | 1.157 | 1.1572 | 1.1595 | 1.1524 | 1.1588 | 1.1571 |
| 2026-03-23 | 1.1612 | 1.1614 | 1.1639 | 1.1483 | 1.154 | 1.1613 |
| 2026-03-24 | 1.1607 | 1.1608 | 1.1628 | 1.1555 | 1.1613 | 1.16075 |
| 2026-03-25 | 1.1558 | 1.1559 | 1.163 | 1.1554 | 1.1606 | 1.15585 |
| 2026-03-26 | 1.1526 | 1.153 | 1.1572 | 1.1519 | 1.1558 | 1.1528 |
| 2026-03-27 | 1.1508 | 1.1512 | 1.1547 | 1.1501 | 1.1527 | 1.151 |
| 2026-03-30 | 1.1465 | 1.1467 | 1.1521 | 1.1442 | 1.1511 | 1.1466 |
| 2026-03-31 | 1.1552 | 1.1555 | 1.1563 | 1.1446 | 1.1468 | 1.15535 |
| 2026-04-01 | 1.1588 | 1.1589 | 1.1627 | 1.1548 | 1.1552 | 1.15885 |
| 2026-04-02 | 1.1537 | 1.154 | 1.1605 | 1.1508 | 1.1588 | 1.15385 |
| 2026-04-03 | 1.1515 | 1.1519 | 1.1549 | 1.1512 | 1.1537 | 1.1517 |
| 2026-04-06 | 1.1541 | 1.1542 | 1.1571 | 1.1504 | 1.1516 | 1.15415 |
| 2026-04-07 | 1.1594 | 1.1596 | 1.1605 | 1.1522 | 1.154 | 1.1595 |
The Library get_history method returns data as a Pandas Dataframe object, so you can use it to plot a graph for visualization too.
I am demonstrating with the Matplotlib library.
# Select only numeric columns from the DataFrame for plotting
numeric_cols = historica_eur_x.select_dtypes(include='number').columns.tolist()
# Create a figure and axes with a wide layout suitable for time-series data
fig, ax = plt.subplots(figsize=(12, 6))
# Plot each numeric column as a separate line with circle markers
for col in numeric_cols:
ax.plot(historica_eur_x.index, historica_eur_x[col], marker='o', label=col)
# Set chart title, axis labels, legend, and grid for readability
ax.set_title('EUR=X (10 minutes delayed) Historical Pricing (Last 15 Sessions)')
ax.set_xlabel('Date')
ax.set_ylabel('Value')
ax.legend()
ax.grid(True)
# Rotate x-axis date labels to prevent overlap
plt.xticks(rotation=45)
# Adjust layout so labels and title are not clipped
plt.tight_layout()
plt.show()

Cross-market package
The cross-market package from LSEG gives you a limited amount of real-time and delayed data free of charge.
- If you have only subscribed to one asset-class service, this gives you useful indicators of the state of other markets.
For more details, see the CROSS/MKT1 page and its series by navigating through the page menu.


df = get_page_data('CROSS/MKT2')
# Print each returned row field and its value
print(*df.iloc[0, 1:26], sep="\n")
CROSS MARKET PACKAGE - LSEG SPEED GUIDE CROSS/MKT2
Welcome to the Cross Market Package Guide. The following retrieval codes are
available as part of all international and certain domestic products.
=SPOT RATES BY COUNTRY================= =SPOT RATES BY COUNTRY Cont============
Composite Tile (10 min snaps)....\<FX=X> Ecuadorian Sucre................\<ECS=X>
Algerian Dinar.................. \<DZD=X> Egyptian Pound..................\<EGP=X>
Argentinian Peso................\<ARS=X> Euro............................\<EUR=X>
Australian Dollar...............\<AUD=X> Hong Kong Dollar................\<HKD=X>
Bangladesh Taka.................\<BDT=X> Hungarian Forint................\<HUF=X>
Botswana Pula...................\<BWP=X> Icelandic Krona.................\<ISK=X>
Brazilian Real..................\<BRL=X> Indian Rupee....................\<INR=X>
British Pound...................\<GBP=X> Indonesian Rupiah...............\<IDR=X>
Bulgarian Lev...................\<BGN=X> Israeli Shekel..................\<ILS=X>
Canadian Dollar.................\<CAD=X> Japanese Yen....................\<JPY=X>
Chilean Peso....................\<CLP=X> Jordanian Dinar.................\<JOD=X>
Chinese Renimbi.................\<CNY=X> Korean Won......................\<KRW=X>
Colombian Peso..................\<COP=X> Kuwaiti Dinar...................\<KWD=X>
Czech Koruna....................\<CZK=X> Lebanese Pound..................\<LBP=X>
Danish Krone....................\<DKK=X> Malaysian Ringitt...............\<MYR=X>
Mexican Peso....................\<MXN=X>
Moroccan Dirham.................\<MAD=X>
================================================================================
Main Index\<LSEG> Previous page\<CROSS/MKT1> Next page\<CROSS/MKT3>
Lost? Selective Access?....\<USER/HELP> LSEG Phone Support.........\<PHONE/HELP>
Ending the Data Library Session
To end the Data Library session, please use the ld.close_session method.
ld.close_session()