name: lseg description: Use when fetching financial data from LSEG Workspace via the Eikon Data API. Covers cURL requests, field discovery, symbology conversion, and time series data retrieval.
LSEG Workspace Data API
Access financial, vessel, and commodity data from LSEG Workspace via the Eikon Data API.
Prerequisites
- LSEG Workspace must be running on your machine (exposes local proxy on port 9000)
- App Key - generate via Workspace: type
APPKEYin search bar, select "Eikon Data API" checkbox
Store credentials in .env:
LSEG_APP_ID=your_app_key_here
LSEG_API_ENDPOINT=http://localhost:9000/api/udf/
API basics
Endpoint: http://localhost:9000/api/udf/
Required headers:
Content-Type: application/json
x-tr-applicationid: <app_key>
X-Forwarded-Host: localhost
Request format:
{
"Entity": {
"E": "<entity_type>",
"W": { <parameters> }
}
}
Entity types
DataGrid - fetch data for instruments
Basic query:
curl -s -X POST "$LSEG_API_ENDPOINT" \
-H "Content-Type: application/json" \
-H "x-tr-applicationid: $LSEG_APP_ID" \
-H "X-Forwarded-Host: localhost" \
-d '{
"Entity": {
"E": "DataGrid",
"W": {
"instruments": ["AAPL.O", "MSFT.O"],
"fields": [
{"name": "TR.CommonName"},
{"name": "TR.PriceClose"},
{"name": "TR.PE"}
]
}
}
}' | jq .
With date parameters (time series):
curl -s -X POST "$LSEG_API_ENDPOINT" \
-H "Content-Type: application/json" \
-H "x-tr-applicationid: $LSEG_APP_ID" \
-H "X-Forwarded-Host: localhost" \
-d '{
"Entity": {
"E": "DataGrid",
"W": {
"instruments": ["AAPL.O"],
"fields": [
{"name": "TR.PriceClose"},
{"name": "TR.Volume"}
],
"parameters": {
"SDate": "2025-01-01",
"EDate": "2025-01-31",
"TOP": 10000
}
}
}
}' | jq .
SymbologySearch - convert identifiers
Convert between RIC, ISIN, IMO, CUSIP, SEDOL, etc:
curl -s -X POST "$LSEG_API_ENDPOINT" \
-H "Content-Type: application/json" \
-H "x-tr-applicationid: $LSEG_APP_ID" \
-H "X-Forwarded-Host: localhost" \
-d '{
"Entity": {
"E": "SymbologySearch",
"W": {
"symbols": ["US0378331005"],
"from": "ISIN",
"to": ["RIC"],
"bestMatch": true
}
}
}' | jq .
Common identifier types: RIC, ISIN, CUSIP, SEDOL, IMO, ticker
Response format
{
"columnHeadersCount": 1,
"data": [
["AAPL.O", "Apple Inc", 278.28, 37.47],
["MSFT.O", "Microsoft Corp", 478.53, 34.05]
],
"headers": [[
{"displayName": "Instrument"},
{"displayName": "Company Common Name", "field": "TR.COMMONNAME"},
{"displayName": "Price Close", "field": "TR.PRICECLOSE"},
{"displayName": "P/E (Daily Time Series Ratio)", "field": "TR.PE"}
]],
"totalRowsCount": 3
}
Common fields
Equities
| Field | Description |
|---|---|
TR.CommonName | Company name |
TR.PriceClose | Closing price |
TR.PriceOpen | Opening price |
TR.PriceHigh | Day high |
TR.PriceLow | Day low |
TR.Volume | Trading volume |
TR.PE | P/E ratio |
TR.CompanyMarketCap | Market capitalization |
TR.TotalEmployees | Employee count |
TR.HeadquartersCountry | HQ country |
TR.GICSSector | GICS sector |
Vessels (maritime)
| Field | Description |
|---|---|
TR.AssetIMO | IMO number |
TR.AssetName | Vessel name |
TR.AssetDWT | Deadweight tonnage |
TR.AssetCubicCapacity | Cubic capacity |
TR.AssetDateTime | Position timestamp |
TR.AssetLocationLongitude | Longitude |
TR.AssetLocationLatitude | Latitude |
TR.AssetLocationDraught | Current draught |
TR.AssetSpeed | Speed |
TR.AssetHeading | Heading |
TR.AssetDestination | Destination port |
TR.AssetLocationStatus | Navigation status |
Trade flows (vessels)
| Field | Description |
|---|---|
TR.AssetFlowPermID | Flow ID |
TR.AssetLoadingPort | Loading port |
TR.AssetLoadingDateTo | Loading date |
TR.AssetDischargingPort | Discharge port |
TR.AssetDischargeDate | Discharge date |
TR.AssetFlowCommodity | Commodity |
TR.AssetVolume | Volume |
TR.AssetCharterer | Charterer |
Helper scripts
This skill includes helper scripts in .claude/skills/lseg/scripts/:
| Script | Purpose |
|---|---|
lseg-query.sh | General DataGrid queries |
lseg-symbology.sh | Identifier conversion |
lseg-timeseries.sh | Time series data |
Usage:
# Load environment
source .env
# Query company data
.claude/skills/lseg/scripts/lseg-query.sh "AAPL.O,MSFT.O" "TR.CommonName,TR.PriceClose"
# Convert ISIN to RIC
.claude/skills/lseg/scripts/lseg-symbology.sh "US0378331005" ISIN RIC
# Get time series
.claude/skills/lseg/scripts/lseg-timeseries.sh "AAPL.O" "TR.PriceClose" "2025-01-01" "2025-01-31"
Rate limits
| Limit | Value |
|---|---|
| Requests per second | 5 |
| Requests per day | 10,000 |
| Data per minute | 50 MB |
| Data per day | 5 GB |
| get_data points | ~10,000 |
| get_timeseries (interday) | 3,000 rows |
| get_timeseries (intraday) | 50,000 rows |
Troubleshooting
Connection refused: LSEG Workspace not running. Start the desktop app.
401 Unauthorized: Invalid or expired app key. Generate new key via APPKEY in Workspace.
Empty response: Check field names are correct (case-sensitive TR.FieldName format).
Port 9000 in use: Workspace may use next available port. Check Workspace settings or try 9001.