← agenticmarkets.dev

Tool reference 45

Auto-generated from the live Zod contracts. Each tool's input is what you POST in params.arguments; output is what you receive inside the standard envelope (data + meta).

getAnnualReport · getAuditor · getBoardMeeting · getBseFiling · getBseFno · getBseOhlc · getBseQuote · getBulkDeals · getCirp · getCompany · getCompanyContext · getConcall · getCorporateActions · getCreditRating · getDelivery · getEtf · getFiling · getFilingFullText · getFinancialResults · getFnoContracts · getFundamentals · getFundamentalsSnapshot · getHiLoEvents · getIndex · getIndexConstituents · getInsiderTrades · getMacroIndicator · getMarketCap · getMarketStats · getNav · getNews · getNseCircular · getOhlc · getPeers · getPriceStats · getPromoterPledge · getQuote · getQuoteMetadata · getRatios · getSectorSignal · getShareholding · getYahooQuote · searchCompanies · searchFilings · server_info

getAnnualReport

[since=0.5.0] Annual report PDF URLs filed at BSE. Pass `scrip_code`/`isin`, optional `fiscal_year`, `limit`. Returns reports[] with fiscal year + URL + filed_at. Use this to fetch the actual annual report document.

Input

fieldtype
scrip_code optionalstring
isin optionalstring
fiscal_year optionalnumber (min 1990) (max 2100)
limit number (min 1) (max 10) default 5

Output

fieldtype
data { reports: { fiscal_year: number, scrip_code: string | null, isin: string | null, url: string, filed_at: string | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 7776000s · readOnly

getAuditor

[since=0.5.0] Statutory auditor records per company (MCA). Pass `cin`/`isin`/`symbol`, optional `fiscal_year`. Returns audit firm + partner + appointment date + qualifications.

Input

fieldtype
cin optionalstring
isin optionalstring
symbol optionalstring (min 1) (max 60)
fiscal_year optionalnumber (min 1990) (max 2100)
limit number (min 1) (max 50) default 20

Output

fieldtype
data { auditors: { auditor_event_id: string, cin: string | null, symbol: string | null, isin: string | null, fiscal_year: number | null, audit_firm: string, partner_name: string | null, appointment_date: string | null, qualifications: string | null, auditor_kind: string | null, event_type: string | null, source_url: string | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 7776000s · readOnly

getBoardMeeting

[since=0.5.0] Board meeting calendar / outcomes. Pass `symbol`/`isin`, optional date range, `purpose` (substring). Returns meetings with date, purpose, broadcast_date.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
from_date optionalstring
to_date optionalstring
purpose optionalstring
limit number (min 1) (max 50) default 20

Output

fieldtype
data { symbol: string | null, meetings: { symbol: string, isin: string | null, meeting_date: string, purpose: string, description: string | null, attachment_url: string | null, broadcast_date: string | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 86400s · readOnly

getBseFiling

[since=0.5.0] Recent BSE corporate announcements. Pass `scrip_code`/`isin` plus optional `from_date`/`to_date`/`category`/`limit` (max 25). Returns filings array with subject, headline, attachment URL, is_critical flag.

Input

fieldtype
scrip_code optionalstring
isin optionalstring
from_date optionalstring
to_date optionalstring
category optionalstring
limit number (min 1) (max 25) default 5

Output

fieldtype
data { filings: { filing_id: string, scrip_code: string, isin: string | null, company_name: string | null, category: string | null, subject: string | null, headline: string | null, is_critical: boolean, filed_at: string, attachment_url: string | null }[], next_cursor: string | null, query: { scrip_code: string | null, isin: string | null, category: string | null, from_date: string | null, to_date: string | null } }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 21600s · readOnly

getBseFno

[since=0.5.0] BSE F&O bhavcopy contracts (futures + options) for a given underlying. Pass `underlying_symbol`, optional `trade_date`, `expiry`, `instrument_type`, `option_type`, `limit`.

Input

fieldtype
underlying_symbol string (min 1) (max 60)
trade_date optionalstring
expiry optionalstring
instrument_type "STO" | "STF" | "IDO" | "IDF" | "any"
option_type "CE" | "PE" | "any"
limit number (min 1) (max 100) default 25

Output

fieldtype
data { underlying_symbol: string, contracts: { fin_instrm_id: string, fin_instrm_tp: string, underlying_symbol: string, ticker_symbol: string, trade_date: string, expiry_date: string | null, strike_price: number | null, option_type: string | null, open_price: number | null, high_price: number | null, low_price: number | null, close_price: number | null, settle_price: number | null, underlying_price: number | null, open_interest: number | null, change_in_oi: number | null, volume: number | null, turnover: number | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

getBseOhlc

[since=0.5.0] Date-range BSE OHLC bars. Pass `scrip_code` or `isin` plus optional `from_date`/`to_date` (default last 30d), `limit` (max 365), `cursor`. Use when you need a BSE time series.

Input

fieldtype
scrip_code optionalstring
isin optionalstring
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 365) default 30
cursor optionalstring

Output

fieldtype
data { entity: { isin: string | null, cin: string | null, figi: string | null, primary_exchange: "NSE" | "BSE" | "NSEEMERGE" | "MCX" | "NCDEX", scrip_code: string, ticker: string | null, display_name: string | null }, currency: "INR", bars: { trade_date: string, open: number | null, high: number | null, low: number | null, close: number | null, prev_close: number | null, volume: number | null, turnover: number | null }[], range: { from: string | null, to: string | null, requested_from: string | null, requested_to: string | null }, next_cursor: string | null } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

getBseQuote

[since=0.5.0] Latest BSE daily quote for a Bombay-listed equity. Pass `scrip_code` (BSE 6-digit code) or `isin`. Optional `date`. Returns OHLC + volume + turnover + entity. Use this when an agent has a BSE-only ticker (no NSE listing).

Input

fieldtype
scrip_code optionalstring
isin optionalstring
date optionalstring

Output

fieldtype
data { entity: { isin: string | null, cin: string | null, figi: string | null, primary_exchange: "NSE" | "BSE" | "NSEEMERGE" | "MCX" | "NCDEX", scrip_code: string, ticker: string | null, display_name: string | null }, trade_date: string, open: number | null, high: number | null, low: number | null, close: number | null, prev_close: number | null, volume: number | null, turnover: number | null, currency: "INR" } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

getBulkDeals

[since=0.4.0] NSE bulk deals — block trades >0.5% of listed equity, disclosed daily. Pass any subset of `symbol`, `isin`, `client_name` (substring), `from_date`, `to_date`, `limit` (1–50, default 20). Returns deals with date, side (BUY/SELL), client, quantity, price, value (₹). Use this to track institutional positioning and block-trade-driven price moves.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
client_name optionalstring (min 1) (max 200)
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 50) default 20

Output

fieldtype
data { deals: { deal_id: string, deal_date: string, symbol: string, isin: string | null, client_name: string, side: string, quantity: number | null, price: number | null, value_inr: number | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 129600s · readOnly

getCirp

[since=0.5.0] IBBI Corporate Insolvency Resolution Process (CIRP) filings — bankruptcy proceedings. Pass `symbol`/`isin`/`cin`, optional `status`. Use for distressed-debt analysis.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
cin optionalstring
status "active" | "closed" | "any"
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 50) default 20

Output

fieldtype
data { filings: { filing_id: string, filing_date: string, cin: string | null, debtor_name: string, symbol: string | null, isin: string | null, amount_inr: number | null, status: string, irp_name: string | null, nclt_bench: string | null, announcement_type: string | null, source_url: string | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 604800s · readOnly

getCompany

[since=0.2.0] Indian company entity master record. Pass any one of `cin` (21-char MCA ID), `isin` (12-char ISO 6166), or `symbol` (NSE ticker). Returns canonical entity: legal_name, industry, HQ city/state/pin, incorporation date, is_listed flag, primary listing (ISIN + symbol + exchange), and the union of all sources where this entity is referenced (MCA, NSE, BSE, etc.) plus standard provenance envelope.

Input

fieldtype
cin optionalstring (min 1) (max 40)
isin optionalstring
symbol optionalstring (min 1) (max 40)

Output

fieldtype
data { cin: string | null, legal_name: string, industry_label: string | null, hq_city: string | null, hq_state: string | null, hq_pin: string | null, incorporated_on: string | null, is_listed: boolean, primary_isin: string | null, primary_symbol: string | null, primary_exchange: "NSE" | "BSE" | "NSEEMERGE" | "MCX" | "NCDEX" | null, figi: string | null, source_origins: string[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 2592000s · readOnly

getCompanyContext

[since=0.4.1] One-shot company snapshot for an Indian-listed equity. Pass `symbol` or `isin`. Returns the canonical entity record, latest quote, last 30 days of OHLC, recent corporate filings, last 4 quarters of shareholding pattern, and recent SEBI insider trades — all in a single MCP response. Use this as the FIRST call when the user asks 'tell me about X', 'what's happening with Y', or 'is Z worth looking at' — it's a 5-tool fan-out compressed into one round trip. Sub-section limits configurable via `ohlc_days` (1–90, default 30), `filings_limit` (0–10, default 5), `shareholding_limit` (0–8, default 4), `insiders_limit` (0–10, default 5). If a sub-call fails, that section is null and the failure is recorded in `errors[section]`; the rest still returns.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
ohlc_days number (min 1) (max 90) default 30
filings_limit number (min 0) (max 10) default 5
shareholding_limit number (min 0) (max 8) default 4
insiders_limit number (min 0) (max 10) default 5

Output

fieldtype
data { company: { cin: string | null, legal_name: string, industry_label: string | null, hq_city: string | null, hq_state: string | null, hq_pin: string | null, incorporated_on: string | null, is_listed: boolean, primary_isin: string | null, primary_symbol: string | null, primary_exchange: "NSE" | "BSE" | "NSEEMERGE" | "MCX" | "NCDEX" | null, figi: string | null, source_origins: string[] } | null, latest_quote: { entity: { isin: string | null, cin: string | null, figi: string | null, primary_exchange: "NSE" | "BSE" | "NSEEMERGE" | "MCX" | "NCDEX", primary_symbol: string, display_name: string | null }, trade_date: string, open: number | null, high: number | null, low: number | null, close: number | null, prev_close: number | null, volume: number | null, turnover: number | null, currency: "INR" } | null, ohlc: { entity: { isin: string | null, cin: string | null, figi: string | null, primary_exchange: "NSE" | "BSE" | "NSEEMERGE" | "MCX" | "NCDEX", primary_symbol: string, display_name: string | null }, currency: "INR", bars: { trade_date: string, open: number | null, high: number | null, low: number | null, close: number | null, prev_close: number | null, volume: number | null, turnover: number | null }[], range: { from: string | null, to: string | null, requested_from: string | null, requested_to: string | null }, next_cursor: string | null } | null, recent_filings: { filing_id: string, symbol: string, isin: string | null, category: string | null, description: string | null, filed_at: string, attachment_url: string | null, has_attachment_text: boolean, attachment_text_chars: number (min 0) | null, text_excerpt: string | null, text_truncated: boolean, text_sha256: string | null }[], recent_shareholding: { symbol: string, isin: string | null, quarter_end: string, promoter_pct: number | null, public_pct: number | null, employee_trusts_pct: number | null, underlying_drs_pct: number | null, submission_date: string | null, xbrl_url: string | null }[], recent_insiders: { trade_id: string, symbol: string, isin: string | null, acquirer_name: string, acquirer_role: string | null, trade_type: string, form_type: string | null, quantity: number | null, value_inr: number | null, pre_holding_pct: number | null, post_holding_pct: number | null, trade_date: string, filed_at: string | null, source_url: string | null }[], errors: Record } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

getConcall

[since=0.5.0] Earnings conference call transcripts. Pass `symbol`/`isin`, optional date range, `limit`. Returns transcripts[] with concall_date, fiscal_quarter, sentiment, excerpt (5,000 chars by default), and attachment URL.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 10) default 4
fetch_full_text boolean default false

Output

fieldtype
data { symbol: string, transcripts: { symbol: string, isin: string | null, concall_date: string, label: string, fiscal_quarter: string | null, transcript_url: string | null, attachment_url: string | null, text_chars: number | null, transcript_excerpt: string | null, text_truncated: boolean, text_sha256: string | null, full_text_url: string | null, words: number | null, net_tone: number | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 8640000s · readOnly

getCorporateActions

[since=0.4.0] Corporate actions for an Indian-listed equity (dividends, splits, bonuses, rights, buybacks). Pass `symbol` or `isin`. Optional `from_date`/`to_date`, `action_type` (dividend/split/bonus/rights/any, default any), `limit` (1–30, default 10). Returns actions with ex_date, type, purpose, factor (where applicable). Use this for total-return analysis and ex-date scheduling.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
from_date optionalstring
to_date optionalstring
action_type "dividend" | "split" | "bonus" | "rights" | "any"
limit number (min 1) (max 30) default 10

Output

fieldtype
data { symbol: string, isin: string | null, actions: { action_id: string, symbol: string, isin: string | null, ex_date: string, action_type: string, purpose: string | null, factor: number | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 604800s · readOnly

getCreditRating

[since=0.5.0] Credit ratings (CRISIL/ICRA/CARE/etc.) per company. Pass `symbol`/`isin`, optional date range. Returns rating actions with agency, instrument, rating, outlook, action_type (upgrade/downgrade/affirmation).

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 50) default 20

Output

fieldtype
data { symbol: string | null, ratings: { rating_event_id: string, symbol: string, isin: string | null, rated_at: string, agency: string | null, instrument_type: string | null, rating: string | null, outlook: string | null, issue_size: number | null, action: string, source_url: string | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 1209600s · readOnly

getDelivery

[since=0.4.0] Daily NSE delivery percentage for a single ticker — what fraction of traded volume was actually delivered (not intra-day churn). Pass `symbol` or `isin`. Optional `from_date`/`to_date`, `limit` (1–30, default 7). High delivery % suggests genuine accumulation/distribution; low % suggests speculative trading. Returns array of bars with traded_qty, delivered_qty, delivery_pct.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 30) default 7

Output

fieldtype
data { symbol: string, isin: string | null, days: { trade_date: string, traded_qty: number | null, delivered_qty: number | null, delivery_pct: number | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 129600s · readOnly

getEtf

[since=0.5.0] Indian ETF reference data. Pass `symbol`/`isin` for one ETF; omit both for paginated list. Returns scheme name, AMC, underlying index, expense ratio, AUM.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
limit number (min 1) (max 100) default 25
cursor optionalstring

Output

fieldtype
data { etfs: { symbol: string, exchange: string, isin: string | null, scheme_name: string | null, amc: string | null, underlying_index: string | null, assets: string | null, ltp: number | null, nav: number | null, nav_date: string | null, expense_ratio: number | null, aum_inr: number | null, listed_on: string | null }[], next_cursor: string | null }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 86400s · readOnly

getFiling

[since=0.2.0] Recent corporate-announcement filings (NSE) for an Indian-listed equity. Pass `symbol` or `isin` for a list (default 5 most recent), or `filing_id` for one specific filing. Optional `from_date`/`to_date` to filter the window, `limit` (max 25). Each filing returns metadata + a 2,000-char excerpt of the OCR'd attachment text by default. Pass `fetch_full_text: true` to get the full text — only do this if you actually need it, since filings can be tens of KB and consume agent context. Includes attachment URL, sha256 of full text, and standard provenance envelope.

Input

fieldtype
filing_id optionalstring
symbol optionalstring (min 1) (max 60)
isin optionalstring
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 25) default 5
fetch_full_text boolean default false

Output

fieldtype
data { filings: { filing_id: string, symbol: string, isin: string | null, category: string | null, description: string | null, filed_at: string, attachment_url: string | null, has_attachment_text: boolean, attachment_text_chars: number (min 0) | null, text_excerpt: string | null, text_truncated: boolean, text_sha256: string | null }[], next_cursor: string | null, query: { symbol: string (min 1) (max 60) | null, isin: string | null, filing_id: string | null, from_date: string | null, to_date: string | null } }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 21600s · readOnly

getFilingFullText

[since=0.5.0] Full OCR'd attachment text for a single filing. Pass `filing_id` (from getFiling or searchFilings). Returns the COMPLETE document text — only call this after narrowing to a specific filing, since payloads can be tens of KB.

Input

fieldtype
filing_id string (min 1)

Output

fieldtype
data { filing_id: string, symbol: string, attachment_url: string | null, text_chars: number (min 0) | null, text_sha256: string | null, full_text: string | null } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 21600s · readOnly

getFinancialResults

[since=0.5.0] Quarterly / half-yearly / annual P&L filings. Pass `symbol`/`isin`, optional date range, `period_type`. Note: the structured P&L numbers live in the XBRL referenced by xbrl_url; this tool returns the FILING METADATA. Use getFundamentals for actual revenue/profit numbers.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
from_date optionalstring
to_date optionalstring
period_type "quarterly" | "half-yearly" | "annual" | "any"
limit number (min 1) (max 20) default 8

Output

fieldtype
data { symbol: string, results: { filing_id: string, symbol: string, isin: string | null, company_name: string | null, industry: string | null, result_date: string, period_type: string, audited: string | null, cumulative: string | null, ind_as: string | null, relating_to: string | null, financial_year: string | null, from_date: string | null, to_date: string | null, filing_date: string | null, xbrl_url: string | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 5184000s · readOnly

getFnoContracts

[since=0.3.0] NSE F&O contract data (futures + options) for a single underlying on a given trade date. Pass `underlying_symbol` (e.g., RELIANCE) — defaults to the latest available trade date. Filter by `expiry`, `instrument_type` (STO=stock option, STF=stock future, IDO=index option, IDF=index future), `option_type` (CE/PE), `limit` (max 100). Returns OHLC + settle + underlying spot + open interest + change-in-OI per contract. Use this for derivatives analysis, options chain lookups, OI sentiment.

Input

fieldtype
underlying_symbol string (min 1) (max 60)
trade_date optionalstring
expiry optionalstring
instrument_type "STO" | "STF" | "IDO" | "IDF" | "any"
option_type "CE" | "PE" | "any"
limit number (min 1) (max 100) default 25

Output

fieldtype
data { underlying_symbol: string, contracts: { fin_instrm_id: string, fin_instrm_tp: string, underlying_symbol: string, ticker_symbol: string, trade_date: string, expiry_date: string, strike_price: number | null, option_type: string | null, open_price: number | null, high_price: number | null, low_price: number | null, close_price: number | null, settle_price: number | null, underlying_price: number | null, open_interest: number | null, change_in_oi: number | null, volume: number | null, turnover: number | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

getFundamentals

[since=0.4.0] Annual financial statements for an Indian-listed equity (Yahoo Finance, 5 years). Pass `symbol` or `isin`. Optional `fiscal_year`, `limit` (1–10, default 5 most recent). Returns revenue, net income, EPS, operating income, total assets, total liabilities, stockholders' equity, free cash flow, capex per fiscal year. Use this for valuation, growth, and balance-sheet trend analysis.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
fiscal_year optionalnumber (min 1990) (max 2100)
limit number (min 1) (max 10) default 5

Output

fieldtype
data { symbol: string, isin: string | null, statements: { symbol: string, isin: string | null, fiscal_year: number, period_end: string, total_revenue: number | null, operating_income: number | null, net_income: number | null, basic_eps: number | null, diluted_eps: number | null, total_assets: number | null, total_liabilities: number | null, stockholders_equity: number | null, operating_cash_flow: number | null, free_cash_flow: number | null, capital_expenditure: number | null, currency: string | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 10368000s · readOnly

getFundamentalsSnapshot

[since=0.5.0] Trailing-twelve-month (TTM) rolling fundamentals snapshot per ticker. Pass `symbol` or `isin`. Returns the latest TTM revenue, net income, EPS — useful for current-state valuation queries.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring

Output

fieldtype
data { symbol: string, isin: string | null, scrip_code: string | null, as_of_date: string, eps: number | null, ceps: number | null, pe: number | null, pb: number | null, roe: number | null, opm: number | null, npm: number | null, cons_eps: number | null, cons_ceps: number | null, cons_pe: number | null, cons_pb: number | null, cons_roe: number | null, cons_opm: number | null, cons_npm: number | null, mcap_full_cr: number | null, mcap_ff_cr: number | null, vol_2w_lakh: number | null, turnover_cr: number | null, circuit_limit: string | null } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 259200s · readOnly

getHiLoEvents

[since=0.5.0] 52-week high/low breakout/breakdown events. Pass `symbol`/`isin` for one ticker, OR `event_type` for a cross-market scan. Optional `from_date`/`to_date`/`limit`. Use for momentum + breakout signals.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
event_type "high" | "low" | "any"
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 50) default 20

Output

fieldtype
data { events: { symbol: string, event_date: string, event_type: "high" | "low" | "any", isin: string | null, series: string | null?, price: number | null, prior_extreme: number | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 129600s · readOnly

getIndex

[since=0.3.0] Daily history for an Indian market index. Pass `ticker` (e.g., ^NSEI for NIFTY 50, ^NSEBANK for NIFTY BANK, ^BSESN for SENSEX). Optional `from_date`/`to_date` and `limit` (max 365). Returns OHLC + adjusted close + volume per day. Use this for market-context queries ("how did the broad market do?") or beta/correlation analysis.

Input

fieldtype
ticker string (min 1) (max 40)
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 365) default 30

Output

fieldtype
data { ticker: string, name: string, bars: { trade_date: string, open: number | null, high: number | null, low: number | null, close: number | null, adj_close: number | null, volume: number | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

getIndexConstituents

[since=0.5.0] Members of an Indian market index (NIFTY 50, NIFTY BANK, NIFTY 100, NIFTY 500, etc.). Pass `index_name` or `index_ticker`, optional `as_of_date`. Returns members[] with rank, symbol, ISIN, weight.

Input

fieldtype
index_name optionalstring (min 1) (max 80)
index_ticker optionalstring (min 1) (max 40)
as_of_date optionalstring

Output

fieldtype
data { index: string, index_ticker: string | null, as_of_date: string, members: { rank: number | null, symbol: string, isin: string | null, weight_pct: number | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 604800s · readOnly

getInsiderTrades

[since=0.3.0] Insider-trading disclosures filed with SEBI under PIT regulations for an Indian-listed equity. Pass `symbol` or `isin`. Filter by `from_date`/`to_date`, `trade_type` (buy/sell/any), `limit` (max 50). Returns acquirer name + role, quantity, value (₹), pre/post holding %, trade and filing timestamps. Use this for governance / promoter-activity analysis.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
from_date optionalstring
to_date optionalstring
trade_type "buy" | "sell" | "any"
limit number (min 1) (max 50) default 20
cursor optionalstring

Output

fieldtype
data { symbol: string | null, trades: { trade_id: string, symbol: string, isin: string | null, acquirer_name: string, acquirer_role: string | null, trade_type: string, form_type: string | null, quantity: number | null, value_inr: number | null, pre_holding_pct: number | null, post_holding_pct: number | null, trade_date: string, filed_at: string | null, source_url: string | null }[], next_cursor: string | null }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 604800s · readOnly

getMacroIndicator

[since=0.5.0] Macroeconomic indicators (GDP, CPI, repo rate, etc.). Pass `indicator_code` or omit for catalogue. Optional date range.

Input

fieldtype
indicator_code optionalstring
category optionalstring
country_iso string default "IND"
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 100) default 50

Output

fieldtype
data { indicators: { signal_date: string, indicator_code: string, value: number | null, unit: string | null, label: string | null, category: string | null, country_iso: string | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 31536000s · readOnly

getMarketCap

[since=0.5.0] Daily market capitalization snapshots for an Indian-listed equity. Pass `symbol` or `isin`, optional `date`/`limit`. Returns shares_outstanding × close = market_cap_inr per day.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
date optionalstring
limit number (min 1) (max 60) default 10

Output

fieldtype
data { snapshots: { as_of_date: string, symbol: string, isin: string | null, shares_outstanding: number | null, close_price: number | null, market_cap_inr: number | null, free_float_mcap_inr: number | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 129600s · readOnly

getMarketStats

[since=0.4.0] Cross-universe market statistics for a given trade date. Pass `metric` (one of: top_gainers, top_losers, most_active, breadth, sector_aggregate). Optional `date` (YYYY-MM-DD, defaults to latest available), `limit` (1–50, default 10), `industry` (only for sector_aggregate). Returns ranked rows: gainers/losers by % change, most active by turnover, market breadth (advancers/decliners/unchanged + bullish-bearish-flat sentiment), or sector aggregates (avg pct_change + total turnover by industry). Use this for portfolio-level questions ("what moved most today?") that span the whole NSE universe.

Input

fieldtype
metric "top_gainers" | "top_losers" | "most_active" | "breadth" | "sector_aggregate"
date optionalstring
limit number (min 1) (max 50) default 10
industry optionalstring (min 1) (max 120)

Output

fieldtype
data { metric: "top_gainers" | "top_losers" | "most_active" | "breadth" | "sector_aggregate", as_of: string | null, results: { symbol: string, isin: string | null, display_name: string | null, close: number | null, prev_close: number | null, pct_change: number, volume: number | null, turnover: number | null } | { symbol: string, isin: string | null, display_name: string | null, close: number | null, volume: number | null, turnover: number | null } | { advancers: number (min 0), decliners: number (min 0), unchanged: number (min 0), total: number (min 0) } | { industry: string, ticker_count: number (min 0), avg_pct_change: number, total_turnover: number }[], summary: { ratio: number, sentiment: "bullish" | "bearish" | "flat" }? } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

getNav

[since=0.2.0] Latest AMFI mutual fund NAV (net asset value) for an Indian fund. Pass `scheme_code` (AMFI numeric ID, e.g., 147193) OR `isin` (ISIN of the growth or reinvest variant). Optional `date` (YYYY-MM-DD) for historical NAV. Returns the fund entity (scheme_name, AMC, category, both ISIN variants) plus the NAV in INR and a provenance envelope (source=amfi, ingested_at, ingest_run_id, row_hash, freshness SLA).

Input

fieldtype
scheme_code optionalstring (min 1) (max 40)
isin optionalstring
date optionalstring

Output

fieldtype
data { fund: { scheme_code: string, scheme_name: string, amc: string | null, category: string | null, isin_payout_or_growth: string | null, isin_reinvest: string | null }, nav_date: string, nav: number, currency: "INR" } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

getNews

[since=0.5.0] Financial news articles mentioning Indian listed equities. Optional `symbol`/`isin`, `from_date`/`to_date`, `query` (full-text), `source_filter`, `limit`.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
from_date optionalstring
to_date optionalstring
query optionalstring
source_filter optionalstring
limit number (min 1) (max 50) default 20

Output

fieldtype
data { articles: { article_id: string, published_at: string, headline: string, snippet: string | null, url: string | null, source: string, symbols_mentioned: string[] }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 3600s · readOnly

getNseCircular

[since=0.5.0] NSE regulatory circulars. Optional date range, `category`, `query` (full-text). Use for compliance / market-structure context.

Input

fieldtype
from_date optionalstring
to_date optionalstring
category optionalstring
query optionalstring
limit number (min 1) (max 50) default 20

Output

fieldtype
data { circulars: { circular_id: string, issued_date: string, subject: string | null, category: string | null, department: string | null, applicable_to: string | null, attachment_url: string | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 86400s · readOnly

getOhlc

[since=0.2.0] Daily OHLC bars over a date range for a single Indian-listed equity. Returns up to 365 bars per call with cursor-based pagination for longer ranges. Each bar has open/high/low/close/prev_close/volume/turnover. Defaults to last 30 trading days if dates omitted. Pass `ticker` plus optional `from_date` and `to_date` (YYYY-MM-DD). If a previous response had `next_cursor`, pass it back in `cursor` to page further. Use this when you need a TIME SERIES for ONE ticker.

Input

fieldtype
ticker string (min 1) (max 60)
from_date optionalstring
to_date optionalstring
cursor optionalstring

Output

fieldtype
data { entity: { isin: string | null, cin: string | null, figi: string | null, primary_exchange: "NSE" | "BSE" | "NSEEMERGE" | "MCX" | "NCDEX", primary_symbol: string, display_name: string | null }, currency: "INR", bars: { trade_date: string, open: number | null, high: number | null, low: number | null, close: number | null, prev_close: number | null, volume: number | null, turnover: number | null }[], range: { from: string | null, to: string | null, requested_from: string | null, requested_to: string | null }, next_cursor: string | null } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

getPeers

[since=0.3.0] Peer companies for an Indian-listed equity, ranked by similarity score (Yahoo Finance recommendations). Pass `symbol` and optional `limit` (max 50). Returns peer tickers with similarity scores 0-1 and rank. Use this for comparable-company analysis or to expand a research universe from a starting ticker.

Input

fieldtype
symbol string (min 1) (max 60)
limit number (min 1) (max 50) default 10

Output

fieldtype
data { symbol: string, peers: { peer_symbol: string, similarity_score: number | null, rank: number | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 2592000s · readOnly

getPriceStats

[since=0.5.0] Pre-computed price stats per ticker: 52-week high/low, 200-day moving average, ATR, beta, etc. Pass `symbol` or `isin`.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring

Output

fieldtype
data { symbol: string, isin: string | null, as_of_date: string, latest_close: number | null, latest_traded_on: string | null, d1_pct: number | null, d1_from: number | null, w1_pct: number | null, w1_from: number | null, m1_pct: number | null, m1_from: number | null, m3_pct: number | null, m3_from: number | null, m6_pct: number | null, m6_from: number | null, y1_pct: number | null, y1_from: number | null, high_52w: number | null, high_52w_date: string | null, low_52w: number | null, low_52w_date: string | null, avg_volume_20d: number | null, history_days: number | null } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 172800s · readOnly

getPromoterPledge

[since=0.5.0] Promoter pledge disclosures — material governance signal. Pass `symbol`/`isin`, optional date range. Returns pledges with promoter name, shares pledged, total promoter shares, pledge %.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 50) default 20

Output

fieldtype
data { symbol: string | null, pledges: { symbol: string, isin: string | null, disclosure_date: string, promoter_name: string, shares_pledged: number | null, total_promoter_shares: number | null, pledge_pct: number | null, purpose: string | null, source_url: string | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 2592000s · readOnly

getQuote

[since=0.1.0] Latest NSE/BSE daily OHLC for a single Indian-listed equity. Returns close, open/high/low, prev_close, volume, turnover (INR), with canonical entity (ISIN, CIN, FIGI, primary exchange/symbol, display name) and provenance envelope (source, source_url, ingested_at, ingest_run_id, row_hash, freshness SLA). Pass `ticker` (e.g., RELIANCE, TCS). Optional `date` (YYYY-MM-DD) for historical lookup. Use this when you need ONE day's data for ONE ticker.

Input

fieldtype
ticker string (min 1) (max 60)
date optionalstring

Output

fieldtype
data { entity: { isin: string | null, cin: string | null, figi: string | null, primary_exchange: "NSE" | "BSE" | "NSEEMERGE" | "MCX" | "NCDEX", primary_symbol: string, display_name: string | null }, trade_date: string, open: number | null, high: number | null, low: number | null, close: number | null, prev_close: number | null, volume: number | null, turnover: number | null, currency: "INR" } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

getQuoteMetadata

[since=0.5.0] Per-ticker reference metadata: F&O eligibility, lot size, industry classification, index memberships. Pass `symbol` or `isin`.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring

Output

fieldtype
data { symbol: string, isin: string | null, company_name: string | null, industry: string | null, segment: string | null, series: string | null, status: string | null, listing_date: string | null, is_fno: boolean, is_slb: boolean, is_etf: boolean, is_suspended: boolean, is_delisted: boolean, sector_pe: number | null, symbol_pe: number | null, sector_industry: string | null, index_memberships: string[] | null } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 604800s · readOnly

getRatios

[since=0.5.0] Pre-computed financial ratios per ticker (PE, PB, ROE, ROCE, debt/equity, dividend yield, etc.). Pass `symbol` or `isin`. Tickertape-derived.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring

Output

fieldtype
data { symbol: string, isin: string | null, sid: string | null, sector: string | null, sub_sector: string | null, gic_sector: string | null, gic_industry_group: string | null, gic_industry: string | null, gic_sub_industry: string | null, description: string | null, market_cap: number | null, market_cap_label: string | null, market_cap_rank: number | null, pe: number | null, pb: number | null, ttm_pe: number | null, roe: number | null, eps: number | null, bps: number | null, div_yield: number | null, beta: number | null, risk_score: number | null, vol_3m_avg: number | null, vol_12m: number | null, pct_4w: number | null, pct_52w: number | null, high_52w: number | null, low_52w: number | null, industry_pe: number | null, industry_pb: number | null, industry_div_yield: number | null } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 259200s · readOnly

getSectorSignal

[since=0.5.0] Indian sector / macro signals: FADA auto retail, Vahan vehicle registrations, FX, commodity spots, agmarknet prices, DGFT trade. Pass `signal_type` filter or omit for all. Use for sector rotation / macro overlays.

Input

fieldtype
signal_type "fada" | "vahan" | "fx" | "commodity" | "agmarknet" | "dgft" | "any"
from_date optionalstring
to_date optionalstring
limit number (min 1) (max 100) default 50

Output

fieldtype
data { signals: { signal_date: string, signal_type: string, key: string, value: number | null, unit: string | null, yoy_pct: number | null, mom_pct: number | null, raw_metadata: ZodUnknown | null }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 604800s · readOnly

getShareholding

[since=0.3.0] Quarterly shareholding pattern for an Indian-listed equity (NSE filings). Pass `symbol` (e.g., RELIANCE) or `isin`. Optional `quarter_end` (YYYY-MM-DD) for one quarter, or `limit` (default 8) for most recent quarters. Returns promoter / public / employee-trust / DR percentages per quarter plus submission dates. Use this when an agent asks about ownership structure or insider concentration over time.

Input

fieldtype
symbol optionalstring (min 1) (max 60)
isin optionalstring
quarter_end optionalstring
limit number (min 1) (max 20) default 8

Output

fieldtype
data { symbol: string, quarters: { symbol: string, isin: string | null, quarter_end: string, promoter_pct: number | null, public_pct: number | null, employee_trusts_pct: number | null, underlying_drs_pct: number | null, submission_date: string | null, xbrl_url: string | null }[] } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 8640000s · readOnly

getYahooQuote

[since=0.5.0] Yahoo Finance daily prices (5y NSE+BSE alt feed). Use this for longer history than getOhlc (which is 2.4y NSE-only). Accepts `RELIANCE`, `RELIANCE.NS`, or `RELIANCE.BO` interchangeably.

Input

fieldtype
symbol string (min 1) (max 60)
exchange optionalstring (min 1) (max 10)
from_date optionalstring
to_date optionalstring
cursor optionalstring

Output

fieldtype
data { symbol: string, exchange: string, bars: { trade_date: string, open: number | null, high: number | null, low: number | null, close: number | null, adj_close: number | null, volume: number | null }[], range: { from: string | null, to: string | null, requested_from: string | null, requested_to: string | null }, next_cursor: string | null } | null
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 108000s · readOnly

searchCompanies

[since=0.4.0] Full-text search across the Indian-company entity master (3,972 resolved entities with CIN). Pass `query` (2–200 chars, e.g. 'mumbai bank', 'oil refinery', 'tata'). Optional filters: `state`, `industry` (substring), `listed_only` (default true), `limit` (1–50, default 10). Returns ranked matches with CIN, legal_name, industry, HQ city/state, primary listing (symbol+ISIN+exchange), is_listed, and tsvector score. Use this when an agent needs to discover tickers by description rather than look up a known symbol.

Input

fieldtype
query string (min 2) (max 200)
state optionalstring (min 1) (max 80)
industry optionalstring (min 1) (max 120)
listed_only boolean default true
limit number (min 1) (max 50) default 10

Output

fieldtype
data { results: { cin: string | null, legal_name: string, industry_label: string | null, hq_city: string | null, hq_state: string | null, primary_symbol: string | null, primary_isin: string | null, primary_exchange: "NSE" | "BSE" | "NSEEMERGE" | "MCX" | "NCDEX" | null, is_listed: boolean, score: number }[], total_matches: number (min 0), query: string }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 2592000s · readOnly

searchFilings

[since=0.4.0] Full-text search across NSE corporate announcements (486,000+ filings, OCR'd attachment text excerpts). Pass `query` (2–200 chars, e.g. 'fraud', 'AI strategy', 'capex guidance'). Optional `symbol`, `from_date`/`to_date`, `category` (substring), `limit` (1–25, default 10). Returns ranked filings with metadata + a 500-char excerpt and tsvector score. Use this for thematic research ("who mentioned X") and for finding evidence across the disclosure corpus. Use getFiling afterward when you need the full text of a specific filing.

Input

fieldtype
query string (min 2) (max 200)
symbol optionalstring (min 1) (max 60)
from_date optionalstring
to_date optionalstring
category optionalstring (min 1) (max 120)
limit number (min 1) (max 25) default 10

Output

fieldtype
data { results: { filing_id: string, symbol: string, isin: string | null, category: string | null, description: string | null, filed_at: string, attachment_url: string | null, has_attachment_text: boolean, attachment_text_chars: number (min 0) | null, text_excerpt: string | null, text_truncated: boolean, text_sha256: string | null, score: number }[], total_matches: number (min 0), query: string }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 21600s · readOnly

server_info

[since=0.2.0] Discover what this MCP server offers right now: current version, complete tool catalog with per-tool `since` versions, deprecation flags, freshness SLAs, and a link to the changelog. Call this at session start when you want to know what capabilities are available, or after a long-running session to detect new tools added since you last looked. Takes no arguments.

Input

fieldtype

Output

fieldtype
data { service: "agenticmarkets", version: string, protocol: "streamable-http", endpoint: string, changelog_url: string, docs_url: string, tools: { name: string, since: string, deprecated_in: string?, removed_in: string?, notes: string?, description: string, freshness_sla_seconds: number (min 0) }[] }
meta { request_id: string, api_version: "v1", served_at: string, as_of: string | null, coverage: "covered" | "source_thin" | "no_data" | "ticker_unresolved", sources: { name: string, source_url: string?, ingested_at: string, ingest_run_id: string }[], row_hash: string | null, freshness_sla_seconds: number (min 0) | null, tokens_returned: number (min 0) }

freshness_sla = 86400s · readOnly