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:
| Parameter | Type | Required | Description |
|---|---|---|---|
rapidApiKey | string | No | RapidAPI key for Yahoo Finance (needed only when useRapidApi is true) |
useRapidApi | boolean | No | Route requests through RapidAPI for higher rate limits |
timeout | number | No | HTTP request timeout in milliseconds |
userAgent | string | No | Custom 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:
- For basic/unauthenticated access set
useRapidApitofalse— no credentials needed. - For higher rate limits, visit https://rapidapi.com and create a free account.
- Subscribe to the "Yahoo Finance" API by apidojo at https://rapidapi.com/apidojo/api/yahoo-finance1.
- Copy your X-RapidAPI-Key from the RapidAPI dashboard (My Apps → Security).
- Pass the key as
rapidApiKeyand setuseRapidApi: truein the config.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| rapidApiKey | string | No | RapidAPI key for Yahoo Finance (required only when useRapidApi is true) |
| useRapidApi | boolean | No | When true, routes all requests through RapidAPI host (default: false) |
| timeout | number | No | Request timeout in milliseconds (default: 15000) |
| userAgent | string | No | Custom 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbols | string | Yes | Comma-separated ticker symbols (e.g., "AAPL,MSFT,TSLA") |
region | string | No | Market region |
lang | string | No | Response 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
region | string | No | Market 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}>
| Field | Type |
|---|---|
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 |
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
interval | string | No | Data granularity |
range | string | No | Look-back range |
region | string | No | Market region |
includePrePost | boolean | No | Include 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}>
| Field | Type |
|---|---|
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 |
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
period1 | number | Yes | Start date as Unix timestamp (seconds) |
period2 | number | Yes | End date as Unix timestamp (seconds) |
interval | string | No | Data granularity |
region | string | No | Market 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}>
| Field | Type |
|---|---|
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 |
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
modules | string | No | Comma-separated module names |
region | string | No | Market region |
Returns: Promise<{symbol: string, assetProfile: Object, summaryDetail: Object, financialData: Object, defaultKeyStatistics: Object, incomeStatementHistory: Object, balanceSheetHistory: Object, cashflowStatementHistory: Object, earningsTrend: Object}>
| Field | Type |
|---|---|
symbol | string |
assetProfile | Object |
summaryDetail | Object |
financialData | Object |
defaultKeyStatistics | Object |
incomeStatementHistory | Object |
balanceSheetHistory | Object |
cashflowStatementHistory | Object |
earningsTrend | Object |
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "MSFT") |
region | string | No | Market 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "MSFT") |
region | string | No | Market 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "MSFT") |
region | string | No | Market 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
region | string | No | Market 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}>
| Field | Type |
|---|---|
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 |
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
region | string | No | Market 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
region | string | No | Market 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
date | number | No | Expiration date as Unix timestamp (seconds). Defaults to nearest expiry. |
region | string | No | Market 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
region | string | No | Market region |
lang | string | No | Response 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
region | string | No | Market region to get trending tickers for |
count | number | No | Number 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
region | string | No | Market region |
start | number | No | Offset for pagination |
count | number | No | Number 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
count | number | No | Number 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
Search Symbols & Companies
Searches Yahoo Finance for tickers, companies, ETFs, and other instruments. Returns matched quotes, news articles, and navigation suggestions.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query (e.g., "Apple", "AAPL", "S&P 500") |
quotesCount | number | No | Number of quote results (max 20) |
newsCount | number | No | Number of news results (max 10) |
region | string | No | Market region |
lang | string | No | Response 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
period1 | number | No | Start date as Unix timestamp (seconds). Defaults to 10 years ago. |
period2 | number | No | End date as Unix timestamp (seconds). Defaults to now. |
region | string | No | Market 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
region | string | No | Market 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
region | string | No | Market 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "MSFT") |
region | string | No | Market 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>}>
| Field | Type |
|---|---|
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> |
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Ticker symbol (e.g., "AAPL") |
region | string | No | Market 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
fromCurrency | string | Yes | Source currency ISO code (e.g., "EUR") |
toCurrency | string | Yes | Target 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}>
| Field | Type |
|---|---|
pair | string |
fromCurrency | string |
toCurrency | string |
rate | number |
bid | number |
ask | number |
regularMarketChange | number |
regularMarketChangePercent | number |
timestamp | number |
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
fromCurrency | string | Yes | Source currency ISO code (e.g., "EUR") |
toCurrency | string | Yes | Target currency ISO code (e.g., "USD") |
interval | string | No | Data granularity |
range | string | No | Look-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>}>
| Field | Type |
|---|---|
pair | string |
fromCurrency | string |
toCurrency | string |
timestamps | Array<number> |
opens | Array<number> |
highs | Array<number> |
lows | Array<number> |
closes | Array<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:
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Crypto 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}>
| Field | Type |
|---|---|
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 |
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 */,
});
Related
Last updated Mar 20, 2026
Built with Documentation.AI