finance-query-mcp MCP tools#
Generated by
cargo soothfast spec htmlfrommcp-tools.json(MCP tool manifest). Regenerate withcargo soothfast spec gen+spec html; do not hand-edit.
63 tool(s).
get_analysisGet analyst data for a stock: recommendation trends, upgrades/downgrades, earnings estimates, or earnings history.
Arguments
{
"analysis_type": "recommendations",
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
analysis_type | AnalysisType | required | Analysis type: recommendations | upgrades-downgrades | earnings-estimate | earnings-history |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
symbol | string | required | Stock ticker symbol |
Types
AnalysisType
one of: "recommendations", "upgrades-downgrades", "earnings-estimate", "earnings-history"
get_calendarGet a time-sorted calendar of upcoming financial events (earnings with estimates, ex-dividend and dividend-payment dates, options expirations, and — when FRED is configured — market-wide economic releases) across multiple symbols. Answers 'what's coming up for my portfolio?' in one call.
Arguments
{
"fields": "string",
"range": "1d",
"symbols": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
range | TimeRange | optional | Forward time window: 1d|5d|1mo|3mo|6mo|1y|2y|5y|10y|ytd|max (default: 1mo) |
symbols | string | required | Comma-separated list of ticker symbols (e.g., "AAPL,MSFT,TSLA") |
Types
TimeRange
one of: "1d", "5d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max"
get_chartGet historical OHLCV candlestick chart data for one or more stock symbols (comma-separated). A single symbol supports start/end absolute timestamps and returns one chart; multiple symbols return a batch of charts plus per-symbol errors (interval/range only, no start/end).
Arguments
{
"cursor": "string",
"end": 0,
"fields": "string",
"interval": "1m",
"limit": 0,
"range": "1d",
"start": 0,
"symbols": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
end | integer | optional | End date as Unix timestamp (seconds). Defaults to now when `start` is set. |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
interval | Interval | optional | Candle interval: 1m|5m|15m|30m|1h|1d|1wk|1mo|3mo (default: 1d) |
limit | integer | optional | Maximum candles per page; omitted = curated default (25) |
range | TimeRange | optional | Time range: 1d|5d|1mo|3mo|6mo|1y|2y|5y|10y|ytd|max (default: 1mo). Ignored when `start` is set. |
start | integer | optional | Start date as Unix timestamp (seconds). When provided, overrides `range`. |
symbols | string | required | One or more comma-separated ticker symbols (e.g., "AAPL" or "AAPL,MSFT,GOOG") |
Types
Interval
one of: "1m", "2m", "5m", "15m", "30m", "1h", "90m", "1d", "5d", "1wk", "1mo", "3mo"
TimeRange
one of: "1d", "5d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max"
get_commodityGet a commodity's current quote (e.g. gold, silver, crude oil), provider-routed (Yahoo, keyless).
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
symbol | string | required | Commodity symbol (e.g. "GCUSD" for gold, "CLUSD" for crude oil) |
get_company_profileA company's identity/classification profile (name, description, asset type, exchange, currency, country, sector, industry, market capitalization).
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
symbol | string | required | Stock ticker symbol |
get_congressional_tradesCongressional trading disclosures for a symbol, FMP when keyed and keyless House PTR filings otherwise.
Arguments
{
"cursor": "string",
"fields": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
limit | integer | optional | Maximum entries per page; omitted = curated default (25) |
symbol | string | required | Stock ticker symbol |
get_cryptoGet top cryptocurrency coins by market cap from CoinGecko (no API key required).
Arguments
{
"count": 0,
"cursor": "string",
"fields": "string",
"limit": 0,
"vs_currency": "string"
}| field | type | required | description |
|---|---|---|---|
count | integer | optional | Number of top coins to return (default: 50, max: 250) |
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
limit | integer | optional | Maximum coins per page; omitted = curated default (25) |
vs_currency | string | optional | Quote currency (default: usd) |
get_crypto_newsMarket-wide crypto news (currently FMP only, requires FMP_API_KEY).
Arguments
{
"count": 0,
"cursor": "string",
"fields": "string",
"limit": 0
}| field | type | required | description |
|---|---|---|---|
count | integer | optional | Overall cap on articles fetched (default: 20) |
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
limit | integer | optional | Maximum articles per page; omitted = curated default (25) |
get_dividendsGet dividend history for one or more dividend-paying stocks (comma-separated symbols). A single symbol returns paginated dividend history plus analytics (CAGR, average payment, payout count); multiple symbols return a batch of dividend histories plus per-symbol errors (no analytics for batch).
Arguments
{
"cursor": "string",
"fields": "string",
"limit": 0,
"range": "1d",
"symbols": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
limit | integer | optional | Maximum dividend payments per page; omitted = curated default (25) |
range | TimeRange | optional | Time range: 1y|2y|5y|10y|max (default: max) |
symbols | string | required | One or more comma-separated ticker symbols (e.g., "AAPL" or "AAPL,KO,JNJ") |
Types
TimeRange
one of: "1d", "5d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max"
get_earnings_surprisesA stock's earnings-surprise history (actual vs. estimated EPS).
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
symbol | string | required | Stock ticker symbol |
get_earnings_transcriptAn earnings call transcript for a symbol, latest when quarter and year are omitted.
Arguments
{
"fields": "string",
"quarter": "Q1",
"symbol": "string",
"year": 0
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
quarter | Quarter | optional | Fiscal quarter (Q1, Q2, Q3, Q4). Required alongside `year` for providers with no "latest" shortcut (Alpha Vantage); Yahoo defaults to latest when omitted |
symbol | string | required | Stock ticker symbol |
year | integer | optional | Fiscal year. See `quarter` |
Types
Quarter
one of: "Q1", "Q2", "Q3", "Q4"
get_edgar_factsGet SEC EDGAR XBRL structured financial data (all reported accounting concepts) for a company. Requires EDGAR_EMAIL env var.
Arguments
{
"concepts": "string",
"cursor": "string",
"fields": "string",
"limit": 0,
"symbol": "string",
"taxonomy": "string"
}| field | type | required | description |
|---|---|---|---|
concepts | string | optional | Comma-separated XBRL concept names to filter to (e.g. "Revenues,Assets"); omitted = curated defaults (headline financials) |
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated GraphQL sub-fields to include per concept (e.g. "concept,dataPoints"); omitted = curated default set |
limit | integer | optional | Maximum data points per concept per page; omitted = curated default (25). Applied uniformly across every returned concept. |
symbol | string | required | Stock ticker symbol (e.g., "AAPL", "MSFT", "TSLA") |
taxonomy | string | optional | XBRL taxonomy (default: "us-gaap"); also try "ifrs-full" or "dei" |
get_edgar_searchFull-text search across SEC EDGAR filings with optional form type and date filters. Requires EDGAR_EMAIL env var.
Arguments
{
"end_date": "string",
"forms": "string",
"from": 0,
"query": "string",
"size": 0,
"start_date": "string"
}| field | type | required | description |
|---|---|---|---|
end_date | string | optional | End date filter in YYYY-MM-DD format |
forms | string | optional | Comma-separated form types to filter (e.g., "10-K,10-Q,8-K") |
from | integer | optional | Pagination offset; omitted = 0 (first page) |
query | string | required | Search query (keywords in filing text) |
size | integer | optional | Page size; omitted = 100, max 100 |
start_date | string | optional | Start date filter in YYYY-MM-DD format |
get_edgar_submissionsGet SEC filing history and company metadata from EDGAR (up to 1000 most recent filings). Requires EDGAR_EMAIL env var.
Arguments
{
"cursor": "string",
"fields": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
limit | integer | optional | Maximum filings per page; omitted = curated default (25) |
symbol | string | required | Stock ticker symbol (e.g., "AAPL", "MSFT", "TSLA") |
get_etf_profileGet an ETF's profile and holdings (net assets, expense ratio, sector/country weightings, top holdings).
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
symbol | string | required | ETF ticker symbol |
get_executive_compensationDisclosed executive compensation by year.
Arguments
{
"cursor": "string",
"fields": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default |
limit | integer | optional | Maximum entries per page; omitted = curated default (25) |
symbol | string | required | Stock ticker symbol |
get_fails_to_deliverFails-to-deliver records for a symbol, FMP when keyed and keyless EDGAR otherwise.
Arguments
{
"cursor": "string",
"fields": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
limit | integer | optional | Maximum entries per page; omitted = curated default (25) |
symbol | string | required | Stock ticker symbol |
get_fear_and_greedGet the CNN Fear & Greed Index — market sentiment from extreme fear (0) to extreme greed (100).
Arguments
{
"fields": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
get_feedsFetch RSS/Atom news from financial publishers (Bloomberg, WSJ, MarketWatch, FT, SEC, etc.).
Arguments
{
"cursor": "string",
"fields": "string",
"limit": 0,
"sources": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
limit | integer | optional | Maximum entries per page; omitted = curated default (25) |
sources | string | optional | Comma-separated feed sources: federal-reserve|sec|marketwatch|cnbc|bloomberg|ft|nyt| guardian|investing|bea|ecb|cfpb|wsj|fortune|businesswire|coindesk|cointelegraph| techcrunch|hackernews|oilprice|calculatedrisk|scmp|nikkei|boe|venturebeat|yc| economist|financialpost|ftlex|ritholtz (default: marketwatch, bloomberg, wsj, fortune) |
get_filing_sectionsGet sectioned text of one SEC filing by accession number (10-K or 8-K). Routes through EDGAR (best-effort HTML extraction) or Polygon when configured.
Arguments
{
"accession_number": "string",
"fields": "string",
"form": "ten-k",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
accession_number | string | required | SEC accession number, e.g. "0000320193-24-000123" |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
form | FilingSectionFormParam | required | Which filing form to fetch sectioned text for: ten-k | eight-k |
symbol | string | required | Stock ticker symbol |
Types
FilingSectionFormParam
one of: "ten-k", "eight-k"
get_financialsGet income statement, balance sheet, or cash flow statement for one or more stock symbols (comma-separated). A single symbol returns one statement; multiple symbols return a batch plus per-symbol errors.
Arguments
{
"fields": "string",
"frequency": "annual",
"metrics": "string",
"statement": "income",
"symbols": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
frequency | Frequency | optional | Reporting frequency: annual | quarterly (default: annual) |
metrics | string | optional | Comma-separated list of line-item metrics to filter to; omitted = all reported metrics |
statement | StatementType | required | Statement type: income | balance | cashflow |
symbols | string | required | One or more comma-separated ticker symbols (e.g., "AAPL" or "AAPL,MSFT,GOOGL") |
Types
Frequency
one of: "annual", "quarterly"
StatementType
one of: "income", "balance", "cashflow"
get_forexA currency pair's current exchange rate, provider-routed (Capability::FOREX).
Arguments
{
"fields": "string",
"from": "string",
"to": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
from | string | required | Base currency code (e.g. "USD") |
to | string | required | Quote currency code (e.g. "EUR") |
get_forex_newsMarket-wide forex news (currently FMP only, requires FMP_API_KEY).
Arguments
{
"count": 0,
"cursor": "string",
"fields": "string",
"limit": 0
}| field | type | required | description |
|---|---|---|---|
count | integer | optional | Overall cap on articles fetched (default: 20) |
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
limit | integer | optional | Maximum articles per page; omitted = curated default (25) |
get_fred_seriesGet FRED macroeconomic time series data (e.g., FEDFUNDS, CPIAUCSL, GDP, UNRATE). Requires FRED_API_KEY env var.
Arguments
{
"as_of": "string",
"cursor": "string",
"fields": "string",
"id": "string",
"limit": 0
}| field | type | required | description |
|---|---|---|---|
as_of | string | optional | Vintage date (YYYY-MM-DD): the series as it stood then, before later revisions; omitted = latest |
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
id | string | required | FRED series ID (e.g., "FEDFUNDS", "CPIAUCSL", "GDP", "UNRATE") |
limit | integer | optional | Maximum observations per page; omitted = curated default (25) |
get_futuresGet a futures contract's current quote, provider-routed (Yahoo, keyless).
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
symbol | string | required | Futures contract symbol (e.g. "ESM26" for E-mini S&P June 2026) |
get_grading_actionsProvider-routed analyst upgrades and downgrades.
Arguments
{
"cursor": "string",
"fields": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default |
limit | integer | optional | Maximum entries per page; omitted = curated default (25) |
symbol | string | required | Stock ticker symbol |
get_holdersGet ownership data for a stock: major holders, institutional/fund ownership, or insider activity.
Arguments
{
"cursor": "string",
"fields": "string",
"holder_type": "major",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
holder_type | HolderType | required | Holder type: major | institutional | mutualfund | insider-transactions | insider-purchases | insider-roster |
limit | integer | optional | Maximum entries per page for holder types with a list (institutional, mutualfund, insider-transactions, insider-roster); omitted = curated default (25). No-op for major/insider-purchases (no list). |
symbol | string | required | Stock ticker symbol |
Types
HolderType
one of: "major", "institutional", "mutualfund", "insider-transactions", "insider-purchases", "insider-roster"
get_index_constituent_changesAdditions and removals from an index's constituent list.
Arguments
{
"cursor": "string",
"fields": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
limit | integer | optional | Maximum entries per page; omitted = curated default (25) |
symbol | string | required | Index symbol (e.g. ^GSPC) |
get_index_constituentsGet an index's current constituent list, provider-routed (Wikipedia, S&P 500 only).
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
symbol | string | required | Index symbol (e.g. "^GSPC" for the S&P 500; Wikipedia-backed, S&P 500 only) |
get_indicatorsGet all 42 technical analysis indicators (SMA, EMA, RSI, MACD, Bollinger Bands, Ichimoku, etc.) for one or more stock symbols (comma-separated). A single symbol returns one indicators object; multiple symbols return a paginated batch plus per-symbol errors.
Arguments
{
"cursor": "string",
"fields": "string",
"interval": "1m",
"limit": 0,
"range": "1d",
"symbols": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
interval | Interval | optional | Candle interval: 1d|1wk|1mo (default: 1d) |
limit | integer | optional | Maximum symbols per page (only applies when multiple symbols given); omitted = curated default (25) |
range | TimeRange | optional | Time range: 1mo|3mo|6mo|1y|2y|5y (default: 1y) |
symbols | string | required | One or more comma-separated ticker symbols (e.g., "AAPL" or "AAPL,MSFT,GOOG") |
Types
Interval
one of: "1m", "2m", "5m", "15m", "30m", "1h", "90m", "1d", "5d", "1wk", "1mo", "3mo"
TimeRange
one of: "1d", "5d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max"
get_indicesGet world market indices (S&P 500, DAX, Nikkei, etc.), optionally filtered by region.
Arguments
{
"fields": "string",
"region": "americas"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
region | indices_Region | optional | Region: americas|europe|asia-pacific|middle-east-africa|currencies (default: all) |
Types
indices_Region
one of: "americas", "europe", "asia-pacific", "middle-east-africa", "currencies"
get_industryGet comprehensive industry data (overview, performance, top companies) for a specific industry slug.
Arguments
{
"fields": "string",
"industry": "agricultural-inputs",
"lang": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
industry | Industry | required | Industry slug (e.g., semiconductors, biotechnology, banks-diversified) |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); English or omitted = no translation |
Types
Industry
one of: "agricultural-inputs", "aluminum", "coal", "copper", "farm-products", "forest-products", "gold", "lumber-wood-production", "other-industrial-metals-mining", "other-precious-metals-mining", "silver", "steel", "thermal-coal", "uranium", "apparel-manufacturing", "apparel-retail", "auto-truck-dealerships", "auto-manufacturers", "auto-parts", "beverages-brewers", "beverages-non-alcoholic", "beverages-wineries-distilleries", "confectioners", "department-stores", "discount-stores", "electronic-gaming-multimedia", "food-distribution", "footwear-accessories", "furnishings-fixtures-appliances", "gambling", "grocery-stores", "home-improvement-retail", "household-personal-products", "internet-retail", "leisure", "lodging", "luxury-goods", "packaged-foods", "personal-services", "residential-construction", "resorts-casinos", "restaurants", "specialty-retail", "textile-manufacturing", "tobacco", "travel-services", "oil-gas-drilling", "oil-gas-ep", "oil-gas-equipment-services", "oil-gas-integrated", "oil-gas-midstream", "oil-gas-refining-marketing", "solar", "asset-management", "banks-diversified", "banks-regional", "capital-markets", "credit-services", "financial-data-stock-exchanges", "insurance-brokers", "insurance-diversified", "insurance-life", "insurance-property-casualty", "insurance-reinsurance", "insurance-specialty", "mortgage-finance", "shell-companies", "biotechnology", "diagnostics-research", "drug-manufacturers-general", "drug-manufacturers-specialty-generic", "health-information-services", "healthcare-plans", "medical-care-facilities", "medical-devices", "medical-distribution", "medical-instruments-supplies", "pharmaceutical-retailers", "aerospace-defense", "building-materials", "building-products-equipment", "business-equipment-supplies", "chemical-manufacturing", "chemicals", "conglomerates", "consulting-services", "electrical-equipment-parts", "engineering-construction", "farm-heavy-construction-machinery", "industrial-distribution", "infrastructure-operations", "integrated-freight-logistics", "manufacturing-diversified", "marine-ports-services", "marine-shipping", "metal-fabrication", "paper-paper-products", "pollution-treatment-controls", "railroads", "rental-leasing-services", "security-protection-services", "specialty-business-services", "specialty-chemicals", "specialty-industrial-machinery", "staffing-employment-services", "tools-accessories", "trucking", "waste-management", "real-estate-development", "real-estate-diversified", "real-estate-services", "reit-diversified", "reit-healthcare-facilities", "reit-hotel-motel", "reit-industrial", "reit-mortgage", "reit-office", "reit-residential", "reit-retail", "reit-specialty", "communication-equipment", "computer-hardware", "consumer-electronics", "data-analytics", "electronic-components", "electronics-computer-distribution", "hardware-software-distribution", "information-technology-services", "internet-content-information", "scientific-technical-instruments", "semiconductor-equipment-materials", "semiconductors", "software-application", "software-infrastructure", "broadcasting", "entertainment", "publishing", "telecom-services", "utilities-diversified", "utilities-independent-power-producers", "utilities-regulated-electric", "utilities-regulated-gas", "utilities-regulated-water", "utilities-renewable", "closed-end-fund-debt", "closed-end-fund-equity", "closed-end-fund-foreign", "exchange-traded-fund"
get_key_metrics_ttmTrailing-twelve-month key metrics.
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default |
symbol | string | required | Stock ticker symbol |
get_market_calendarGet a market-wide event calendar over a date range: earnings, IPOs, dividends, splits, economic releases, market holidays, or live exchange open/closed status. Unlike get_calendar (per-symbol), this spans the whole market.
Arguments
{
"fields": "string",
"from": "string",
"kind": "earnings",
"to": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
from | string | optional | Start date (YYYY-MM-DD); ignored by market-holiday/market-status |
kind | MarketCalendarKindParam | required | Which market-wide calendar to fetch: earnings | ipo | dividend | split | economic | market-holiday | market-status |
to | string | optional | End date (YYYY-MM-DD); ignored by market-holiday/market-status |
Types
MarketCalendarKindParam
one of: "earnings", "ipo", "dividend", "split", "economic", "market-holiday", "market-status"
get_market_hoursGet current market hours and open/closed status for a region.
Arguments
{
"fields": "string",
"region": "AR"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
region | Region | optional | Region code: US|GB|DE|CA|AU|FR|IN|CN|HK|BR|TW|SG (default: US) |
Types
Region
one of: "AR", "AU", "BR", "CA", "CN", "DK", "FI", "FR", "DE", "GR", "HK", "IN", "IL", "IT", "JP", "KR", "MY", "MX", "NZ", "NO", "PT", "QA", "RU", "SG", "ES", "SE", "TW", "TH", "TR", "GB", "US", "VN"
get_market_summaryGet market overview with major indices and currencies for a region.
Arguments
{
"fields": "string",
"lang": "string",
"region": "AR"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); English or omitted = no translation |
region | Region | optional | Region code: US|GB|DE|CA|AU|FR|IN|CN|HK|BR|TW|SG (default: US) |
Types
Region
one of: "AR", "AU", "BR", "CA", "CN", "DK", "FI", "FR", "DE", "GR", "HK", "IN", "IL", "IT", "JP", "KR", "MY", "MX", "NZ", "NO", "PT", "QA", "RU", "SG", "ES", "SE", "TW", "TH", "TR", "GB", "US", "VN"
get_newsGet recent news. If a symbol is provided, returns news for that stock; otherwise returns general market news.
Arguments
{
"cursor": "string",
"fields": "string",
"lang": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); English or omitted = no translation |
limit | integer | optional | Maximum articles per page; omitted = curated default (25) |
symbol | string | optional | Stock ticker symbol (optional; omit for general market news) |
get_optionsGet the options chain for a symbol. Provide an expiration timestamp to get a specific expiry, or omit for the nearest expiration.
Arguments
{
"cursor": "string",
"expiration": 0,
"fields": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor` (applied to both calls and puts); omitted = first page |
expiration | integer | optional | Expiration date as Unix timestamp in seconds (optional; defaults to nearest expiration) |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
limit | integer | optional | Maximum contracts per side (calls/puts) per page; omitted = curated default (25) |
symbol | string | required | Stock ticker symbol |
get_press_releasesGet a company's own press releases, distinct from get_news (press coverage). Routes through EDGAR 8-K exhibits, falling back to FMP/Alpha Vantage when configured.
Arguments
{
"fields": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
limit | integer | optional | Maximum number of releases to return (default: 10) |
symbol | string | required | Stock ticker symbol |
get_price_target_consensusGet a stock's consensus analyst price target (high/low/mean/median).
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
symbol | string | required | Stock ticker symbol |
get_price_target_summaryAnalyst price-target counts and averages per window.
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default |
symbol | string | required | Stock ticker symbol |
get_protocol_tvlA DeFi protocol's total value locked and per-chain split.
Arguments
{
"fields": "string",
"id": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
id | string | required | CoinGecko coin id (e.g. aave) |
get_protocol_tvl_historyA DeFi protocol's TVL history, oldest first.
Arguments
{
"cursor": "string",
"fields": "string",
"id": "string",
"limit": 0
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
id | string | required | CoinGecko coin id (e.g. aave) |
limit | integer | optional | Maximum entries per page; omitted = curated default (25) |
get_quoteGet current quote and company data (price, market cap, PE ratio, 52-week range, etc.) for one or more stock symbols (comma-separated). A single symbol returns one quote object; multiple symbols return a paginated batch of quotes plus per-symbol errors.
Arguments
{
"cursor": "string",
"fields": "string",
"lang": "string",
"limit": 0,
"symbols": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); English or omitted = no translation |
limit | integer | optional | Maximum symbols per page; omitted = curated default (25) |
symbols | string | required | Comma-separated list of ticker symbols (e.g., "AAPL,MSFT,GOOG") |
get_rating_consensusGet a stock's consensus analyst rating rollup (strong buy/buy/hold/sell/strong sell counts and a headline consensus label).
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
symbol | string | required | Stock ticker symbol |
get_ratios_ttmTrailing-twelve-month financial ratios.
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default |
symbol | string | required | Stock ticker symbol |
get_recommendationsGet similar stock recommendations and analyst ratings for a symbol.
Arguments
{
"fields": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
limit | integer | optional | Maximum number of recommendations to return (default: 5) |
symbol | string | required | Stock ticker symbol |
get_riskGet risk analytics: VaR (95/99%), Sharpe/Sortino/Calmar ratios, beta, and maximum drawdown for a symbol.
Arguments
{
"benchmark": "string",
"fields": "string",
"interval": "1m",
"range": "1d",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
benchmark | string | optional | Benchmark symbol for beta calculation (e.g., "SPY") |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
interval | Interval | optional | Candle interval: 1d|1wk (default: 1d) |
range | TimeRange | optional | Time range: 1y|2y|5y (default: 1y) |
symbol | string | required | Stock ticker symbol |
Types
Interval
one of: "1m", "2m", "5m", "15m", "30m", "1h", "90m", "1d", "5d", "1wk", "1mo", "3mo"
TimeRange
one of: "1d", "5d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max"
get_risk_factorsGet risk factors extracted from a symbol's SEC filings. Routes through EDGAR (best-effort HTML extraction) or Polygon when configured.
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
symbol | string | required | Stock ticker symbol |
get_sectorGet comprehensive sector data (overview, performance, top companies, ETFs) for one of the 11 GICS sectors.
Arguments
{
"fields": "string",
"lang": "string",
"sector": "technology"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); English or omitted = no translation |
sector | Sector | required | Sector slug: technology|financial-services|consumer-cyclical|communication-services| healthcare|industrials|consumer-defensive|energy|basic-materials|real-estate|utilities |
Types
Sector
one of: "technology", "financial-services", "consumer-cyclical", "communication-services", "healthcare", "industrials", "consumer-defensive", "energy", "basic-materials", "real-estate", "utilities"
get_sector_peGet price/earnings ratios by market sector, provider-routed (Yahoo screener fan-out, keyless).
Arguments
{
"fields": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
get_sector_performanceGet aggregate performance for every market sector, provider-routed (Yahoo screener fan-out, keyless). Distinct from get_sector (per-sector Yahoo-only shortcut).
Arguments
{
"fields": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
get_sector_performance_historySector performance per session.
Arguments
{
"fields": "string",
"limit": 0
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
limit | integer | optional | Sessions to return; omitted = 30 |
get_short_volumeDaily FINRA short-sale volume for a symbol, keyless.
Arguments
{
"cursor": "string",
"fields": "string",
"limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default |
limit | integer | optional | Maximum entries per page; omitted = curated default (25) |
symbol | string | required | Stock ticker symbol |
get_sparkGet lightweight close-price sparklines for multiple symbols. Faster and smaller than get_charts — use when you only need price direction/trend across many symbols.
Arguments
{
"fields": "string",
"interval": "1m",
"range": "1d",
"symbols": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
interval | Interval | optional | Candle interval: 1m|5m|15m|30m|1h|1d|1wk|1mo|3mo (default: 1d) |
range | TimeRange | optional | Time range: 1d|5d|1mo|3mo|6mo|1y|2y|5y|10y|ytd|max (default: 1mo) |
symbols | string | required | Comma-separated list of ticker symbols (e.g., "AAPL,MSFT,GOOG") |
Types
Interval
one of: "1m", "2m", "5m", "15m", "30m", "1h", "90m", "1d", "5d", "1wk", "1mo", "3mo"
TimeRange
one of: "1d", "5d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max"
get_splitsGet historical stock split history for a symbol.
Arguments
{
"fields": "string",
"range": "1d",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
range | TimeRange | optional | Time range: 1y|2y|5y|10y|max (default: max) |
symbol | string | required | Stock ticker symbol |
Types
TimeRange
one of: "1d", "5d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max"
get_symbol_detailsReference detail for one symbol.
Arguments
{
"fields": "string",
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
symbol | string | required | Stock ticker symbol |
get_transcriptsGet earnings call transcripts for a company. Returns paragraph-by-paragraph text (speaker, timestamp, text), paginated via paragraph_limit/paragraph_cursor since a full call can be tens of thousands of tokens.
Arguments
{
"fields": "string",
"lang": "string",
"limit": 0,
"paragraph_cursor": "string",
"paragraph_limit": 0,
"symbol": "string"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); English or omitted = no translation |
limit | integer | optional | Maximum number of transcripts to return (default: all) |
paragraph_cursor | string | optional | Opaque continuation token from a previous response's paragraphs `pageInfo.endCursor`; omitted = first page |
paragraph_limit | integer | optional | Maximum transcript paragraphs per page; omitted = curated default (25). A full call's `text` is returned as paginated paragraphs, not one giant blob |
symbol | string | required | Stock ticker symbol |
get_treasury_yieldsGet US Treasury yield curve data (1m through 30y) for a given year. No API key required.
Arguments
{
"cursor": "string",
"fields": "string",
"limit": 0,
"year": 0
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = all fields |
limit | integer | optional | Maximum rows per page; omitted = curated default (25) |
year | integer | optional | Year to fetch yield curve data for (default: current year) |
get_trendingGet currently trending stock tickers for a region.
Arguments
{
"fields": "string",
"region": "AR"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
region | Region | optional | Region code: US|GB|DE|CA|AU|FR|IN|CN|HK|BR|TW|SG (default: US) |
Types
Region
one of: "AR", "AU", "BR", "CA", "CN", "DK", "FI", "FR", "DE", "GR", "HK", "IN", "IL", "IT", "JP", "KR", "MY", "MX", "NZ", "NO", "PT", "QA", "RU", "SG", "ES", "SE", "TW", "TH", "TR", "GB", "US", "VN"
lookupDiscover tickers filtered by type (equity, ETF, mutual fund, index, future, currency, cryptocurrency).
Arguments
{
"fields": "string",
"lang": "string",
"logo": true,
"query": "string",
"query_type": "all"
}| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); English or omitted = no translation |
logo | boolean | optional | Include logo URLs (requires an additional upstream API call); default: false |
query | string | required | Search query (company name or ticker symbol) |
query_type | LookupType | optional | Filter by type: equity|etf|mutualfund|index|future|currency|cryptocurrency (default: all) |
Types
LookupType
one of: "all", "equity", "mutualfund", "etf", "index", "future", "currency", "cryptocurrency"
screenerGet results from a predefined stock screener (e.g., most-actives, day-gainers, undervalued-growth-stocks).
Arguments
{
"count": 0,
"fields": "string",
"screener_type": "aggressive-small-caps"
}| field | type | required | description |
|---|---|---|---|
count | integer | optional | Number of results to return (default: 25, max: 250) |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
screener_type | Screener | required | Screener type: most-actives | day-gainers | day-losers | growth-technology-stocks | undervalued-growth-stocks | undervalued-large-caps | aggressive-small-caps | small-cap-gainers | most-shorted-stocks | high-yield-bond | top-mutual-funds | conservative-foreign-funds | portfolio-anchors | solid-large-growth-funds | solid-midcap-growth-funds |
Types
Screener
one of: "aggressive-small-caps", "day-gainers", "day-losers", "growth-technology-stocks", "most-actives", "most-shorted-stocks", "small-cap-gainers", "undervalued-growth-stocks", "undervalued-large-caps", "conservative-foreign-funds", "high-yield-bond", "portfolio-anchors", "solid-large-growth-funds", "solid-midcap-growth-funds", "top-mutual-funds"
searchSearch for stocks, ETFs, and companies by name or ticker symbol.
Arguments
{
"cursor": "string",
"fields": "string",
"lang": "string",
"limit": 0,
"query": "string"
}| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation token from a previous response's `pageInfo.endCursor`; omitted = first page |
fields | string | optional | Comma-separated list of GraphQL field names to include; omitted = curated default set |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); English or omitted = no translation |
limit | integer | optional | Maximum quotes per page; omitted = curated default (25) |
query | string | required | Search query string (company name or ticker symbol) |
