The insider trading API for real-time SEC Form 4 data.

REST API and webhooks for SEC Form 4 insider trades. Amendment-correct, 10b5-1 filtered, three years of history, free at 500 requests a day.

Recent significant buysLive · ~66s behind EDGAR
RWTDashiell I Robinson+$252K
KBDCJames L Robo+$4.4M
GLPGlobal GP LLC+$253K
ACOGOpaleye Management Inc.+$455K
ADCJohn Rakolta Jr+$1.4M
BORRTor Olav Troim+$4.3M
GET /v1/transactions?significant=true&code=P

Query in 30 seconds

curl https://api.form4api.com/v1/transactions \
  -H "X-Api-Key: fapi_live_your_key" \
  -G \
  -d "ticker=AAPL" \
  -d "per_page=5"
response200 OK
[
  {
    "ticker": "AAPL",
    "companyName": "Apple Inc.",
    "insiderName": "Cook Timothy D",
    "insiderTitle": "Chief Executive Officer",
    "isOfficer": true,
    "transactionCode": "S",
    "isOpenMarket": true,
    "is10b5Plan": false,
    "sharesAmount": 511000,
    "pricePerShare": 192.35,
    "totalValue": 98290850.00,
    "sharesOwnedAfter": 3200000,
    "transactionDate": "2026-05-01T00:00:00Z"
  }
]

What you only get here

Sized by how much each one matters. Not identical boxes.

Insider × institutional, in one query

Every /v1/transactions row carries an institutionalOwnership block: current quarter AUM, QoQ trend, top-3 13F-HR holders for that issuer. Filter for "insiders buying while institutions accumulate" in one call. 110K+ 13F-HR filings, 45M+ positions, $77T+ AUM under the hood. No competitor at this price point joins both sides.

100%

Amendment aware

Form 4/A amendments are resolved automatically. No double-counting. Competitors get this wrong: we handle it correctly.

Form 144 intent-to-sellBusiness

120K+ Form 144 "notice of proposed sale" filings indexed. Insiders disclose intent ~2 days before the actual Form 4 sale lands: early signal on discretionary vs pre-scheduled sales.

Insider sentiment scoreBusiness

Monthly MSPR-style sentiment per company on a –100 to +100 scale. Excludes 10b5-1 plan trades automatically, so the score reflects actual insider conviction, not pre-scheduled dispositions.

10b5-1 plan detection

Every transaction carries an is10b5Plan flag, and exclude_10b5=true is a free-tier filter, not paywalled. Separate planned sales from conviction trades in one query, on any plan.

~66s

Median EDGAR to API

Measured, not promised. Webhooks fire on that same pipeline, and you create one from the dashboard in seconds: no sales call, no minimum plan. Self-serve, near-instant webhooks are rare in this niche.

Post-trade returns, every tier

Every /v1/transactions row includes return1d through return6m: split-adjusted stock performance 1 day to 6 months after the filing. Included free. Only the return-screening filters require Pro.

Learn more about the insider trading API

Who reads this data

Quant and algo traders
Insider signal is a documented alpha factor. Feed Form 4 rows straight into a strategy on QuantConnect, Composer or Collective2.
Fintech newsletters
The same filings behind Unusual Whales and Insider Monkey, at a fraction of the cost, with a webhook instead of a scraper.
AI agents and tools
Clean JSON, an MCP server and Python and TypeScript SDKs, so a model can query filings without an HTML parser in the loop.
Corporate IR teams
Watch competitor insider activity and benchmark your own pattern. A webhook fires the moment a peer files.

See your dashboard before you sign up

Your key is shown once, then stored hashed. Watch usage against your plan limits in real time, and upgrade only when you actually need to — no card to get started.

Your API keyPro plan
Xq7K2mPv9Lt4Rw8Yz1Nc6Bf3Hg0Jd5As

Keep your key secret. Don't commit it to source control.

Usage

Daily requests1,240 / 50,000
1,240
Requests today
50,000
Daily limit
18,420
Requests this month
Pro
Plan
Get a key

What developers build with Form4API

I was building a stock‑insider trading analysis tool. Originally I tried to scrape EDGAR filings manually, dealing with messy raw XML parsing, pagination and amendment adjustments. Form4API’s Python SDK drastically cut my development work. I can fetch insider transaction records for tickers like AAPL and NVDA with just a few lines of code. Pagination is built‑in. Skip writing your own EDGAR scraper. The official Python client is clean and easy to integrate. If you need reliable Form‑4 insider‑trading data, this API saves you huge engineering overhead.
Zubulun, FounderReviewer received a free month of Pro

Pricing

We're onboarding customers directly right now. Leave your email and we'll reach out with plans and pricing.

Questions people actually ask

What is a Form 4 filing?
A Form 4 is a regulatory filing required by the U.S. Securities and Exchange Commission (SEC) under Section 16(a) of the Securities Exchange Act of 1934. Corporate insiders — officers, directors, and beneficial owners of more than 10% of a company's equity — must file a Form 4 within two business days of any change in their ownership of company stock or derivatives. The filing discloses the transaction type (purchase, sale, grant, exercise), the number of shares, the price per share, and the insider's resulting position. Form 4 data is the most direct public window into what people inside a company are doing with their own stock, which is why hedge funds, quant teams, and active investors treat it as a leading signal. All Form 4 filings are public on the SEC's EDGAR system within seconds of acceptance, and Form4API ingests every new Form 4 in real time from EDGAR's getcurrent feed — typically parsing it into structured JSON within about a minute of acceptance.
How fast does the SEC publish Form 4 filings?
The SEC requires insiders to file Form 4 within two business days of a reportable transaction, and EDGAR — the SEC's public filing system — publishes accepted filings to the public archive within seconds of acceptance. Form4API ingests new Form 4 filings in real time from EDGAR's getcurrent feed — typically parsing each one into structured JSON and dispatching webhook events within a minute or two of the filing being accepted on EDGAR. For comparison, manually checking EDGAR or refreshing a vendor dashboard introduces minutes-to-hours of delay. Our amendment-aware parser also reconciles Form 4/A corrections automatically so downstream consumers never see double-counted transactions. Customers building trading strategies, alerting systems, or compliance dashboards rely on this end-to-end latency to act on insider signals before the broader market repositions.
What's the difference between Form 4, Form 144, and 13F-HR?
These three SEC filings together describe what insiders and large investors are doing with U.S. equities, but each covers a different actor and a different transaction type. Form 4 is filed by corporate insiders (officers, directors, 10%-plus owners) within two business days of a change in their company stock ownership — it reports actual executed transactions. Form 144 is filed by the same kind of insider when they intend to sell restricted or control stock above a threshold; it's a notice of proposed sale, typically appearing about two business days before the matching Form 4 sale, making it an early signal on discretionary versus pre-scheduled disposals. 13F-HR is filed quarterly by institutional investment managers with at least $100 million in assets under management, disclosing all U.S. equity positions held at quarter-end. Form4API surfaces all three in a unified REST API with cross-references.
Do you handle Form 4/A amendments?
Yes — and this is the most common place competitor APIs get it wrong. When an insider files an amendment to a previously-filed Form 4 (designated Form 4/A), they're correcting an error in the original — typically a wrong share count, a wrong transaction code, or a missing transaction. Naive ingestion pipelines treat the amendment as a brand-new filing, which silently double-counts the transaction in downstream analytics. Form4API's amendment-aware parser detects the amendment relationship via the EDGAR accession-number link, retires the original transaction, applies the corrected values in place, and exposes a single canonical record at /v1/transactions with an isAmended flag and a link back to the original. Cluster-signal calculations, sentiment scoring, and any aggregations you build on top automatically use the corrected data. No reconciliation logic required in your code — the API guarantees one transaction per real-world event regardless of how many amendments the insider files.
Is this real SEC EDGAR data?
Yes. Every Form 4, Form 144, and 13F-HR filing exposed through Form4API is fetched directly from the SEC's public EDGAR system, parsed from the original XML or HTML source, and stored without modification of values, dates, or counterparty information. No values are derived, estimated, smoothed, or back-filled. The only enrichments we add are amendment-aware reconciliation (which corrects double-counts that exist in raw EDGAR), CUSIP-to-ticker mapping for 13F holdings (using OpenFIGI's authoritative database), 10b5-1 plan detection, and cluster-buy/sell signal flags — every one of these enrichments is computed from the underlying SEC data and is reversible to the original filing via the accession number we return on every record. Because the source is 100% public, you are never paying for the data itself — you are paying for sub-3-minute latency, amendment correctness, webhook delivery, and the unified schema across three filing types.
How does Form4API compare to sec-api.io or EODHD?
Form4API is the only one of the three with HMAC-signed webhooks by default — sec-api.io's real-time option is a WebSocket stream on its $199+/mo Business tier, and EODHD refreshes insider data on a daily batch. sec-api.io covers far more SEC form types overall, and EODHD bundles insider data into a broader market-data platform, so the right fit depends on whether push delivery or breadth matters more.Full sec-api.io comparisonFull EODHD comparisonAll providers compared
Can I cancel anytime?
Yes. Monthly subscriptions can be cancelled at any time from your billing page. You keep access until the end of the current billing period.
What counts as a request?
Every call to a data endpoint (transactions, filings, insiders, companies, signals) counts as one request. Health checks and webhook management calls are free.
What happens when I hit the rate limit?
Requests return 429 with a Retry-After header telling you exactly how many seconds to wait. Nothing is lost — just retry after the cooldown.

Get insider trading data in your app in two minutes

500 requests a day on the free tier. No card, no sales call.