Delegate independent tasks to specialized agents working concurrently with isolated context.
LSEG Workspace Data API
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.
SKILL.md
Full skill instructions
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
More Other skills
brand-guidelines
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
theme-factory
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
internal-comms
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Fundamental design principles for writing maintainable, testable Python code.
responsive-design
Modern responsive layouts using container queries, fluid typography, CSS Grid, and mobile-first strategies.
Generate Playwright tests from scenarios using interactive browser exploration and validation.
Automated website exploration and test case generation using Playwright.
Modern React state management with Redux Toolkit, Zustand, Jotai, and React Query for every state category.
gdpr-data-handling
GDPR-compliant data handling with consent management, data subject rights, and privacy controls.
Python error handling patterns including input validation, exception hierarchies, and partial failure handling. Use when implementing validation logic, designing exception strategies, handling batch processing failures, or building robust APIs.
refactor-plan
Detailed multi-file refactor planning with safety checks and rollback guidance.
