What the SEC's own EDGAR API gives you
The SEC publishes its filing data as JSON at data.sec.gov, free and with no key. The submissions API returns a filer's name, tickers and filing history. Three more return the XBRL facts from financial statements in 10-K, 10-Q, 8-K, 20-F, 40-F and 6-K filings: companyconcept gives one fact for one company, companyfacts gives every fact for one company, and frames gives one fact across every company for one period. The SEC also rebuilds the whole set as ZIP files every night.
Its fair-access rules allow up to 10 requests a second and ask you to put your name and email in the User-Agent header. Each fact sits under the taxonomy tag the company chose for it, such as us-gaap Revenues or us-gaap NetIncomeLoss, with the period, the unit, the form and the filing's accession number.
Why XBRL facts need work before they become statements
But turning those facts into an income statement takes several choices. The same line can sit under different tags at different companies, and at the same company in different years: revenue alone is filed as Revenues, as RevenueFromContractWithCustomerExcludingAssessedTax and under other names. Many companies add their own extension tags too, and the SEC's JSON carries only facts on standard taxonomies such as us-gaap, so those custom lines drop out.
Every fiscal year also shows up again in the next two 10-Ks as a comparison column, sometimes restated, and you decide which filing's figure counts. Fiscal years end in different months: Microsoft's in June, Apple's in September, Nvidia's in January. And the fourth quarter is rarely filed on its own; it is the full year less the first three quarters. So each of those choices has to be made before ten companies line up on revenue, margins and cash flow.
What one SN Data call returns
SN Data makes those choices before you ask. The financials address returns a company's income statement, balance sheet and cash flow in standard lines (basis=standard) or as the company reported them (basis=as-reported), by fiscal year or by quarter. The as-reported answer lists the filing behind each period. Periods are named by their month end, and a company whose year ends on a Saturday gets its own last day beside the name.
curl "https://shikshannivesh.com/api/v1/companies/MSFT/financials\
?basis=standard&period=annual" \
-H "Authorization: Bearer sn_live_your_key"
{ "company": { "symbol": "MSFT", "cik": "789019" },
"basis": "standard", "currency": "USD",
"annual": { "IS": {
"periods": [ …, "2025-06-30", "2026-06-30" ],
"lines": [
{ "label": "Revenue", "values": [ …, 281724000000, 331839000000 ] },
{ "label": "Gross profit", "values": [ …, 193893000000, 225465000000 ] },
{ "label": "Operating income", "values": [ …, 128528000000, 155237000000 ] },
{ "label": "Net income", "values": [ …, 101832000000, 133749000000 ] },
… ] },
"BS": { … }, "CF": { … } } }The other SEC filings under the same key
The statements are one part of the record. The same key reads 145 ratios worked out the same way for every company, revenue by business and region, every 8-K by the event it reports, Form 4 trades sorted into open-market purchases, sales, sales under a Rule 10b5-1 plan and pay taken in stock, each Form 144 notice matched to the Form 4 sale that followed it, Schedules 13D and 13G, and each 13F fund's holdings with what it opened, added, trimmed and sold. House trades and FINRA short interest sit in the same record.
The same record in Excel, Google Sheets and AI assistants
Any company's statements and ratios also download from its page as an Excel workbook. In Google Sheets the SN Data add-on puts a figure in a cell with =SN("MSFT", "revenue", 2026). An AI assistant that speaks MCP, such as Claude or ChatGPT, connects at shikshannivesh.com/mcp with your key and reads the same statements when you ask it a question.
What the free key covers, and what a plan adds
A free account's key answers 250 calls a day, at most 60 a minute, on the last 5 fiscal years of every covered company, and a repeat call that finds nothing changed, sent with its ETag, does not count against the day. The Individual plan, $19 a month, opens every year back to fiscal 2007 at up to 300 calls a minute for your own research. Professional, $49 a month, covers use at work inside one firm at 1,000 calls a minute.
So the SEC's API is free and returns each fact as the company tagged it, and building the statements is left to the code that calls it. SN Data returns the statements already built, in lines that match from one company to the next, with each period linked to the filing it came from.



