The Finance Data API
Factual U.S. equity data — SEC filings, insider transactions, 13F institutional holdings and earnings recaps — as clean JSON. License-safe, privately run, rate-limited per plan. General information only, never advice.
Rate limits by plan
| Plan | Req/min | Req/day | Max page | AI narrative |
|---|---|---|---|---|
| Pulse | 10 | 200 | 10 | facts only |
| Signal | 60 | 5000 | 50 | ✓ |
| Insider | 180 | 50000 | 100 | ✓ |
| Founders | 300 | 200000 | 200 | ✓ |
Every plan gets the public-domain SEC facts (numbers, dates, filings). Paid plans additionally receive the AI-written factual summaries. Responses carry X-RateLimit headers, and over-limit calls return HTTP 429 with Retry-After.
Endpoints
Base URL: https://investwhen.com/api/v1 · Authenticate with a header: Authorization: Bearer <key>
GET /api/v1/metaYour plan, limits and current usage.GET /api/v1/finance/reports?ticker=AAPLFactual company profiles (list, or one ticker).GET /api/v1/finance/insiders?ticker=TSLAOpen-market insider (Form 4) buy/sell signal + notable trades.GET /api/v1/finance/whales?cik=106798313F institutional holdings and quarter-over-quarter moves.GET /api/v1/finance/earnings?ticker=NVDAFactual earnings recaps from companies' own 8-K releases.GET /api/v1/finance/filings?ticker=MSFTRecent SEC filings with factual summaries.Common query params: limit (capped at your plan's max page), ticker / cik.
Example
curl -s https://investwhen.com/api/v1/finance/insiders?ticker=TSLA \
-H "Authorization: Bearer iw_live_your_key_here"
OpenAPI spec
The whole surface as a machine-readable OpenAPI 3.1 document — import it into Postman, Insomnia or an SDK generator instead of hand-writing a client. It needs no key to read, and the rate limits in it are generated from the ones the API actually enforces, so they cannot drift.
# import into any OpenAPI tool
curl -s https://investwhen.com/api/v1/openapi.json -o investwhen.json
# or generate a typed client (example: Python)
openapi-python-client generate --url https://investwhen.com/api/v1/openapi.json
{
"ok": true,
"api_version": "v1",
"license": "SEC EDGAR (U.S. government, public domain) + InvestWhen factual summaries…",
"count": 1,
"data": [{
"type": "insider", "ticker": "TSLA", "window_days": 90,
"net_usd": -4200000, "n_buys": 0, "n_sells": 3, "cluster_buying": false,
"notable": [{"insider": "…", "role": "Director", "code": "S", "value_usd": 1800000, "date": "2026-06-14"}]
}]
}
Data is drawn from SEC EDGAR (U.S. public domain) and InvestWhen's own factual summaries. It is general, audience-wide market information — not investment advice, not a personal recommendation, and not a solicitation to buy or sell any security. See the Terms and DPA.