Data FeedYahoo Finance Integration

Yahoo Finance Integration

Yahoo Finance API client — provides real-time quotes, historical OHLCV data, company fundamentals, analyst recommendations, market news, options chains, and symbol search via the unofficial Yahoo Fina

Yahoo Finance

Category: Data Feed
Provider Key: yahooFinance

Yahoo Finance API client — provides real-time quotes, historical OHLCV data, company fundamentals, analyst recommendations, market news, options chains, and symbol search via the unofficial Yahoo Finance v8/v10/v11 REST APIs. No API key is required for basic access; a RapidAPI key unlocks higher limits.


Configuration

To use Yahoo Finance in your project, add it to your project integrations and provide the following configuration:

ParameterTypeRequiredDescription
rapidApiKeystringNoRapidAPI key for Yahoo Finance (needed only when useRapidApi is true)
useRapidApibooleanNoRoute requests through RapidAPI for higher rate limits
timeoutnumberNoHTTP request timeout in milliseconds
userAgentstringNoCustom User-Agent header

Example Configuration

{
  "provider": "yahooFinance",
  "configuration": [
    { "name": "rapidApiKey", "value": "your-rapidApiKey" },
    { "name": "useRapidApi", "value": false },
    { "name": "timeout", "value": 0 },
    { "name": "userAgent", "value": "your-userAgent" }
  ]
}

Setup Guide

How to Get API Keys

Difficulty: Easy — no sign-up is required for basic quota; optional RapidAPI key for higher rate limits Developer Portal: https://rapidapi.com/apidojo/api/yahoo-finance1

Steps:

  1. For basic/unauthenticated access set useRapidApi to false — no credentials needed.
  2. For higher rate limits, visit https://rapidapi.com and create a free account.
  3. Subscribe to the "Yahoo Finance" API by apidojo at https://rapidapi.com/apidojo/api/yahoo-finance1.
  4. Copy your X-RapidAPI-Key from the RapidAPI dashboard (My Apps → Security).
  5. Pass the key as rapidApiKey and set useRapidApi: true in the config.

Configuration

FieldTypeRequiredDescription
rapidApiKeystringNoRapidAPI key for Yahoo Finance (required only when useRapidApi is true)
useRapidApibooleanNoWhen true, routes all requests through RapidAPI host (default: false)
timeoutnumberNoRequest timeout in milliseconds (default: 15000)
userAgentstringNoCustom User-Agent header string
Config Template
{
  "rapidApiKey": "YOUR_RAPIDAPI_KEY",
  "useRapidApi": false,
  "timeout": 15000,
  "userAgent": "Mozilla/5.0 (compatible; YahooFinanceApiClient/1.0)"
}

Available Methods

Quick reference:

  • Quotes: getQuotes, getQuote
  • Chart: getChartData, getChartDataByDate
  • Fundamentals: getFundamentals, getIncomeStatement, getBalanceSheet, getCashFlow, getKeyStatistics
  • Company: getCompanyProfile
  • Analysts: getAnalystData
  • Options: getOptionsChain
  • Market: getMarketSummary, getTrendingTickers, getMovers
  • News: getSymbolNews
  • Search: search
  • Dividends: getDividendsAndSplits
  • Earnings: getEarningsCalendar
  • Ownership: getHolders
  • ESG: getESGScores
  • Recommendations: getRecommendedSymbols
  • Forex: getExchangeRate, getExchangeRateHistory
  • Crypto: getCryptoQuote

Quotes

getQuotes

Get Real-Time Quotes

Fetches real-time quote data for one or more ticker symbols. Returns price, volume, market cap, PE ratio, and dozens of other fields. Supports equities, ETFs, mutual funds, crypto, indices, and futures.

Parameters:

ParameterTypeRequiredDescription
symbolsstringYesComma-separated ticker symbols (e.g., "AAPL,MSFT,TSLA")
regionstringNoMarket region
langstringNoResponse language/locale

Returns: Promise\<Object\>

{
  quotes: Array<{
    symbol: string,
    shortName: string,
    longName: string,
    regularMarketPrice: number,
    regularMarketChange: number,
    regularMarketChangePercent: number,
    regularMarketVolume: number,
    regularMarketDayHigh: number,
    regularMarketDayLow: number,
    regularMarketOpen: number,
    previousClose: number,
    fiftyTwoWeekHigh: number,
    fiftyTwoWeekLow: number,
    marketCap: number,
    trailingPE: number,
    currency: string,
    quoteType: string,
    exchange: string
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getQuotesAction",
  "provider": "yahooFinance",
  "action": "getQuotes",
  "parameters": [
    { "parameterName": "symbols", "parameterValue": "'your-symbols'" },
    { "parameterName": "region", "parameterValue": "'your-region'" },
    { "parameterName": "lang", "parameterValue": "'your-lang'" }
  ],
  "contextPropertyName": "getQuotesResult"
}

MScript example:

await _yahooFinance.getQuotes({
  symbols: /* string */,
  region: /* string */,
  lang: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getQuotes({
  symbols: /* string */,
  region: /* string */,
  lang: /* string */,
});

getQuote

Get Single Quote

Returns a single consolidated quote for the given ticker symbol. Convenience wrapper around getQuotes for a single symbol.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
regionstringNoMarket region

Returns: Promise<{symbol: string, shortName: string, longName: string, regularMarketPrice: number, regularMarketChange: number, regularMarketChangePercent: number, regularMarketVolume: number, regularMarketDayHigh: number, regularMarketDayLow: number, regularMarketOpen: number, previousClose: number, fiftyTwoWeekHigh: number, fiftyTwoWeekLow: number, marketCap: number, trailingPE: number, forwardPE: number, dividendYield: number, eps: number, currency: string, quoteType: string, exchange: string, marketState: string}>

FieldType
symbolstring
shortNamestring
longNamestring
regularMarketPricenumber
regularMarketChangenumber
regularMarketChangePercentnumber
regularMarketVolumenumber
regularMarketDayHighnumber
regularMarketDayLownumber
regularMarketOpennumber
previousClosenumber
fiftyTwoWeekHighnumber
fiftyTwoWeekLownumber
marketCapnumber
trailingPEnumber
forwardPEnumber
dividendYieldnumber
epsnumber
currencystring
quoteTypestring
exchangestring
marketStatestring

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getQuoteAction",
  "provider": "yahooFinance",
  "action": "getQuote",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getQuoteResult"
}

MScript example:

await _yahooFinance.getQuote({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getQuote({
  symbol: /* string */,
  region: /* string */,
});

Chart

getChartData

Get Historical Price Data

Returns OHLCV (open, high, low, close, volume) historical price data for a symbol. Supports intraday intervals down to 1 minute and ranges up to max (full history). Timestamps are returned as Unix epoch seconds.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
intervalstringNoData granularity
rangestringNoLook-back range
regionstringNoMarket region
includePrePostbooleanNoInclude pre/post market data

Returns: Promise<{symbol: string, currency: string, exchangeName: string, instrumentType: string, timestamps: Array<number>, opens: Array<number>, highs: Array<number>, lows: Array<number>, closes: Array<number>, volumes: Array<number>, adjCloses: Array<number>, meta: Object}>

FieldType
symbolstring
currencystring
exchangeNamestring
instrumentTypestring
timestampsArray<number>
opensArray<number>
highsArray<number>
lowsArray<number>
closesArray<number>
volumesArray<number>
adjClosesArray<number>
metaObject

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getChartDataAction",
  "provider": "yahooFinance",
  "action": "getChartData",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "interval", "parameterValue": "'your-interval'" },
    { "parameterName": "range", "parameterValue": "'your-range'" },
    { "parameterName": "region", "parameterValue": "'your-region'" },
    { "parameterName": "includePrePost", "parameterValue": "true" }
  ],
  "contextPropertyName": "getChartDataResult"
}

MScript example:

await _yahooFinance.getChartData({
  symbol: /* string */,
  interval: /* string */,
  range: /* string */,
  region: /* string */,
  includePrePost: /* boolean */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getChartData({
  symbol: /* string */,
  interval: /* string */,
  range: /* string */,
  region: /* string */,
  includePrePost: /* boolean */,
});

getChartDataByDate

Get Historical Data by Date Range

Returns OHLCV data between explicit start and end dates (Unix epoch seconds). Useful when you need a precise date window rather than a rolling range.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
period1numberYesStart date as Unix timestamp (seconds)
period2numberYesEnd date as Unix timestamp (seconds)
intervalstringNoData granularity
regionstringNoMarket region

Returns: Promise<{symbol: string, currency: string, exchangeName: string, instrumentType: string, timestamps: Array<number>, opens: Array<number>, highs: Array<number>, lows: Array<number>, closes: Array<number>, volumes: Array<number>, adjCloses: Array<number>, meta: Object}>

FieldType
symbolstring
currencystring
exchangeNamestring
instrumentTypestring
timestampsArray<number>
opensArray<number>
highsArray<number>
lowsArray<number>
closesArray<number>
volumesArray<number>
adjClosesArray<number>
metaObject

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getChartDataByDateAction",
  "provider": "yahooFinance",
  "action": "getChartDataByDate",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "period1", "parameterValue": "0" },
    { "parameterName": "period2", "parameterValue": "0" },
    { "parameterName": "interval", "parameterValue": "'your-interval'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getChartDataByDateResult"
}

MScript example:

await _yahooFinance.getChartDataByDate({
  symbol: /* string */,
  period1: /* number */,
  period2: /* number */,
  interval: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getChartDataByDate({
  symbol: /* string */,
  period1: /* number */,
  period2: /* number */,
  interval: /* string */,
  region: /* string */,
});

Fundamentals

getFundamentals

Get Company Fundamentals

Returns comprehensive fundamental data for a company including financial statements, valuation metrics, earnings estimates, cash flow, balance sheet, and income statement. Combines multiple Yahoo Finance modules into a single call.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
modulesstringNoComma-separated module names
regionstringNoMarket region

Returns: Promise<{symbol: string, assetProfile: Object, summaryDetail: Object, financialData: Object, defaultKeyStatistics: Object, incomeStatementHistory: Object, balanceSheetHistory: Object, cashflowStatementHistory: Object, earningsTrend: Object}>

FieldType
symbolstring
assetProfileObject
summaryDetailObject
financialDataObject
defaultKeyStatisticsObject
incomeStatementHistoryObject
balanceSheetHistoryObject
cashflowStatementHistoryObject
earningsTrendObject

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getFundamentalsAction",
  "provider": "yahooFinance",
  "action": "getFundamentals",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "modules", "parameterValue": "'your-modules'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getFundamentalsResult"
}

MScript example:

await _yahooFinance.getFundamentals({
  symbol: /* string */,
  modules: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getFundamentals({
  symbol: /* string */,
  modules: /* string */,
  region: /* string */,
});

getIncomeStatement

Get Income Statement

Returns income statement data (annual and quarterly) for a company. Includes revenue, gross profit, operating income, net income, EBITDA, and EPS.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "MSFT")
regionstringNoMarket region

Returns: Promise\<Object\>

{
  symbol: string,
  annualStatements: Array<{
    endDate: string,
    totalRevenue: number,
    grossProfit: number,
    operatingIncome: number,
    netIncome: number,
    ebitda: number,
    eps: number
  }>,
  quarterlyStatements: Array<{
    endDate: string,
    totalRevenue: number,
    grossProfit: number,
    operatingIncome: number,
    netIncome: number,
    eps: number
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getIncomeStatementAction",
  "provider": "yahooFinance",
  "action": "getIncomeStatement",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getIncomeStatementResult"
}

MScript example:

await _yahooFinance.getIncomeStatement({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getIncomeStatement({
  symbol: /* string */,
  region: /* string */,
});

getBalanceSheet

Get Balance Sheet

Returns balance sheet data (annual and quarterly) for a company. Includes total assets, liabilities, stockholders equity, cash, and debt figures.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "MSFT")
regionstringNoMarket region

Returns: Promise\<Object\>

{
  symbol: string,
  annualStatements: Array<{
    endDate: string,
    totalAssets: number,
    totalLiab: number,
    totalStockholderEquity: number,
    cash: number,
    shortTermInvestments: number,
    longTermDebt: number,
    totalCurrentAssets: number,
    totalCurrentLiabilities: number
  }>,
  quarterlyStatements: Array<{
    endDate: string,
    totalAssets: number,
    totalLiab: number,
    totalStockholderEquity: number,
    cash: number,
    longTermDebt: number
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getBalanceSheetAction",
  "provider": "yahooFinance",
  "action": "getBalanceSheet",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getBalanceSheetResult"
}

MScript example:

await _yahooFinance.getBalanceSheet({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getBalanceSheet({
  symbol: /* string */,
  region: /* string */,
});

getCashFlow

Get Cash Flow Statement

Returns cash flow statement data (annual and quarterly) for a company. Includes operating, investing, and financing cash flows, plus free cash flow.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "MSFT")
regionstringNoMarket region

Returns: Promise\<Object\>

{
  symbol: string,
  annualStatements: Array<{
    endDate: string,
    totalCashFromOperatingActivities: number,
    totalCashFromInvestingActivities: number,
    totalCashFromFinancingActivities: number,
    capitalExpenditures: number,
    freeCashFlow: number,
    netIncome: number
  }>,
  quarterlyStatements: Array<{
    endDate: string,
    totalCashFromOperatingActivities: number,
    capitalExpenditures: number,
    freeCashFlow: number
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getCashFlowAction",
  "provider": "yahooFinance",
  "action": "getCashFlow",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getCashFlowResult"
}

MScript example:

await _yahooFinance.getCashFlow({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getCashFlow({
  symbol: /* string */,
  region: /* string */,
});

getKeyStatistics

Get Key Statistics

Returns key financial and valuation metrics for a company including P/E, EV/EBITDA, debt ratios, profit margins, return metrics, and growth rates.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
regionstringNoMarket region

Returns: Promise<{symbol: string, enterpriseValue: number, forwardPE: number, priceToBook: number, debtToEquity: number, returnOnEquity: number, returnOnAssets: number, profitMargins: number, operatingMargins: number, revenueGrowth: number, earningsGrowth: number, sharesOutstanding: number, floatShares: number, shortRatio: number, beta: number}>

FieldType
symbolstring
enterpriseValuenumber
forwardPEnumber
priceToBooknumber
debtToEquitynumber
returnOnEquitynumber
returnOnAssetsnumber
profitMarginsnumber
operatingMarginsnumber
revenueGrowthnumber
earningsGrowthnumber
sharesOutstandingnumber
floatSharesnumber
shortRationumber
betanumber

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getKeyStatisticsAction",
  "provider": "yahooFinance",
  "action": "getKeyStatistics",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getKeyStatisticsResult"
}

MScript example:

await _yahooFinance.getKeyStatistics({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getKeyStatistics({
  symbol: /* string */,
  region: /* string */,
});

Company

getCompanyProfile

Get Company Profile

Returns detailed company profile including business description, sector, industry, employee count, website, address, and key officer information.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
regionstringNoMarket region

Returns: Promise\<Object\>

{
  symbol: string,
  longName: string,
  shortName: string,
  sector: string,
  industry: string,
  fullTimeEmployees: number,
  longBusinessSummary: string,
  website: string,
  phone: string,
  address1: string,
  city: string,
  state: string,
  country: string,
  zip: string,
  companyOfficers: Array<{
    name: string,
    title: string,
    totalPay: number,
    yearBorn: number,
    age: number
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getCompanyProfileAction",
  "provider": "yahooFinance",
  "action": "getCompanyProfile",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getCompanyProfileResult"
}

MScript example:

await _yahooFinance.getCompanyProfile({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getCompanyProfile({
  symbol: /* string */,
  region: /* string */,
});

Analysts

getAnalystData

Get Analyst Recommendations & Estimates

Returns analyst recommendations, price targets, EPS estimates, and earnings history. Useful for building sentiment dashboards or screening tools.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
regionstringNoMarket region

Returns: Promise\<Object\>

{
  symbol: string,
  recommendationMean: number,
  recommendationKey: string,
  numberOfAnalystOpinions: number,
  targetHighPrice: number,
  targetLowPrice: number,
  targetMeanPrice: number,
  targetMedianPrice: number,
  earningsEstimate: Object,
  revenueEstimate: Object,
  epsTrend: Object,
  earningsHistory: Array<{
    epsActual: number,
    epsEstimate: number,
    epsDifference: number,
    surprisePercent: number,
    quarter: string,
    period: string
  }>,
  upgradeDowngradeHistory: Array<{
    firm: string,
    toGrade: string,
    fromGrade: string,
    action: string,
    epochGradeDate: number
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getAnalystDataAction",
  "provider": "yahooFinance",
  "action": "getAnalystData",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getAnalystDataResult"
}

MScript example:

await _yahooFinance.getAnalystData({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getAnalystData({
  symbol: /* string */,
  region: /* string */,
});

Options

getOptionsChain

Get Options Chain

Returns the options chain (calls and puts) for a symbol at a given expiration date. If no expiration is provided, returns the nearest available expiry plus a list of all available expiration dates.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
datenumberNoExpiration date as Unix timestamp (seconds). Defaults to nearest expiry.
regionstringNoMarket region

Returns: Promise\<Object\>

{
  symbol: string,
  expirationDate: number,
  expirationDates: Array<number>,
  strikes: Array<number>,
  hasMiniOptions: boolean,
  underlyingPrice: number,
  calls: Array<{
    contractSymbol: string,
    strike: number,
    currency: string,
    lastPrice: number,
    change: number,
    percentChange: number,
    volume: number,
    openInterest: number,
    bid: number,
    ask: number,
    impliedVolatility: number,
    inTheMoney: boolean,
    expiration: number
  }>,
  puts: Array<{
    contractSymbol: string,
    strike: number,
    currency: string,
    lastPrice: number,
    change: number,
    percentChange: number,
    volume: number,
    openInterest: number,
    bid: number,
    ask: number,
    impliedVolatility: number,
    inTheMoney: boolean,
    expiration: number
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getOptionsChainAction",
  "provider": "yahooFinance",
  "action": "getOptionsChain",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "date", "parameterValue": "0" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getOptionsChainResult"
}

MScript example:

await _yahooFinance.getOptionsChain({
  symbol: /* string */,
  date: /* number */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getOptionsChain({
  symbol: /* string */,
  date: /* number */,
  region: /* string */,
});

Market

getMarketSummary

Get Market Summary

Returns the current market summary including major indices performance (S&P 500, Dow Jones, Nasdaq, etc.) and their current values and daily changes.

Parameters:

ParameterTypeRequiredDescription
regionstringNoMarket region
langstringNoResponse language

Returns: Promise\<Object\>

{
  marketState: string,
  indices: Array<{
    symbol: string,
    shortName: string,
    regularMarketPrice: number,
    regularMarketChange: number,
    regularMarketChangePercent: number,
    regularMarketPreviousClose: number,
    quoteType: string,
    exchangeName: string
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getMarketSummaryAction",
  "provider": "yahooFinance",
  "action": "getMarketSummary",
  "parameters": [
    { "parameterName": "region", "parameterValue": "'your-region'" },
    { "parameterName": "lang", "parameterValue": "'your-lang'" }
  ],
  "contextPropertyName": "getMarketSummaryResult"
}

MScript example:

await _yahooFinance.getMarketSummary({
  region: /* string */,
  lang: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getMarketSummary({
  region: /* string */,
  lang: /* string */,
});

getTrendingTickers

Get Trending Tickers

Returns the top trending tickers on Yahoo Finance for a given region. Trending is determined by search and view activity on finance.yahoo.com.

Parameters:

ParameterTypeRequiredDescription
regionstringNoMarket region to get trending tickers for
countnumberNoNumber of trending tickers to return (max 40)

Returns: Promise\<Object\>

{
  region: string,
  tickers: Array<{
    symbol: string,
    shortName: string,
    regularMarketPrice: number,
    regularMarketChange: number,
    regularMarketChangePercent: number,
    quoteType: string,
    exchange: string
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getTrendingTickersAction",
  "provider": "yahooFinance",
  "action": "getTrendingTickers",
  "parameters": [
    { "parameterName": "region", "parameterValue": "'your-region'" },
    { "parameterName": "count", "parameterValue": "0" }
  ],
  "contextPropertyName": "getTrendingTickersResult"
}

MScript example:

await _yahooFinance.getTrendingTickers({
  region: /* string */,
  count: /* number */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getTrendingTickers({
  region: /* string */,
  count: /* number */,
});

getMovers

Get Market Movers

Returns the most active, biggest gainers, or biggest losers on the US market. Results are sourced from Yahoo Finance's screener pre-sets.

Parameters:

ParameterTypeRequiredDescription
regionstringNoMarket region
startnumberNoOffset for pagination
countnumberNoNumber of results (max 100)

Returns: Promise\<Object\>

{
  mostActive: Array<{
    symbol: string,
    shortName: string,
    regularMarketPrice: number,
    regularMarketChangePercent: number,
    regularMarketVolume: number
  }>,
  gainers: Array<{
    symbol: string,
    shortName: string,
    regularMarketPrice: number,
    regularMarketChangePercent: number
  }>,
  losers: Array<{
    symbol: string,
    shortName: string,
    regularMarketPrice: number,
    regularMarketChangePercent: number
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getMoversAction",
  "provider": "yahooFinance",
  "action": "getMovers",
  "parameters": [
    { "parameterName": "region", "parameterValue": "'your-region'" },
    { "parameterName": "start", "parameterValue": "0" },
    { "parameterName": "count", "parameterValue": "0" }
  ],
  "contextPropertyName": "getMoversResult"
}

MScript example:

await _yahooFinance.getMovers({
  region: /* string */,
  start: /* number */,
  count: /* number */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getMovers({
  region: /* string */,
  start: /* number */,
  count: /* number */,
});

News

getSymbolNews

Get Symbol News

Returns the latest news articles related to a specific ticker symbol. Each article includes a headline, source, publish time, URL, and thumbnail.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
countnumberNoNumber of news articles to return (max 40)

Returns: Promise\<Object\>

{
  symbol: string,
  articles: Array<{
    uuid: string,
    title: string,
    publisher: string,
    link: string,
    providerPublishTime: number,
    type: string,
    thumbnail: string,
    relatedTickers: Array<string>
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getSymbolNewsAction",
  "provider": "yahooFinance",
  "action": "getSymbolNews",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "count", "parameterValue": "0" }
  ],
  "contextPropertyName": "getSymbolNewsResult"
}

MScript example:

await _yahooFinance.getSymbolNews({
  symbol: /* string */,
  count: /* number */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getSymbolNews({
  symbol: /* string */,
  count: /* number */,
});

search

Search Symbols & Companies

Searches Yahoo Finance for tickers, companies, ETFs, and other instruments. Returns matched quotes, news articles, and navigation suggestions.

Parameters:

ParameterTypeRequiredDescription
querystringYesSearch query (e.g., "Apple", "AAPL", "S&P 500")
quotesCountnumberNoNumber of quote results (max 20)
newsCountnumberNoNumber of news results (max 10)
regionstringNoMarket region
langstringNoResponse language

Returns: Promise\<Object\>

{
  query: string,
  quotes: Array<{
    symbol: string,
    shortname: string,
    longname: string,
    exchange: string,
    exchDisp: string,
    quoteType: string,
    sector: string,
    industry: string,
    isYahooFinance: boolean
  }>,
  news: Array<{
    uuid: string,
    title: string,
    publisher: string,
    link: string,
    providerPublishTime: number,
    type: string
  }>,
  count: number
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "searchAction",
  "provider": "yahooFinance",
  "action": "search",
  "parameters": [
    { "parameterName": "query", "parameterValue": "'your-query'" },
    { "parameterName": "quotesCount", "parameterValue": "0" },
    { "parameterName": "newsCount", "parameterValue": "0" },
    { "parameterName": "region", "parameterValue": "'your-region'" },
    { "parameterName": "lang", "parameterValue": "'your-lang'" }
  ],
  "contextPropertyName": "searchResult"
}

MScript example:

await _yahooFinance.search({
  query: /* string */,
  quotesCount: /* number */,
  newsCount: /* number */,
  region: /* string */,
  lang: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.search({
  query: /* string */,
  quotesCount: /* number */,
  newsCount: /* number */,
  region: /* string */,
  lang: /* string */,
});

Dividends

getDividendsAndSplits

Get Dividends & Splits History

Returns historical dividend payment data for a symbol including ex-dividend dates and amounts. Also includes historical stock split events.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
period1numberNoStart date as Unix timestamp (seconds). Defaults to 10 years ago.
period2numberNoEnd date as Unix timestamp (seconds). Defaults to now.
regionstringNoMarket region

Returns: Promise\<Object\>

{
  symbol: string,
  dividends: Array<{
    date: number,
    amount: number
  }>,
  splits: Array<{
    date: number,
    numerator: number,
    denominator: number,
    splitRatio: string
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getDividendsAndSplitsAction",
  "provider": "yahooFinance",
  "action": "getDividendsAndSplits",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "period1", "parameterValue": "0" },
    { "parameterName": "period2", "parameterValue": "0" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getDividendsAndSplitsResult"
}

MScript example:

await _yahooFinance.getDividendsAndSplits({
  symbol: /* string */,
  period1: /* number */,
  period2: /* number */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getDividendsAndSplits({
  symbol: /* string */,
  period1: /* number */,
  period2: /* number */,
  region: /* string */,
});

Earnings

getEarningsCalendar

Get Earnings Calendar

Returns the upcoming and historical earnings calendar for a symbol including EPS estimates vs actuals, earnings dates, and surprise percentages.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
regionstringNoMarket region

Returns: Promise\<Object\>

{
  symbol: string,
  earningsDate: Array<number>,
  earningsCallTime: string,
  earningsTimestamp: number,
  earningsTimestampStart: number,
  earningsTimestampEnd: number,
  epsTrailingTwelveMonths: number,
  epsForward: number,
  epsCurrentYear: number,
  priceEpsCurrentYear: number,
  earningsHistory: Array<{
    epsActual: number,
    epsEstimate: number,
    epsDifference: number,
    surprisePercent: number,
    quarter: string
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getEarningsCalendarAction",
  "provider": "yahooFinance",
  "action": "getEarningsCalendar",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getEarningsCalendarResult"
}

MScript example:

await _yahooFinance.getEarningsCalendar({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getEarningsCalendar({
  symbol: /* string */,
  region: /* string */,
});

Ownership

getHolders

Get Holders & Ownership

Returns institutional and mutual fund holder data plus insider transaction history. Useful for understanding ownership concentration and insider sentiment.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
regionstringNoMarket region

Returns: Promise\<Object\>

{
  symbol: string,
  institutionalHolders: Array<{
    organization: string,
    pctHeld: number,
    position: number,
    value: number,
    reportDate: string
  }>,
  mutualFundHolders: Array<{
    organization: string,
    pctHeld: number,
    position: number,
    value: number,
    reportDate: string
  }>,
  insiderHolders: Array<{
    name: string,
    relation: string,
    description: string,
    latestTransDate: string,
    positionDirect: number,
    positionDirectDate: string
  }>,
  insiderTransactions: Array<{
    filerName: string,
    transactionText: string,
    relation: string,
    moneyText: string,
    ownership: string,
    startDate: string,
    value: number,
    shares: number
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getHoldersAction",
  "provider": "yahooFinance",
  "action": "getHolders",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getHoldersResult"
}

MScript example:

await _yahooFinance.getHolders({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getHolders({
  symbol: /* string */,
  region: /* string */,
});

ESG

getESGScores

Get ESG Sustainability Scores

Returns ESG (Environmental, Social, Governance) sustainability scores for a company. Includes peer comparison scores, controversy level, and involvement flags.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "MSFT")
regionstringNoMarket region

Returns: Promise<{symbol: string, totalEsg: number, environmentScore: number, socialScore: number, governanceScore: number, esgPerformance: string, peerCount: number, percentile: number, peerEnvironmentPerformance: Object, peerSocialPerformance: Object, peerGovernancePerformance: Object, controversyLevel: number, highestControversy: number, relatedControversy: Array<string>}>

FieldType
symbolstring
totalEsgnumber
environmentScorenumber
socialScorenumber
governanceScorenumber
esgPerformancestring
peerCountnumber
percentilenumber
peerEnvironmentPerformanceObject
peerSocialPerformanceObject
peerGovernancePerformanceObject
controversyLevelnumber
highestControversynumber
relatedControversyArray<string>

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getESGScoresAction",
  "provider": "yahooFinance",
  "action": "getESGScores",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getESGScoresResult"
}

MScript example:

await _yahooFinance.getESGScores({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getESGScores({
  symbol: /* string */,
  region: /* string */,
});

Recommendations

getRecommendedSymbols

Get Recommended Similar Stocks

Returns stocks that Yahoo Finance recommends as similar to the given symbol. Based on Yahoo Finance's "People also watch" and recommendation engine.

Parameters:

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g., "AAPL")
regionstringNoMarket region

Returns: Promise\<Object\>

{
  symbol: string,
  recommendedSymbols: Array<{
    symbol: string,
    score: number
  }>
}

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getRecommendedSymbolsAction",
  "provider": "yahooFinance",
  "action": "getRecommendedSymbols",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" },
    { "parameterName": "region", "parameterValue": "'your-region'" }
  ],
  "contextPropertyName": "getRecommendedSymbolsResult"
}

MScript example:

await _yahooFinance.getRecommendedSymbols({
  symbol: /* string */,
  region: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getRecommendedSymbols({
  symbol: /* string */,
  region: /* string */,
});

Forex

getExchangeRate

Get Currency Exchange Rate

Returns the current exchange rate between two currencies using Yahoo Finance's forex quote feed. Pair format follows Yahoo convention: "EURUSD=X".

Parameters:

ParameterTypeRequiredDescription
fromCurrencystringYesSource currency ISO code (e.g., "EUR")
toCurrencystringYesTarget currency ISO code (e.g., "USD")

Returns: Promise<{pair: string, fromCurrency: string, toCurrency: string, rate: number, bid: number, ask: number, regularMarketChange: number, regularMarketChangePercent: number, timestamp: number}>

FieldType
pairstring
fromCurrencystring
toCurrencystring
ratenumber
bidnumber
asknumber
regularMarketChangenumber
regularMarketChangePercentnumber
timestampnumber

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getExchangeRateAction",
  "provider": "yahooFinance",
  "action": "getExchangeRate",
  "parameters": [
    { "parameterName": "fromCurrency", "parameterValue": "'your-fromCurrency'" },
    { "parameterName": "toCurrency", "parameterValue": "'your-toCurrency'" }
  ],
  "contextPropertyName": "getExchangeRateResult"
}

MScript example:

await _yahooFinance.getExchangeRate({
  fromCurrency: /* string */,
  toCurrency: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getExchangeRate({
  fromCurrency: /* string */,
  toCurrency: /* string */,
});

getExchangeRateHistory

Get Currency Exchange Rate History

Returns historical exchange rate data between two currencies over a specified range. Useful for building currency performance charts or backtesting models.

Parameters:

ParameterTypeRequiredDescription
fromCurrencystringYesSource currency ISO code (e.g., "EUR")
toCurrencystringYesTarget currency ISO code (e.g., "USD")
intervalstringNoData granularity
rangestringNoLook-back range

Returns: Promise<{pair: string, fromCurrency: string, toCurrency: string, timestamps: Array<number>, opens: Array<number>, highs: Array<number>, lows: Array<number>, closes: Array<number>}>

FieldType
pairstring
fromCurrencystring
toCurrencystring
timestampsArray<number>
opensArray<number>
highsArray<number>
lowsArray<number>
closesArray<number>

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getExchangeRateHistoryAction",
  "provider": "yahooFinance",
  "action": "getExchangeRateHistory",
  "parameters": [
    { "parameterName": "fromCurrency", "parameterValue": "'your-fromCurrency'" },
    { "parameterName": "toCurrency", "parameterValue": "'your-toCurrency'" },
    { "parameterName": "interval", "parameterValue": "'your-interval'" },
    { "parameterName": "range", "parameterValue": "'your-range'" }
  ],
  "contextPropertyName": "getExchangeRateHistoryResult"
}

MScript example:

await _yahooFinance.getExchangeRateHistory({
  fromCurrency: /* string */,
  toCurrency: /* string */,
  interval: /* string */,
  range: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getExchangeRateHistory({
  fromCurrency: /* string */,
  toCurrency: /* string */,
  interval: /* string */,
  range: /* string */,
});

Crypto

getCryptoQuote

Get Cryptocurrency Quote

Returns the current quote for a cryptocurrency pair using Yahoo Finance's crypto feed. Symbol format follows Yahoo convention: "BTC-USD".

Parameters:

ParameterTypeRequiredDescription
symbolstringYesCrypto pair symbol (e.g., "BTC-USD", "ETH-USD")

Returns: Promise<{symbol: string, shortName: string, regularMarketPrice: number, regularMarketChange: number, regularMarketChangePercent: number, regularMarketVolume: number, marketCap: number, circulatingSupply: number, volume24Hr: number, volumeAllCurrencies: number, fromCurrency: string, toCurrency: string, lastMarket: string}>

FieldType
symbolstring
shortNamestring
regularMarketPricenumber
regularMarketChangenumber
regularMarketChangePercentnumber
regularMarketVolumenumber
marketCapnumber
circulatingSupplynumber
volume24Hrnumber
volumeAllCurrenciesnumber
fromCurrencystring
toCurrencystring
lastMarketstring

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getCryptoQuoteAction",
  "provider": "yahooFinance",
  "action": "getCryptoQuote",
  "parameters": [
    { "parameterName": "symbol", "parameterValue": "'your-symbol'" }
  ],
  "contextPropertyName": "getCryptoQuoteResult"
}

MScript example:

await _yahooFinance.getCryptoQuote({
  symbol: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("yahooFinance");
const result = await client.getCryptoQuote({
  symbol: /* string */,
});