EdgarStack

होस्ट किया गया MCP सर्वर, जो Claude, ChatGPT और अन्य AI क्लाइंट्स को SEC EDGAR के वित्तीय आँकड़े, अनुपात, समकक्ष कंपनियों की तुलना, फाइलिंग में अंतर और Excel मॉडल उपलब्ध कराता है।

दस्तावेज़

Documentation

Connect EdgarStack to the MCP-compatible AI client and model you choose. The MCP server supplies SEC data and filing evidence; your AI client interprets and explains it. A REST API is also available for scripts and dashboards.

View the EdgarStack MCP server profile →

MCP connector (your compatible AI client)

EdgarStack does not use a built-in model or require model-provider credentials. Your connected client uses its chosen model to interpret requests, call the right tools, and explain the SEC evidence. The setup steps below show claude.ai as one example; use your client's remote MCP setup if you use a different host.

Connect with OAuth (recommended)

Add https://edgarstack.com/mcp as a custom connector. When prompted, sign in by pasting your existing EdgarStack API key on the EdgarStack authorize page.

Alternative: key in the connector URL

Your API key can also be placed in the connector URL — no separate auth step. Lost your key? Request a replacement.

  • claude.ai → Settings → Connectors (or Organization Settings → Connectors for Team/Enterprise)

  • Click + Add custom connector

  • Name it "EdgarStack", paste https://edgarstack.com/mcp and sign in with your API key (or use the key URL alternative below)

  • Click Add — it should show a green "Connected" status

  • In any conversation: + → Connectors → toggle it on, then just ask

Your key arrives by email once your beta request is approved, in the form efm_live_xxxxxxxx…. Keep it private — it's tied to your account and works for OAuth sign-in, the key URL option, and your REST API header.

For the alternative key URL method, use https://edgarstack.com/mcp/.

REST API

Same underlying data, same auth backend, plain HTTP for anything that doesn't speak MCP — scripts, dashboards, notebooks.

curl https://edgarstack.com/api/v1/financials/AAPL \
  -H "X-API-Key: efm_live_yourkeyhere"

All requests need the X-API-Key header. There's no separate REST-only key — the same key from your signup email works everywhere.

Endpoints

| Method | Path | Notes

| GET | /api/v1/companies/:ticker | Ticker → CIK + registered name

| GET | /api/v1/financials/:ticker | ?period=annual|quarterly|ttm&metrics=revenue,netIncome&limit=8. The response includes filings, which maps each accessionNumber to its SEC filing page.

| GET | /api/v1/ratios/:ticker | ?period=annual|quarterly&limit=5

| POST | /api/v1/peer-compare | Body: { tickers: [...], metrics: [...], period } — compare up to 6 metrics, aligned by period end and ranked; the legacy single metric field is also accepted

| GET | /api/v1/filings/:ticker | ?formType=10-K|10-Q|8-K&limit=4

| POST | /api/v1/filing-section | Body: { ticker, accessionNumber, primaryDocument, formType, itemNumber }

| GET | /api/v1/diff/:ticker | ?item=1A&formType=10-K — server-side diff of the same Item across the latest two filings (or pass oldAccessionNumber / newAccessionNumber). Compares the full section text and returns modified, added and removed sentences.

| POST | /api/v1/diff | Body: { oldText, newText }

| GET | /api/v1/companies?q=apple | Search company names and tickers

| GET | /api/v1/search | ?q=...&forms=10-K,10-Q&dateFrom=2026-01-01&dateTo=2026-06-01&limit=10&offset=0; Boolean keyword search (unquoted terms are ANDed, double quotes request an exact phrase), with SEC excerpts, one result per filing, and nextOffset pagination

| GET/POST/DELETE | /api/v1/watchlist | Manage up to 10 companies for a database-backed customer

| GET | /api/v1/alerts?limit=20 | Recent alert delivery history for the current customer

| GET | /api/v1/screen | ?metric=rdExpense&year=2024&min=1000000000&sort=desc&limit=20 — screen all SEC filers by one metric, no tickers required

| GET | /api/v1/screen-ratio | ?ratio=rdIntensity&year=2024&min=0.1&sort=desc&limit=20 — screen all SEC filers by a computed ratio (or ?numerator=...&denominator=... for a custom pairing)

| GET | /api/v1/valuation/:ticker | ?period=annual|quarterly — P/E, P/S, P/B, EV/Revenue, EV/EBITDA, market cap, enterprise value

| GET | /api/v1/model/:ticker | ?limit=5&includeValuation=true|false — downloads a formula-driven .xlsx financial model. Annual periods only.

| GET | /api/v1/insider-activity/:ticker | ?limit=20 — recent Form 3/4/5 transactions: who traded, when, how much, and at what price

| GET | /api/v1/off-balance-sheet/:ticker | ?sectionId=&offset= — latest 10-K only: off-balance-sheet figures the company tags in XBRL, with prior year and accession; the matching notes and MD&A liquidity section with key quotes; and an 18-category checklist. Pass a returned sectionId (and offset) to read that section's full text.

financials, ratios, and peer-compare support 39 metrics in total: revenue, grossProfit, operatingIncome, netIncome, epsBasic, epsDiluted, totalAssets, currentAssets, totalLiabilities, currentLiabilities, longTermDebt, totalEquity, cashAndEquivalents, operatingCashFlow, capex, rdExpense, sharesOutstanding, dividendsPerShare, dividendsPaid, stockBasedCompensation, deferredRevenue, goodwill, intangibleAssets, depreciationAmortization, costOfGoodsSold, sellingGeneralAndAdministrative, interestExpense, otherNonoperatingIncomeExpense, pretaxIncome, incomeTaxExpense, shortTermInvestments, weightedAverageDilutedShares, shareRepurchases, accountsReceivable, inventory, accountsPayable, propertyPlantAndEquipment, investingCashFlow, and financingCashFlow.

ratios also computes working-capital metrics from the balance sheet fields above: days sales outstanding, days inventory outstanding, days payable outstanding, and the cash conversion cycle (DSO + DIO - DPO).

/api/v1/screen uses SEC's XBRL Frames API, which indexes by one exact tag per period — a filer reporting the same concept under a different synonym tag for that period won't show up in results. Not every metric above is screenable this way; the ones that are: revenue, grossProfit, operatingIncome, netIncome, epsBasic, epsDiluted, totalAssets, currentAssets, totalLiabilities, currentLiabilities, longTermDebt, totalEquity, cashAndEquivalents, operatingCashFlow, capex, rdExpense.

/api/v1/valuation combines a live spot price (via Finnhub — not SEC data) with the most recently reported period's fundamentals. It's a point-in-time multiple, not a trailing-twelve-month calculation. Market quotes run about 20 minutes delayed — treat the price as indicative, not execution-grade.

/api/v1/model generates Readme, Source Data, Standardized Data, Assumptions, Historical Model, Forecast, Dashboard, and Audit Flags tabs (plus Valuation if requested) from live SEC data — annual periods only, since quarterly data has a structural Q4 gap (see the note under build_financial_model below).

/api/v1/insider-activity covers Forms 3, 4, and 5 only — officer/director/10%-owner trades in their own company's stock. For institutional 13F holdings, use the institutional_ownership MCP tool. >5% beneficial ownership filings (13D/13G) are not covered.

/api/v1/off-balance-sheet covers US 10-K filers and reads the latest 10-K only. It reports what the company discloses — XBRL-tagged figures and note text — and does not compute adjusted net debt or present values. Categories a company neither tags nor describes are marked not found.

/api/v1/screen-ratio presets: grossMargin, operatingMargin, netMargin, rdIntensity, capexIntensity, fcfMargin, currentRatio, debtToEquity, returnOnAssets, returnOnEquity, cashToAssets, assetTurnover — the same ratio definitions compute_ratios uses per-company, just ranked market-wide. Joins two (or three) separate XBRL frame queries by CIK, so a filer must report every underlying tag the ratio needs for the same period to show up at all.

Tools & sample prompts

The 21 MCP tools expose SEC financial data and filing research through your connected AI client. Some tools are MCP-only; see each tool's scope and limitations below. Sample prompts show the kind of request to try.

lookup_company

Resolve a ticker to its SEC CIK number and registered name — the starting point everything else builds on.

"What's Nvidia's SEC CIK number?"

get_financials

Standardized line items across periods, with source XBRL tags and accession numbers. Three views: values (default; annual, quarterly or TTM), trends (changes, guarded growth rates and annual CAGR — missing periods are not imputed), and revisions (figures the company later reported differently for the same tag and period, with both filings; a change may reflect a reclassification and does not by itself establish a restatement).

"Pull Costco's last 5 years of revenue, gross margin, and R&D spend."
"Show Apple's annual revenue and operating-income trends over the last 8 periods."
"Has Microsoft later changed any reported revenue or net income figures?"

compute_ratios

Margins, liquidity, leverage, returns, and working-capital ratios — computed from the data, not eyeballed off a PDF.

"What's Target's current ratio, debt-to-equity, and cash conversion cycle over the last 5 years?"

analyze_capital_allocation

Summarize reported operating cash flow, capex, dividends, repurchases, and shares by annual or TTM period. Missing inputs remain unavailable; the tool does not judge management decisions.

"Summarize Apple's capital allocation over the last five annual periods."

analyze_earnings_quality

Two views. indicators (default) calculates accrual, cash-conversion, working-capital-days, and revenue-versus-receivables indicators. anomalies flags the latest growth in selected metrics when it falls outside the company's own history (needs at least four earlier comparable observations). Industry, seasonality, acquisitions, and reporting changes can affect the signals; they are prompts to review filings, not findings.

"Review Microsoft's earnings-quality indicators and explain their methodology."
"Check NVIDIA's annual revenue and operating-income growth for unusual changes."

assess_financial_data_quality

Two checks. coverage (default) reviews SEC XBRL coverage, stale line flags, accession provenance, and period alignment. balance_sheet compares total assets with liabilities plus equity for matching periods and reports the residual. Missing facts remain unavailable rather than zero; neither check determines accounting correctness.

"Audit the coverage and source provenance of Tesla's latest annual financial metrics."
"Check whether Apple's balance sheet ties out for its last eight annual periods."

company_snapshot

Build a compact, source-aware view of TTM financials, ratios, earnings-quality indicators, valuation, filings, and insider transactions. Sections can be unavailable independently; valuation may need quote configuration. With view: "results_review" and 1–5 peerTickers, it instead builds an unpublished review packet on the latest results with peer context and changed MD&A / Risk Factors passages.

"Build a sourced company snapshot for Costco and identify any unavailable sections."
"Draft a results review for Costco's latest 10-K and compare it with Walmart and Target."

peer_compare

Compare 1–6 metrics across 2–15 tickers. Period ends align within 183 days for annual or 45 days for quarterly data. Results show each actual period end and descending competition ranks; missing values are left unranked.

"Compare revenue, netIncome, and operatingIncome across AAPL, MSFT, GOOGL, and META."

list_recent_filings

Recent 10-K / 10-Q / 8-K filings with accession numbers, ready to feed into the section and comparison tools below.

"Show me Tesla's last 4 10-Q filings with their accession numbers."

get_filing_section

Extract one Item section's text — Risk Factors, MD&A, and more — straight out of a real filing.

"Pull the Risk Factors section from Amazon's most recent 10-K."

diff_filing_sections

See what management added, reworded, or quietly dropped between filings. Four views: sentences (default; full sentence-level diff of one Item), brief (prioritized changes across up to four sections), risk_topics (Risk Factor changes grouped by a fixed keyword taxonomy), and mda_topics (MD&A changes grouped by revenue, margins, liquidity, capital, estimates, and trends). Ordering and categories are review aids; they do not establish materiality or causality.

"What changed in Meta's Risk Factors between their last two 10-Ks?"
"Summarize the most relevant changes in Microsoft's last two 10-Ks."
"Group the changes in Amazon's latest MD&A by topic."

management_guidance_tracker

Two modes. candidates (default) finds verbatim sentences in the latest 10-K or 10-Q MD&A that may contain guidance — keyword candidates can be false positives. vs_actuals compares explicit annual dollar revenue targets or ranges in 10-K MD&A with later reported revenue. Most guidance is given in earnings releases and calls, so empty results are common.

"Find possible management guidance in Microsoft's latest 10-K MD&A."
"Check whether Apple's explicit annual revenue guidance in its 10-K matched reported revenue."

full_text_search

Search SEC filing text with Boolean keywords (unquoted terms are ANDed; double quotes request an exact phrase). Results include a source excerpt where available, deduplicate document hits to one matched document per filing, enforce exact date/form filters, and include pagination details.

"Which companies mentioned 'material weakness' in a 10-K filed in the last 6 months?"

screen_companies

Screen ALL SEC filers for a period — not just tickers you already know. Pass a metric with a threshold, or rank by a computed ratio using a named preset (margins, returns, leverage, capital intensity) or any custom numerator/denominator from the screenable metric list.

"Find all SEC filers with R&D expense over $1 billion in fiscal year 2024."
"Which SEC filers have the highest gross margin in the 2024 frame?"

get_valuation

P/E, P/S, P/B, EV/Revenue, EV/EBITDA — combines a live price with the latest SEC fundamentals.

"What's Microsoft's P/E, EV/EBITDA, and market cap right now?"

build_financial_model

A branded, formula-driven Excel model generated straight from SEC data — no manual assembly. Annual periods only (EdgarStack's quarterly data has a structural gap: Q4 is only ever embedded inside the 10-K, never filed as a standalone 10-Q). Your AI client will ask whether you want a Valuation tab before building, since that tab pulls a live price and is a point-in-time snapshot rather than pure historical data.

"Build me a financial model for AAPL using EdgarStack."

get_insider_activity

Recent Form 3/4/5 transactions — decoded transaction codes, a buy/sell summary, and who's behind each trade (officer, director, or 10%+ owner). Covers open-market trades, grants, and RSU/option exercises. For institutional holdings use institutional_ownership; 13D/13G beneficial-ownership filings are not covered.

"Has Apple's CEO or any other insider bought or sold shares recently?"

institutional_ownership

Form 13F institutional holdings, both ways. view: "holders" (default) shows which managers hold a stock — manager count, total reported shares and value, and the top holders with share changes versus the prior quarter — from SEC's latest quarterly 13F data set. view: "portfolio" reads one manager's latest 13F-HR live from EDGAR (by managerCik or managerName) and lists positions, weights, and new, exited, increased and decreased holdings. 13F covers long positions only, is filed up to 45 days after quarter end, and identifies securities by CUSIP; the ticker-to-CUSIP match is returned so you can check it.

"Who are the largest institutional holders of Nvidia, and who added last quarter?"
"What did Berkshire Hathaway buy and sell in its latest 13F?"

get_price_history

End-of-day prices for a US ticker (daily, weekly or monthly) from Tiingo, with split- and dividend-adjusted closes, dividends and splits in the range, and statistics: total and annualized return, annualized volatility, maximum drawdown with dates, and the range high and low. Market data, not SEC filing data.

"How has Costco's stock performed over the last three years, and what was its worst drawdown?"

off_balance_sheet

Commitments and contingencies that sit outside the balance sheet, from the latest 10-K. Returns the figures the company tags in XBRL — purchase obligations, guarantees, supplier finance, letters of credit, loss contingencies, credit lines, remaining performance obligations and more — with the prior year and filing accession. It also finds the commitments, contingencies, leases and debt notes and the MD&A liquidity section, quotes the key sentences, and checks 18 categories, marking each as tagged, found in text, or not found. Input: ticker. To read a section's full text, pass the sectionId it returned, plus offset to page through a long section. US 10-K filers only; every figure cites its filing.

"What is Caterpillar committed to that isn't on its balance sheet?"

Some commitments appear only in the note text. Microsoft's FY2026 10-K discloses $329.1 billion of leases signed but not yet commenced in its leases note, not in its XBRL tags. Data from SEC EDGAR. Not financial advice.

manage_watchlist

Follow up to 10 companies. Every weekday morning EdgarStack checks for new 10-K, 10-Q and 8-K filings and emails a digest: a link to each filing, what an 8-K is about, and which Risk Factors / MD&A sentences changed since the previous filing. Ask it to check now for an immediate digest. Needs a subscriber key.

"Add NVDA and AMD to my watchlist, then check it now."

Rate limits

Each API key can make up to 120 requests per minute across REST and MCP combined. The limit refills evenly, so short bursts are fine. When you go over it, the API returns 429 with a Retry-After header giving the seconds to wait, and the error message states the limit.

All customers share one queue to SEC EDGAR, which EdgarStack throttles to stay within the SEC's fair-access limits. Requests that need several filings, such as models and diffs, can take longer when the queue is busy. During the closed beta there is no availability promise; see the beta terms.

Status codes

Errors return JSON with an error message. Authentication errors also include a reason code, such as not_found or beta_ended.

| Code | Meaning

| 400 | Invalid request: a required parameter is missing, a metric or ratio name is unknown, or a value is out of range. The message names the problem and, where useful, the allowed values.

| 401 | Key not recognized: missing, unknown, or malformed

| 402 | Key recognized, but access has ended (beta ended, trial ended, cancelled, expired)

| 403 | Key is valid, but this feature is not included in its access, such as the research workspace for a lapsed key

| 404 | Not found: the ticker is not an SEC-reporting company, or the data the request needs (such as revenue history or a price quote) is not available

| 409 | Conflict, for example adding a ticker that is already on your watchlist

| 422 | The request is well formed but cannot be applied, for example a watchlist that is already full

| 429 | Rate limit exceeded. Wait for the number of seconds in the Retry-After header.

| 500 | Unexpected error, often a temporary problem reaching SEC EDGAR. Retry after a short wait; if it persists, contact us with the request.