Free Form 4 API
SEC Insider Data Guide
Use a free Form 4 API to turn SEC ownership XML into source-faithful JSON, then verify table structure, footnotes, amendments, latency, limits, and webhook behavior before integration.
Free Form 4 API: the task behind the search
A developer searching for a free Form 4 API usually wants more than a list of filings. The practical goal is a stable SEC insider trading data API that turns EDGAR ownership documents into queryable records, supports ticker or CIK filters, and preserves enough provenance to audit every result.
The engineering challenge is lossless normalization. A filing can contain several reporting owners, relationship flags, non-derivative Table I rows, derivative Table II rows, holdings-only rows, transaction rows, numbered footnotes, joint-filing context, a trading-plan indicator, and an amendment to an earlier submission. A convenient JSON schema is useful only if those relationships remain reconstructable.
Choose between two operating models. A source-first pipeline retrieves SEC submission metadata and ownership XML, stores immutable files, and parses them locally. A normalized provider API reduces parsing and indexing work, and may add ticker search or webhooks, but must still expose accession, source URL, original values, filing version, and a clear contract for corrections.
Normalize Form 4 and Form 4/A ownership XML into consistent JSON fields.
Filter by ticker, CIK, insider, filing date, transaction code, or accession.
Keep accession numbers, acceptance times, amendments, and original SEC links.
Distinguish a lasting free plan from a trial or beta and confirm production rights.
SEC Form 4 filings API fields, codes, and amendments
A useful JSON API should retain issuer and reporting-owner CIKs, owner roles, form and amendment identity, earliest transaction and acceptance times, security table and title, transaction and deemed execution dates, code and voluntary indicator, shares, price, acquired-or-disposed state, direct or indirect ownership, nature of indirect ownership, post-transaction holdings, derivative terms, underlying security, footnotes, accession, and source URL.
What transaction codes P and S mean
Code P commonly identifies an open-market or private purchase, while S identifies a sale. Do not discard other codes or infer meaning from acquired/disposed alone: grants, exercises, gifts, conversions, expirations, tax-related dispositions, and transfers can change holdings without carrying the same interpretation. Preserve the source code and footnotes before deriving a display label.
Preserve Table I and Table II relationships
Table I describes non-derivative securities; Table II describes derivative securities and their underlying instruments. Keep exercise or conversion price, exercisable and expiration dates, derivative units, underlying title and amount, and post-transaction derivative holdings. Do not merge a derivative unit with its underlying common-share amount or count both as the same exposure.
Footnotes are part of the data model
Footnotes can explain weighted-average prices, price ranges, ownership through trusts or entities, vesting, conversion terms, tax withholding, or trading-plan context. Store footnotes once, retain row-to-footnote references, and expose them with the normalized transaction. Flattening footnote text into an unrelated filing note breaks auditability.
Interpret the Rule 10b5-1 checkbox precisely
Current Forms 4 and 5 ask whether a reported transaction was made under a contract, instruction, or written plan intended to satisfy the affirmative-defense conditions of Rule 10b5-1(c), together with the plan adoption date. Preserve the checkbox and adoption date as source fields. A checked box describes the filer’s stated plan context; it does not by itself prove that every legal condition was satisfied, make the transaction non-material, or turn a sale into a new discretionary bearish opinion.
Worked interpretation: suppose an officer reports code S for 10,000 directly owned shares at a weighted-average price of $52.40, with 90,000 shares owned after the transaction. A linked footnote states that executions ranged from $52.10 to $52.75, and the Rule 10b5-1 box is checked with an adoption date. The normalized event should retain all five ideas separately: sale code, disposed quantity, weighted price plus range footnote, direct post-transaction holdings, and stated trading-plan context. Do not manufacture several trades from the price range or discard the range because the main row contains one average.
How to handle Form 4/A amendments
Store the raw filing and accession, link each amendment to the original record, and apply corrections without silently overwriting history. Deduplicate at the transaction level so a corrected filing does not create a second trade.
How to evaluate a free insider trading API
| Check | Verify | Risk if missing |
|---|---|---|
| Free access | Daily/monthly quota, expiry, card requirement, commercial license. | A demo may not support production. |
| Coverage | Companies, history, Form 4/A, derivative and non-derivative tables. | Silent gaps distort signals. |
| Latency | Observed time from EDGAR acceptance to API or webhook delivery. | “Real time” may be undefined. |
| Provenance | Accession, filing URL, timestamps, raw identifiers. | Results cannot be audited. |
| Schema fidelity | Multiple owners, Table I/II, holdings-only rows, row-footnote links, derivative-underlying relationships. | Flattening changes the meaning of the filing. |
| Correction contract | Original and Form 4/A lineage, changed fields, current version, replay behavior. | Amendments can duplicate or erase valid history. |
| Quality evidence | Filing, owner, row and footnote counts; unresolved rows; source hash. | A valid response may still be incomplete. |
| Operations | Pagination, retries, rate headers, status page, webhook signatures. | Integrations fail unpredictably. |
Integrate a free Form 4 API with Python and JSON
Step 1: query SEC Form 4 data by ticker or CIK
Start with one company and a narrow date range. Confirm authentication, response status, pagination, sort order, timezone, latest filing date, and whether the response returns transactions or only filing headers.
Step 2: normalize Form 4 insider transactions JSON
Model filing, reporting owner, security, transaction row, holding row, derivative terms, footnote, and source version as related entities rather than one flat record. Keep raw XML or provider JSON for replay, preserve source text values, and derive typed numbers only with explicit null and unit rules.
Step 3: add Form 4 API webhook alerts safely
Verify webhook signatures, acknowledge quickly, process asynchronously, and make the consumer idempotent using an event ID or accession plus transaction identity. Reconcile webhook events against a periodic API pull.
Step 4: reconcile normalized output with source XML
For each fixture, compare reporting-owner count, Table I and II row counts, holdings-only rows, transaction rows, footnotes, amendments, and source hash. Include joint ownership, weighted prices, indirect holdings, derivatives, null prices, and multiple same-day transactions.
Step 5: version corrections without losing public history
Link Form 4/A to the original lineage, identify which owners, rows, holdings, or footnotes changed, and publish a deterministic current view. Keep the earlier public version for point-in-time research and emit a correction event for downstream consumers.
Step 6: measure webhook completeness and replay
Track SEC acceptance-to-delivery latency, duplicate rate, missed events, out-of-order amendments, retry attempts, and replay support. Periodic source reconciliation is required even when the webhook appears reliable.
Use QVeris to discover Form 4 data capabilities
QVeris helps developers and AI agents discover and inspect available capabilities. Open the QVeris tool details for raw SEC ownership filings, parsed Form 4 JSON, ticker search, or webhook delivery, then inspect XML/JSON fidelity, owner and row identity, Table I/II support, footnotes, amendments, source links, filters, latency, replay, limits, and provider terms before routing a call. See the QVeris documentation for integration concepts.
FAQ
Is there a free API for SEC Form 4 filings?
Some providers offer a continuing free tier or temporary beta; SEC source files are public. Check quotas, history, license, authentication, schema fidelity, amendments, source links, and production rights.
Does the SEC have an API for Form 4?
SEC interfaces expose submission metadata and public filings, and the SEC publishes insider transaction datasets. Developers may still need to retrieve and parse ownership XML under SEC access guidance.
What is the difference between Table I and Table II?
Table I covers non-derivative securities. Table II covers derivative securities and their exercise, expiry, and underlying-security terms. They should remain separate but linked within the filing.
Why are Form 4 footnotes essential?
They can explain weighted prices, indirect ownership, vesting, conversion, tax, and trading-plan context. An API should preserve row-to-footnote references, not only filing-level text.
How quickly are Form 4 filings available?
They are generally filed after a reportable transaction under the applicable deadline. Measure SEC acceptance-to-API or webhook delivery separately from transaction-to-filing delay.
How do I handle Form 4/A amendments?
Link the amendment to the original lineage, preserve both raw versions, identify changed owners, rows and footnotes, publish a deterministic current view, and avoid duplicate events.
How should a Form 4 API be tested?
Use fixtures with multiple owners, both tables, holdings-only rows, indirect ownership, derivatives, weighted prices, null prices, footnotes, joint filing, and an amendment; reconcile counts to source XML.
Authoritative references and next steps
Use the SEC EDGAR application programming interfaces, SEC Exchange Act Rules interpretations, and SEC privacy and security policy as sources for official access and field context. Provider documentation can explain a normalized schema, but it does not replace the original filing.
