// 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 3+ 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.
Real-time Form 4 webhooks
New Form 4 filings are ingested in real time from EDGAR's getcurrent feed and dispatched as webhooks typically within a minute or two of SEC acceptance. Signed payloads, automatic retries, no polling required.
Genuine free tier
15,000 requests/month (500/day), one read-only webhook, full data history at 20 pages of query depth, and every core endpoint: transactions (with post-trade return fields and a min_value screen), insiders, companies, filings. No credit card, no expiry. Pro adds return and advanced trade-size filters, unlimited query depth, and insider scorecards; Business adds signals, 13F holdings, and Form 144.
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.
See how these differentiators stack up against sec-api.io, EODHD, EdgarTools, and other providers in the full comparison.
// 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. Every tier, including Free's single read-only webhook, can subscribe to all three event types: TransactionFiled, ClusterBuy, and ClusterSell. Paid tiers raise the number of concurrent subscriptions, not which event types you can receive. 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
Every tier uses the same base URL, auth, and response schema. Higher tiers raise quotas and unlock feature endpoints (signals, holdings, Form 144) and query-time filters (returns, trade size). No annual contracts, cancel any time.
Free
$0
500 requests/day, free forever. No credit card, no expiry.
Pro
$49/mo
For developers building trading tools.
Business
$149/mo
For teams and production applications.
Enterprise
$499/mo
For high-volume and institutional use.
| Plan | Free $0 | Pro $49/mo | Business $149/mo | Enterprise $499/mo |
|---|---|---|---|---|
| Limits | ||||
Requests / day | 500 | 50,000 | 250,000 | Unlimited |
Requests / minute | 20 | 200 | 500 | 2,000 |
Webhook endpoints | 1 (read-only) | 5 | 25 | Unlimited |
Query depth on /v1/transactions Max page number per query; deeper pages return 402 with the upgrade path. Bulk pulls: /v1/transactions/export (Business+) | 20 pages | Unlimited | Unlimited | Unlimited |
| Data | ||||
Core endpoints (transactions, insiders, companies, filings, stats) | ||||
Post-trade return fields (return1d to return6m) Included in every /v1/transactions response, on all tiers | ||||
Full data history (3+ years) | ||||
| Features | ||||
Minimum-value screen (min_value) Query-time filter on /v1/transactions, available on every plan | ||||
Filter by returns and trade size (max value, shares, return) Query-time screening params on /v1/transactions (min_value is free on every plan) | ||||
Insider scorecard + career summary | ||||
Signals + sentiment, insider leaderboard | ||||
13F holdings + managers, Form 144 | ||||
Bulk CSV export | ||||
| License & support | ||||
Commercial-use license | ||||
Support | Community | Email (48h) | Email (24h) | Slack + SLA |
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 ingests new Form 4 filings in real time from EDGAR's getcurrent feed, parses each into structured JSON, and dispatches webhook events to subscribers — typically within a minute or two of the filing being accepted on EDGAR. 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 real-time 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 (3+ years), every core endpoint (transactions with return fields, insiders, companies, filings), 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 over 20% three months later") for hypothesis testing at query time. Historical depth is 3+ 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.