// insider-trading-api
The SEC insider trading API for developers
Real-time access to every Form 4, Form 144, and 13F-HR filing from SEC EDGAR. Webhooks fire within minutes of acceptance. Amendment-aware, 10b5-1 plan-flagged, with 2.5+ years of historical data. Built for developers, quants, and fintech teams who need clean structured data — without writing an EDGAR scraper.
500 free requests/day · no credit card · up and running in two minutes
// definition
What is an insider trading API?
An insider trading API is a programmatic interface that exposes corporate-insider transaction data — purchases, sales, grants, option exercises — filed by directors, officers, and 10%-plus shareholders with the U.S. Securities and Exchange Commission. These filings, principally on Form 4 under Section 16(a) of the Securities Exchange Act of 1934, are public record and must be filed within two business days of the transaction.
An insider trading API parses every new Form 4 from the SEC's EDGAR system and exposes the data as structured JSON: ticker, insider name and role, transaction code, shares, price, value, post-transaction holdings, and references to the originating SEC filing. Typical buyers include quantitative trading desks, fintech application builders, news and research products, compliance teams, and investor relations tools.
Form4API extends the standard insider-trading endpoint set with Form 144 (intent-to-sell notices), 13F-HR (institutional holdings), and amendment-aware reconciliation across all of them.
// differentiators
Why Form4API for insider trading data?
Amendment-aware parsing
Form 4/A amendments are reconciled against their original filing automatically. No double-counted transactions in your analytics. Most competitor APIs get this wrong.
10b5-1 plan detection
Every transaction carries an is10b5Plan boolean. Pre-scheduled plan trades are flagged at the row level and excluded from signal endpoints by default.
Form 144 + 13F join
Notices of proposed sale (Form 144) and quarterly institutional holdings (13F-HR) sit under the same auth and schema as Form 4. Query insider buys and institutional accumulation in one place.
Sub-three-minute webhooks
Median time from SEC EDGAR availability to webhook delivery is under three minutes. Signed payloads, automatic retries, no polling required.
Genuine free tier — most generous in the niche
15,000 requests/month (500/day), one read-only webhook, full data history, all REST endpoints. No credit card required. Free tier is the same API as Pro — only the limits change. For comparison: SEC-API.io offers 100 lifetime calls, StockInsider has no free tier at all.
Post-trade returns built in
Every /v1/transactions row includes return1d, return1w, return1m, return3m, return6m. Anchored to filedAt (information availability), split-adjusted. Pro+ adds return-range filters for screening.
// reference
Endpoints available in the API
Five primary list endpoints cover the full insider-trading and institutional-holdings surface. Authentication is a single API key in the X-Api-Key header — no OAuth, no token refresh. Responses are UTF-8 JSON; numbers are JSON numbers (not strings), monetary values in USD.
Insider transactions
Every individual insider trade parsed from a Form 4 filing. One record per row of the Form 4 table. Filter by ticker, insider CIK, transaction code, date range, or — on Pro+ — by post-trade return horizon. Excludes 10b5-1 plan trades when you pass ?exclude_10b5=true.
curl "https://api.form4api.com/v1/transactions?ticker=NVDA&code=P&per_page=5" \
-H "X-Api-Key: YOUR_API_KEY"Filing-level records
One record per Form 4 filing (versus one per transaction). Useful when you want to count distinct filings, work with amendment chains via the isAmended + amendedFromAccessionNumber fields, or join transactions to their originating filing context.
curl "https://api.form4api.com/v1/filings?per_page=10" \
-H "X-Api-Key: YOUR_API_KEY"Insider profiles
Director, officer, and 10%+ shareholder profiles by SEC CIK number. Returns name, current roles (isDirector / isOfficer / is10PctOwner flags), officer title when disclosed, and links to that insider's full transaction history.
curl "https://api.form4api.com/v1/insiders/0001214156" \
-H "X-Api-Key: YOUR_API_KEY"Cluster buy/sell signals
Triggered when three or more insiders at the same company independently file Form 4 transactions in the same direction within a 5-day window. The signal automatically excludes 10b5-1 plan trades, so what you see is discretionary conviction. Business tier and higher.
curl "https://api.form4api.com/v1/signals?cluster_buy=true&per_page=5" \
-H "X-Api-Key: YOUR_API_KEY"13F-HR Institutional Holdings
Quarterly Form 13F-HR holdings from every institutional manager with $100M+ AUM. Filter by ticker, CUSIP, manager CIK, quarter, or minimum position value. CUSIP-to-ticker mapping via OpenFIGI is built in. Business tier and higher.
curl "https://api.form4api.com/v1/holdings?ticker=AAPL&per_page=3" \
-H "X-Api-Key: YOUR_API_KEY"// build vs buy
Why use an API instead of scraping SEC EDGAR?
Building an in-house EDGAR scraper looks cheap on day one. By month three the hidden costs start to surface. The specific things that make a serious insider-trading pipeline harder than it looks:
- ·Form 4 XML schema variants. The SEC accepts more than a dozen filing-schema variations across the dataset. Each requires its own parser branch and validation. Form4API maintains the parser as a separate concern from your application code.
- ·Out-of-order amendments. Form 4/A amendments arrive after their originals — sometimes weeks later. A scraper without reconciliation logic will double-count the underlying transaction in every downstream aggregation. The API guarantees one canonical record per real-world event.
- ·EDGAR's fair-use ceiling. The SEC publishes a fair-use rate limit of 10 requests per second from a single User-Agent. A serious downstream gets rate-limited if it shares network with anything else on the same egress IP. The API absorbs that constraint.
- ·10b5-1 plan flagging. 10b5-1 plan detection requires reading the Form 4 footnote section, which is unstructured text. Form4API flags every such trade at the field level.
- ·CUSIP-to-ticker for 13F. Mapping the CUSIPs in 13F-HR holdings to tickers requires a separate paid OpenFIGI subscription or a maintenance commitment to keep your own mapping fresh. The API ships this resolved.
// real-time
Real-time webhooks for new insider filings
Subscribe a publicly-reachable HTTPS endpoint and receive a signed POST every time a new Form 4 transaction is parsed. Free tier subscribers receive raw TransactionFiled events; Pro and above also receive ClusterBuy and ClusterSell signal events. Payloads are HMAC-signed, retries are automatic with exponential backoff, and the dispatcher continues serving live ingestion even when a subscriber endpoint is temporarily down.
POST /your-endpoint
X-Insider-Signature: sha256=<hmac>
Content-Type: application/json
{
"eventType": "TransactionFiled",
"occurredAt": "2026-06-07T13:42:18Z",
"data": {
"ticker": "NVDA",
"insiderName": "Huang Jensen",
"insiderTitle": "Chief Executive Officer",
"transactionCode": "S",
"isOpenMarket": true,
"is10b5Plan": false,
"sharesAmount": 240000,
"pricePerShare": 875.40,
"totalValue": 210096000.00,
"transactionDate": "2026-06-05T00:00:00Z",
"accessionNumber": "0001045810-26-000245"
}
}See the webhooks documentation for signature verification examples in Python, Node, and Go.
// pricing
Insider trading API pricing
Four tiers. Each tier is the same API — only quota, rate limit, and unlocked feature endpoints change. No annual contracts, no usage spikes, cancel any time.
Free
$0
500 req/day, 1 read-only webhook, full data history. No credit card.
Pro
$49/mo
50,000 req/day, 5 webhook endpoints, return-range filters.
Business
$149/mo
250,000 req/day, signals + sentiment, Form 144 + 13F-HR Holdings, 25 webhooks.
Enterprise
$499/mo
Unlimited requests, unlimited webhooks, Slack + SLA, dedicated rate-limit pool.
See full plan comparison.
// faq
Frequently asked questions
How real-time is insider trading data from the SEC?
Form 4 filings become public on the SEC EDGAR system within seconds of acceptance. The SEC requires insiders to file Form 4 within two business days of any reportable transaction. Form4API polls EDGAR every 10 minutes for new submissions, parses each Form 4 into structured JSON, and dispatches webhook events to subscribers — typically within 2–5 minutes of the filing appearing on EDGAR. Median time from EDGAR availability to webhook delivery is under 3 minutes. Trading systems and alerting tools rely on this end-to-end latency to act on insider signals before broader market repositioning. Manual EDGAR checks or vendor dashboards typically introduce minutes-to-hours of delay; the API path is purpose-built for sub-three-minute fan-out.
What does "amendment-aware" mean for an insider trading API?
Amendment-aware parsing means the API reconciles Form 4/A amendments against their original Form 4 records automatically. When an insider files an amendment to correct an earlier filing — typically a wrong share count, transaction code, or missing trade — naive ingestion pipelines treat the amendment as a brand-new filing and silently double-count the transaction in downstream analytics. Form4API's parser detects the amendment relationship via the EDGAR accession link, retires the original record, and applies corrected values in place. The result is exactly one transaction record per real-world event, regardless of how many amendments the insider files. Cluster signals, sentiment, post-trade returns, and your own aggregations all see the corrected data with no reconciliation logic required in your code.
Can I filter insider trades by 10b5-1 plan status?
Yes. Every transaction record exposes a boolean is10b5Plan field that flags whether the trade was executed under a Rule 10b5-1 pre-scheduled trading plan. Pre-scheduled trades are automatic — the insider does not make a real-time decision to trade — so they carry no conviction signal. Pass ?exclude_10b5=true on any list endpoint to drop them from the response, or filter client-side using the boolean. The /v1/signals (cluster buy/sell detection) and /v1/sentiment (monthly MSPR-style insider sentiment) endpoints automatically exclude 10b5-1 plan trades from their calculation, so what you see in those endpoints is discretionary insider conviction only. This is one of the most common requests from quant teams evaluating the API.
Does the API include Form 144 and 13F-HR data?
Yes. Form4API extends the standard Form 4 endpoint set with Form 144 (insider notices of proposed sale, filed roughly two business days before the matching Form 4 sale — an early indicator on discretionary versus pre-scheduled disposal) and Form 13F-HR (quarterly institutional-investor holdings from every manager with $100M+ AUM, with CUSIP-to-ticker mapping via OpenFIGI built in). Both surface under the same authentication and same JSON conventions as Form 4 transactions. Form 144 access is included on the Business tier and higher; 13F-HR Holdings are also a Business tier feature. The unified schema across all three filing types — Form 4, Form 144, 13F-HR — is one of the differentiators no competitor at this price point matches.
What are the rate limits on the free insider trading API tier?
The Free tier includes 500 requests per day and 20 requests per minute, with full historical data (2.5+ years), all read-only endpoints, and one read-only webhook subscription. No credit card is required to sign up. When you exceed either quota the API returns HTTP 429 with a Retry-After header indicating exactly how many seconds to wait — quotas reset at midnight UTC. The Free tier is generous enough for development, testing, and small personal projects. Pro ($49/mo) raises the daily quota to 50,000 and the rate to 200/min; Business ($149/mo) unlocks Form 144, 13F-HR, signals, and sentiment with 250,000 daily requests; Enterprise ($499/mo) removes the daily ceiling.
Can I use the insider trading API for backtesting or quantitative research?
Yes. Every transaction record returned by /v1/transactions includes post-trade return enrichment — return1d, return1w, return1m, return3m, return6m — computed as the stock's split-adjusted percentage change at 1 / 5 / 21 / 63 / 126 trading days after the filing publication. Returns are anchored to filedAt (the moment information became public on EDGAR), not transactionDate, because that is when a trader could have acted on the signal. The Pro tier exposes return-range filters (min_return_3m=0.20 for "purchases that returned >20% three months later") for hypothesis testing at query time. Historical depth is 2.5+ years; pulls beyond ~6 months yield fully populated return horizons.
// start
Start using the insider trading API
in two minutes
Free tier — 500 requests per day, no credit card, no sales call. Sign up, grab your API key, and you can ship your first feature this afternoon.