Agent skill
lseg
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.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/lseg
SKILL.md
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.
References
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?