← Back to all apps

Overview

Tools Available17
DeveloperLSEG Engineering
CategoryFinance

Data and analytics

Available Tools

LSEG provides 17 tools that can be used to interact with its services.

Pricer: Bond Future

bond_future_price
Full Description

Calculate bond future pricing, valuation, and analytics from an existing bond future defined from its instrument code (RIC or other identifier).

Parameters

Required
codestring

A comma-separated string of bond future identifiers (RIC or other instrument code). Examples: 'YTTc1' for single bond future or 'YTTc1,YTTc2' for multiple bond futures

Optional
pricingParametersobject

Bond future pricing parameters

Pricer: Bond

bond_price
Full Description

Calculate bond pricing, valuation, and analytics from an existing bond defined from its code (ISIN, RIC, CUSIP or AssetId).

Parameters

Required
codestring

A comma-separated string of bond identifiers (ISIN, RIC, CUSIP or AssetId). Examples: 'US91282CMA61' for single bond or 'US91282CMA61,DE0001102440' for multiple bonds

Optional
overridesobject

List of fields to override, for 'what if' scenario. Note: price and yieldPercent are mutually exclusive.

pricingParametersobject

Bond pricing parameters

MktData: Credit Curve

credit_curve
Full Description

Two-phase Credit Curve tool: (1) Call with country + issuerType (both are required) to list available curves, (2) Call with id + name to calculate curve points (both are required).

Parameters

Optional
countrystring

Country code of the issuer defined with Alpha-2 Code ISO 3166 country code convention.

idstring

The ID (GUID) of an existing credit curve definition.

issuerTypestring

Type of the issuer. Available values are: Agency, Corporate, Munis, NonFinancials, Sovereign, Supranational.

Options:AgencyCorporateMunisNonFinancialsSovereignSupranational
namestring

The name of an existing credit curve definition.

Equity Vol Surface

equity_vol_surface
Full Description

Generates the Equity Volatility surfaces for the definitions provided

Parameters

Required
instrumentCodestring

The code (RIC for equities and indices and RICROOT for Futures.) that represents the instrument. The format for equities and indices is xxx@RIC (Example:VOD.L@RIC). The format for Futures is xx@RICROOT (Example: CL@RICROOT)

Optional
calculationDatestring

The date the volatility surface is generated. in ISO format (YYYY-MM-DD).

MktData: FX Forward Curve

fx_forward_curve
Full Description

Two-phase FX Forward Curve tool: (1) Call with listOnly=true to see available curves, (2) Call with reference to calculate curve points. Can also call directly with reference if already known.

Parameters

Optional
listOnlyboolean

Set to true to list available FX forward curves. If false or omitted, will calculate curve points using reference parameter.

pricingPreferencesobject

Advanced pricing parameters

referencestring

The identifier of a resource (instrument definition, curve definition) that is already in the platform. Required when listOnly is false or omitted.

Pricer: FX Forward

fx_forward_price
Full Description

Calculate FX forward pricing, valuation, and analytics using LSEG FX Forward API v2. For cross-currency pairs 'via' another currency (e.g., NOK/SEK via EUR), use crossCurrency=NOKSEK and set referenceCurrency=EUR in pricingPreferences.

Parameters

Required
crossCurrencystring

A comma-separated string of cross currency pairs, each expressed in ISO 4217 alphabetical format (e.g., 'EURCHF,USDJPY'). Each pair must be 6 uppercase letters.

endDatestring

The maturity date of the instrument. Possible values are:AdjustableDate object - requires a date expressed in ISO 8601 format: YYYY-MM-DD (e.g., "2021-01-01"). Or a RelativeAdjustableDate - requires a tenor expressed as a code indicating the period between referenceDate(default=startDate) to endDate of the instrument (e.g., "ON" for overnight, "TN" for tomorrow-next, "1W", "30D", "6M", "1Y").

Optional
dealAmountnumber

Amount of the deal (base) currency bought or sold

Default: 1000000
pricingPreferencesobject

Advanced pricing parameters

startDatestring

The start date of the instrument. Possible values are: AdjustableDate object - requires a date expressed in ISO 8601 format: YYYY-MM-DD (e.g., "2021-01-01"). Or a RelativeAdjustableDate - requires a tenor expressed as a code indicating the period between referenceDate(default=startDate) to endDate of the instrument (e.g., "ON" for overnight, "TN" for tomorrow-next, "1W", "30D", "6M", "1Y"). Default is a spot date.

Pricer: FX Spot

fx_spot_price
Full Description

Calculate FX spot pricing, valuation, and analytics using LSEG FX Spot API v2

Parameters

Required
crossCurrencystring

A comma-separated string of cross currency pairs, each expressed in ISO 4217 alphabetical format (e.g., 'EURCHF,USDJPY'). Each pair must be 6 uppercase letters.

Optional
dealAmountnumber

Amount of the deal (base) currency bought or sold

Default: 1000000
pricingPreferencesobject

Advanced pricing parameters

Fx Vol Surface

fx_vol_surface
Full Description

Generates the FX Volatility surfaces for the definitions provided

Parameters

Required
instrumentCodestring

The ISO code of the cross currency (e.g. 'EURCHF').

Optional
calculationDatestring

The date the volatility surface is generated. in ISO format (YYYY-MM-DD).

MktData: Inflation Curve

inflation_curve
Full Description

Two-phase Inflation Curve tool: (1) Call without id/name to list/search available curves (optionally filter by country/currency), (2) Call with id and/or name to calculate curve points.

Parameters

Optional
countrystring

The country code of the curve origin. The value is defined with Alpha-2 Code ISO 3166 country code convention (e.g., 'US'). Used for listing/searching only.

currencystring

The currency code of the curve. The value is expressed in ISO 4217 alphabetical format (e.g., 'USD'). Used for listing/searching only.

idstring

The unique identifier (UUID) of an existing inflation curve definition. Used for calculation. Provide id and/or name to calculate.

namestring

The name of an existing inflation curve definition. Used for calculation. Provide id and/or name to calculate.

News: Insight Headlines

insight_headlines
Full Description

CRITICAL: ALWAYS use appropriate parameter types:

  • Companies/Instruments → 'rics' parameter (e.g., 'Apple' → 'AAPL.O')
  • News topics/categories → 'topics' parameter (e.g., 'B:278', 'G:4S')
  • General keywords → 'query' parameter (only when RICs/topics don't apply)

CRITICAL LIMITATION: Multiple parameters use AND logic (intersection), typically returning zero/few results. Example: rics="PEP.O", topics="B:278", query="soda" → Only PepsiCo articles ALSO in Computers category AND mentioning "soda" (usually zero)

SOLUTION FOR OR LOGIC: Make separate calls and merge results:

  • Call 1: insight_headlines({ rics: "PEP.O" })
  • Call 2: insight_headlines({ topics: "B:278" })
  • Call 3: insight_headlines({ query: "soda" })
  • Then: Deduplicate and merge

Retrieve insight headlines snapshot. FORMAT FOR EACH STORY:

  • Number sequentially (1, 2, 3...)
  • Display full headline unmodified
  • Present complete story text exactly as provided (no summarizing/paraphrasing)
  • Include: 'Source: [SOURCE] | Language: [LANGUAGE]' at beginning
  • Separate stories with clear visual breaks
  • Present in API order

CRITICAL RULES:

  • DO NOT summarize, extract key points, reorganize, add bullets, or modify story text
  • DO NOT group stories by category
  • DO NOT add commentary/analysis
  • Present each as standalone numbered item with complete content

USAGE PATTERNS: 1. Companies only: rics="AAPL.O,MSFT.O" 2. Topics only: topics="B:278,G:4S" 3. Keywords only: query="AI regulation" 4. Company OR Topic OR Keywords: 3 separate calls + merge 5. Company AND Topic AND Keywords: Single call (expect few/zero results)

MULTIPLE COMPANIES:

  • OR (default): "news for X and Y" → rics="X,Y", logicAmongRics="OR" → Articles about ANY company
  • AND (explicit): "news containing both X and Y" → rics="X,Y", logicAmongRics="AND" → Articles about ALL companies

MULTIPLE TOPICS:

  • AND (only option): topics="B:278,G:4S" → Articles matching ALL topics
  • OR: Not supported - make separate calls

MULTIPLE KEYWORDS:

  • OR (only option): query="keyword1,keyword2" → Articles containing ANY keyword
  • AND: Not supported - make separate calls

USER COMMUNICATION: When using OR logic for RICs (default): ALWAYS state: "I'm searching for news about [A] and [B] (showing articles about either company). If you want only articles mentioning both together, try: 'show me news containing both [A] and [B]'"

When using AND logic for RICs: State: "I'm searching for articles that mention both [A] and [B] together."

When using Topics: State: "I'm searching for news in categories [A] AND [B] (articles must match all topics)."

If AND search returns no results: Suggest: "I searched for articles mentioning both [A] and [B] together, but didn't find any. Would you like news about either separately? Try 'news for [A] and [B]' or 'news about [A] or [B]'"

Default to OR unless user explicitly says "containing both/all", "mentioning both/all", "with both/all".

ECONOMIC EVENTS & MARKET REACTIONS: Use for market reactions/sentiment/coverage of:

  • Economic data releases (jobs, CPI, GDP, Fed decisions)
  • Major market events (rate decisions, policy announcements)
  • Industry developments/regulatory changes

Examples triggering search:

  • "What was the market reaction to the latest jobs report?"
  • "How did markets respond to Fed decision?"
  • "sentiment around inflation data"

For these, use query parameter with relevant keywords:

  • Jobs report → query="jobs report, employment, labor market, NFP"
  • Fed decision → query="Federal Reserve, FOMC, interest rates"
  • CPI/inflation → query="CPI, inflation, consumer prices"

CRITICAL: RIC + Query ALWAYS Uses AND Logic Problem: rics="TSLA.O", query="renewable energy" → Only Tesla articles ALSO mentioning "renewable energy" (usually 0) Solution for OR: Make TWO separate calls and merge results

Only combine RIC + query when you specifically want intersection:

  • "Tesla articles mentioning batteries" → rics="TSLA.O", query="batteries" ✓
  • "Tesla OR renewable energy" → Two separate calls ✓

Key: Never combine RIC + query expecting OR logic. Always make two calls and merge.

Parameters

Optional
logicAmongQueriesstring

Logical operator for combining multiple query keywords. Currently only 'OR' (default) is supported - returns news containing ANY of the keywords. Only applied when multiple comma-separated keywords are provided in the query parameter.

Options:OR
Default: OR
logicAmongRicsstring

Logical operator for combining multiple RICs/PermIDs. Use 'OR' (default) to return news mentioning ANY of the specified companies (e.g., 'Apple OR Microsoft'). Use 'AND' to return news mentioning ALL specified companies (e.g., 'Apple AND Microsoft'). Only applied when multiple comma-separated RICs/PermIDs are provided.

Options:ORAND
Default: OR
logicAmongRICTopicQuerystring

Logical operator for combining RIC/PermID filters with query keywords and topic codes. Currently only 'AND' (default) is supported - returns news matching BOTH the specified companies,topic codes AND the keywords. Only applied when both 'rics', 'topics', and 'query' parameters are provided.

Options:AND
Default: AND
logicAmongTopicsstring

Logical operator for combining multiple topic codes. Currently only 'AND' is supported - returns news matching ALL specified topics. Only applied when multiple comma-separated topic codes are provided.

Options:AND
Default: AND
querystring

FALLBACK PARAMETER: Only use for non-company topics that cannot be represented as RICs, PermIDs, or topic codes. Separate multiple search terms with commas (e.g., 'ESG, sustainability, climate'). Each keyword must be at most 64 characters long. Maximum 20 keywords allowed. Use the 'logicAmongQueries' parameter to specify OR logic between terms. DO NOT use explicit 'OR' or 'AND' operators in the query string. Examples: 'semiconductor', 'ESG, sustainability', 'renewable energy, climate policy'. If user mentions a company/brand, use 'rics' parameter instead.

ricsstring

PRIMARY PARAMETER: Supports two types of identifiers (comma-separated). Maximum 20 RIC/PermID allowed.: 1) RICs - Reuters Instrument Codes (e.g., AAPL.O, MSFT.O, IBM.N). Use for company/instrument identifiers. 2) PermIDs - Permanent Identifiers, numeric-only or with 'P:' prefix (e.g., 12345, P:4295905573). Use for entity/organization references.

topicsstring

PRIMARY PARAMETER: Supports Topic Codes (comma-separated). Maximum 20 topic codes allowed.: Topic Codes - News classification codes with colons (e.g., B:278, E:1).

MktData: Interest Rate Curve

interest_rate_curve
Full Description

Two-phase Interest Rate Curve tool: (1) Call with listOnly=true to see available curves, (2) Call with reference to calculate curve points. Can also call directly with reference if already known.

Parameters

Optional
listOnlyboolean

Set to true to list available interest rate curves. If false or omitted, will calculate curve points using reference parameter.

pricingPreferencesobject

Advanced pricing parameters

referencestring

The identifier of a resource (instrument definition, curve definition) that is already in the platform. Required when listOnly is false or omitted.

Pricer: Swap

ir_swap
Full Description

Two-phase IR Swap tool: (1) Call with currency (+ optional swapType/indexName) to list available swap templates, (2) Call with swaps array to price swaps using templates. Returns template info or pricing results with risk metrics.

Parameters

Optional
currencystring

Currency code to filter templates (e.g., EUR, USD, GBP, CHF). Required for listing templates.

indexNamestring

Filter by floating rate index name (e.g., ESTR, SOFR, EURIBOR, SONIA). Used for listing only.

swapsarray

Array of swap pricing requests. Provide this to price swaps instead of listing templates.

swapTypestring

Filter by swap type (for listing) or specify swap type (for pricing)

Options:VanillaSwapTenorBasisSwapCrossCurrencySwapCurrencyBasisSwap
valuationDatestring

Valuation date in ISO format (YYYY-MM-DD). Used for pricing only. Defaults to today if omitted.

Pricer: Option

option_value
Full Description

Calculate option valuation and analytics using LSEG Option API v1. Provides detailed risk metrics including Delta (price sensitivity), Gamma (delta sensitivity), Theta (time decay), Vega (volatility sensitivity), and Rho (interest rate sensitivity). Supports vanilla options (European, American, Bermudan), exotic barrier options (knock-in/knock-out with rebates), binary options for FX (OneTouch, NoTouch, Digital with fixed payouts), and Asian options (price/strike averaging with arithmetic/geometric calculation). Calculates market values, intrinsic values, time premiums, implied volatility, hedge ratios, leverage, moneyness ratios, premium over cash, and annualized yields.

Parameters

Optional
codestring

Existing option identifier (ISIN, RIC). If provided, this takes precedence over definition-based inputs.

definitionobject

The full definition of the option

pricingPreferencesobject

Advanced pricing parameters for option calculations

Qa Company Fundamentals

qa_company_fundamentals
Full Description

Access QA company fundamentals and measure metadata using dedicated subtools

Parameters

Required
requestsarray

One or more QA company fundamentals operations. Each entry selects a subtool via dataType.

QA: Equity Consensus

qa_ibes_consensus
Full Description

Access QA IBES consensus estimates, actuals, and measure metadata using dedicated subtools. Submit a requests array with entries specifying dataType (qa_ibes_consensus | qa_ibes_actuals | qa_ibes_measures) and matching options.

Parameters

Required
requestsarray

One or more QA IBES operations. Each entry selects a subtool via dataType.

QA: Macroeconomic

qa_macroeconomic
Full Description

Access LSEG QA macroeconomic database for historical economic indicators worldwide. Provides time series data, metadata search, and latest observations. HISTORICAL DATA ONLY

  • No forecasts available.

THREE-PHASE WORKFLOW: 1. DISCOVERY (list) → Search for indicators 2. VERIFICATION → Check units, frequency, date range 3. RETRIEVAL (latest/series) → Get the data

REQUEST STRUCTURE: Submit array of requests with dataType and options: { "requests": [ {"dataType": "list|latest|series", "options": {...}} ] }

DATATYPE: "list" (Search Indicators) Find indicators by description and/or country.

Parameters:

  • mnemonic: Search code with wildcards (e.g., "US*CPI*")
  • description: Search description (e.g., "*GDP*", "*unemployment*")
  • marketDescription: Search country (e.g., "*united states*", "*china*")
  • frequency: Filter by "ANNL", "QUAR", "MONT", "WFR", "DWY"
  • limit: Max results (default 25, max 200)
  • offset: Skip records for pagination

Returns: mnemonic, description, market, frequency, unit, source, startDate Present as: Markdown table with columns: Mnemonic | Description | Frequency | Unit | Start Date

Example: {"dataType": "list", "options": {"description": "*GDP*", "marketDescription": "*united states*"}}

DATATYPE: "latest" (Current Value) Get most recent observation for an indicator.

Parameters:

  • mnemonic: Exact code from list search (required)

Returns: period, value, unit, frequency, asOf date, revised status

Example: {"dataType": "latest", "options": {"mnemonic": "USI64..XF"}}

DATATYPE: "series" (Time Series) Retrieve historical data for an indicator.

Parameters:

  • mnemonic: Exact code (required)
  • from: Start date YYYY-MM-DD (inclusive, optional)
  • to: End date YYYY-MM-DD (inclusive, optional)
  • limit: Max observations (use 200 for 10+ years)
  • order: "asc" (oldest first) or "desc" (newest first, default)
  • frequency: Override default - "M", "Q", "A"
  • includeRevisions: Include all revisions (default false)

Returns: Array of {period, value, unit, revised, asOf} Present as: Markdown table with columns: Year/Period | Value (with unit in header)

  • Format numbers with thousand separators
  • Include currency/percentage in header or values
  • Sort chronologically

Tips:

  • Use limit: 200 for long series (10+ years)
  • Default may return only recent data without date filters
  • Check resultCount for total observations

Example: {"dataType": "series", "options": {"mnemonic": "USI64..XF", "from": "2014-11-01", "limit": 200}}

COMMON INDICATORS:

United States:

  • GDP (quarterly, billions): USGDP...B
  • CPI %YOY (monthly): USI64..XF
  • Unemployment % (monthly): USUN%TOTQ
  • Fed Funds % (monthly): USI60...
  • Non-Farm Payrolls (monthly, thousands): USEMPALLO
  • 10Y Treasury % (daily): FRTCM10

Country Codes: US=USA, CN=Canada, UK=UK, BD=Germany, FR=France, CH=China, JP=Japan, BR=Brazil, ES=Spain

Frequency Codes:

  • ANNL/A: Annual
  • QUAR/Q: Quarterly
  • MONT/M: Monthly
  • WFR/W: Weekly
  • DWY: Daily

GDP %YOY Patterns:

  • China: CHGDP..*C
  • Euro Area: EKESNGD&Q
  • Germany: BDGDPDEY*
  • France: FRGDP..*D
  • Spain: ESGDP..*B

GDP PER CAPITA CALCULATION: NOT directly available - must calculate manually.

Critical Steps: 1. Find both GDP and population indicators via list search 2. VERIFY UNITS before calculating (critical!) 3. Calculate with correct unit conversion

Common Patterns:

US (IMF):

  • GDP: USY99B.CB = millions USD (annual)
  • Population: USI99Z..O = thousands (annual)
  • Formula: (GDP_millions / Pop_thousands) × 1,000
  • ⚠️ USI99Z..O has corrupt data 1948-1949 - use 1950+

US (BEA):

  • GDP: USGDP...B = billions USD (quarterly, annualized)
  • Population: USPOPTOTP = thousands (monthly)
  • Formula: (GDP_billions × 1,000) / Pop_thousands

Other Countries:

  • IMF pattern: [CC]Y99B.CB (GDP), [CC]I99Z..O (Pop)
  • Units vary - always verify actual values
  • Cross-reference World Bank/IMF published figures

Always validate result against published sources!

DATE FORMATS IN RESULTS:

  • Monthly: "YYYY-MM" (e.g., "2024-01")
  • Quarterly: "YYYY-QN" (e.g., "2024-Q3")
  • Annual: "YYYY"
  • Daily: "YYYY-MM-DD"

MULTIPLE REQUESTS: Combine requests in one call: { "requests": [ {"dataType": "list", "options": {"description": "*inflation*", "marketDescription": "*spain*"}}, {"dataType": "series", "options": {"mnemonic": "USI64..XF", "from": "2024-01-01"}}, {"dataType": "latest", "options": {"mnemonic": "USUN%TOTQ"}} ] }

LIMITATIONS: No forecasts or consensus estimates No real-time data (indicator lag varies) No market prices (stocks, commodities) Coverage varies by country/indicator

TROUBLESHOOTING:

"No data available":

  • Check startDate - data may not exist for period
  • Recent data may not be published yet
  • Try broader date range

Unexpected values:

  • Verify units (millions vs billions vs thousands)
  • Check if values are rates, indices, or absolute numbers
  • Validate against known published figures

Limited results:

  • Use limit parameter for long series
  • May need pagination for very long histories

DATA SOURCES: National agencies (BLS, BEA, Eurostat), central banks (Fed, ECB), international orgs (IMF, OECD, World Bank), and private providers.

Parameters

Required
requestsarray

Provide one or more macroeconomic requests. Each entry routes to the list, latest, or series QA macro endpoint based on its dataType.

Tscc Interday Summaries

tscc_interday_summaries
Full Description

To retrieve time series pricing Interday summaries data (i.e. bar data). The default timeout is 3 minutes.

Parameters

Required
universestring

The entity universe e.g. RIC name or PermID value. It needs to be conformed to RFC-1738 standard i.e. it must be encoded. For example, to request the data for the RIC 'aITCPISPGD/C', the universe parameter value must be 'aITCPISPGD%2FC'.

Optional
endstring

Optional: Explicit end date (YYYY-MM-DD). Only use if user specifies an exact date. Defaults to today.

intervalstring

The native or consolidation interval in ISO8601. The support intervals include P1D, P7D, P1W, P1M, P3M, P12M, and P1Y. When interval is not specified, backend will return the native interval stored in the database e.g. P1D

Options:P1DP7DP1WP1MP3MP12MP1Y
Default: P1D
startstring

Optional: Explicit start date (YYYY-MM-DD). Only use if user specifies an exact date. Otherwise use tenor.

tenorstring

Lookback period from today using market tenor notation (e.g., '1D' for yesterday, '10D' for 10 days, '1W' for 1 week, '3M' for 3 months, '1Y' for 1 year). The server calculates the actual dates.

Default: 1M