Fundamentals that arrive ready to render

  • One schema for every company, no per-filer branching
  • Raw XBRL mapped onto standardized line items
  • Derived fields marked as derived, never mixed in
  • Nulls where a company did not report, not zeros
income-statement?symbol=AAPL
// same shape for every company, no per-filer special cases
{
  "fiscalYear": 2026,
  "fiscalPeriod": "Q3",
  "period": "2026-06-26",
  "facts": {
    "revenue": 109417000000,
    "grossProfit": 54770000000,
    "operatingIncome": 35695000000,
    "netIncome": 29789000000,
    "epsDiluted": 2.02,
    // ...
  }
}

Charts are a two-line integration

  • History returns compact [timestamp, price] tuples
  • Feed the array straight to your charting library
  • Daily, weekly, or monthly bars from one parameter
  • Already split-adjusted, so no cliffs in the line
  • Batch quotes for up to 50 symbols in one call
AAPL/api/price/history
the payload behind it
// GET /api/price/history?symbol=AAPL&resolution=1mo
{
  "symbol": "AAPL",
  "resolution": "1mo",
  // [timestamp_ms, adjClose] — feed straight to a chart library
  "data": [
    [1782864000000, 308.9100036621094],
    [1785542400000, 303.4200134277344],
    [1785974400000, 312.4100036621094]
    // ...
  ],
  "latestQuote": {
    "close": 312.4100036621094,
    "volume": 45392526
  }
}

Splits and dividends already handled

  • Per-share history stays continuous across splits
  • Forward and reverse splits with the exact ratio
  • Dividend per share, payout ratio, and coverage
  • Split-adjustment you can switch off when you need as-filed
stock splits
// GET /api/company/stock-splits?symbol=NVDA
[
  {
    "date": "2024-06-30",
    "ratio": 10,
    "type": "forward",
    "firstDisclosedAt": "2024-08-28"
  },
  {
    "date": "2021-07-19",
    "ratio": 4,
    "type": "forward",
    "firstDisclosedAt": "2021-08-20"
  }
]
dividend history
// GET /api/earnings/dividend-history?symbol=AAPL
[
  {
    "fiscalYear": 2025,
    "dividendPerShare": 1.03,
    "totalDividendsPaid": 15421000000,
    "payoutRatio": 0.1377,
    "dividendCoverage": 7.2292,
    "dividendGrowth": 0.0391
  }
]

Straight from SEC EDGAR

  • No third-party aggregators in the chain
  • Every number traceable to its source filing
  • New filings processed within hours
  • One vendor instead of seven
Featured on
StockFit API - Structured SEC Data API for Developers | Product HuntStockFit API - Featured on Startup FameStockFit API - Featured on PeerPushListed on BacklinkLog

Everything your app needs

One key, one schema, one bill. Fundamentals, prices, corporate actions, and people.

Financials API

Income statement, balance sheet, and cash flow on one normalized schema. Growth rates, sector-aware ratios, and chart-ready series so you are not deriving them client-side.

Price API

Latest OHLCV quotes for up to 50 symbols in a single call, plus historical bars. Unresolvable tickers come back as null rather than failing the whole batch.

Earnings, Dividends & Splits

EPS and dividend history with payout ratio and coverage, forward and reverse splits with exact ratios, and predicted earnings dates for your calendar screens.

Executives API

Officers and their roles, compensation versus performance from DEF 14A proxy statements, and governance flags. The people pages most apps have to fake.

Company Lookup

Search by ticker, CIK, CUSIP, FIGI, or name, with batch resolution and former-name search. Company profiles carry sector, industry, and contact details.

ETF & Fund Data

Holdings updated every trading day plus quarterly NPORT-P positions, fund profiles, flows, fees, and overlap analysis across funds.

Stock market API for developers: fundamentals, real-time-ready quotes and historical prices, dividend and stock split history, earnings dates, executive profiles, SEC filings, and ETF holdings. One REST API, one key, JSON responses on a single schema.

Updated Daily

Fresh data from SEC EDGAR every trading day

Official Source

Parsed directly from XBRL filings — fully traceable

Developer First

Simple REST API with clear JSON responses

Frequently asked questions

Every endpoint mentioned links to its full Swagger documentation.

How many API calls does it take to build a company page?+
Usually three or four. GET /api/company/details for the profile, /api/financials/income-statement for the statements, /api/price/quote for the current quote, and /api/earnings/eps-history for the EPS series. The quote endpoint takes up to 50 symbols at once, so a watchlist screen is a single request rather than one per row.
Do you have price data, or only fundamentals?+
Both. GET /api/price/quote returns the latest OHLCV snapshot for up to 50 comma-separated symbols in one call, keyed by ticker, with unresolvable symbols coming back as null instead of failing the batch. /api/price/history returns historical bars for charting.
Is the schema the same for every company?+
Yes. Raw XBRL is mapped onto a standardized set of line items, so revenue is revenue whether the filer tagged it as Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, or a company-specific concept. You write the rendering code once. Where a company genuinely did not report a line, the field is absent rather than zero, so your charts do not draw a false zero.
How do you handle stock splits?+
Per-share values are split-adjusted by default, so an EPS or dividend chart stays continuous across a split instead of showing a cliff. Pass splitAdjust=false for the values exactly as filed. The split events themselves are at GET /api/company/stock-splits with the date, the ratio, and whether it was forward or reverse, and there is a market-wide feed of recent splits at /api/company/recent-stock-splits.
Is split data suitable for a corporate-actions alert?+
Not on its own, and it is worth knowing why. Splits are sourced from XBRL footnotes in 10-K and 10-Q filings, so firstDisclosedAt is when the fact appeared in a filing, not when the split was announced. NVIDIA's 10-for-1 split dated 2024-06-30 first appeared in a filing on 2024-08-28. For historical charts and adjustment that is exactly right; for real-time alerts, pair it with a dedicated corporate-actions feed.
What dividend data is available?+
GET /api/earnings/dividend-history returns dividend per share, total dividends paid, payout ratio, dividend coverage from operating cash flow, and year-over-year growth. Non-paying companies return null values rather than an error, so you can call it unconditionally.
Can I show executives and their pay?+
Yes. GET /api/executives/officers returns officers and roles, /api/executives/compensation returns pay versus performance from DEF 14A proxy statements, and /api/executives/governance returns governance flags. This is the section most apps leave out because assembling it from proxy statements is tedious.
What identifiers can I resolve?+
Ticker, CIK, CUSIP, FIGI, and company name, individually or in bulk via GET /api/lookup/batch. Former company names are searchable at /api/lookup/former-names, which matters more than it sounds: tickers get reassigned to different companies, so resolving by CIK keeps a saved watchlist pointing at the company the user actually picked.
How current is the data?+
New SEC filings are processed continuously as they publish on EDGAR, and most are queryable within hours of being filed. Fund holdings from issuer websites update every trading day.
Can I cache responses?+
Yes, and you should. Fundamentals only change when a company files, so caching a statement response until the next expected filing date is safe and keeps you well inside the daily quota. Quotes are the only endpoint family where a short TTL makes sense.
Is there a free tier?+
Yes, and it needs no credit card. It covers company details, financial statements, prices, and filings, which is enough to build and ship a working app. Paid plans raise the daily quota and unlock insider transactions, institutional ownership, executive compensation, and the ETF endpoints.
Does it work with AI assistants and agents?+
Yes. StockFit supports the Model Context Protocol, so Claude Desktop, Claude Code, Cursor, and VS Code Copilot can query the same endpoints directly. Every API endpoint is automatically available as an MCP tool, and your API key is also your AI key.

Start building today

Get your free API key in seconds. No credit card required.