QVeris
SEC Form 4 Data Guide

Free Insider Trading API
for SEC Form 4 Data

Find, evaluate, and implement a free insider trading API for SEC Forms 3, 4, and 5 while preserving transaction codes, ownership paths, filing versions, and source evidence.

Free Insider Trading API whiteboard showing SEC Form 4 filings normalized, filtered into insider buys and sells, and delivered to an app or agent

What a free insider trading API actually needs to do

A developer-ready API turns public corporate-insider ownership filings into usable JSON without discarding the filing context. Form 3 establishes an insider’s reported ownership when the reporting obligation begins, Form 4 reports changes in beneficial ownership, and Form 5 is an annual statement for transactions or holdings reportable there. A complete workflow may need all three forms and their amendments, even when the product’s main filter is recent Form 4 activity.

A filing is evidence of a reported ownership event, not a self-explanatory “bullish buy” or “bearish sell.” Transaction code, acquired/disposed flag, security type, direct or indirect ownership, derivative terms, footnotes, and post-transaction holdings must be read together. Grants, option exercises, tax withholding, gifts, transfers, and transactions under a trading plan can produce share changes that should not be grouped blindly with discretionary open-market purchases or sales.

“Insider trading data” here means lawful public disclosures by officers, directors, and certain beneficial owners. It is not nonpublic information or a trading recommendation.

What an SEC Form 4 API should return

A useful API preserves the source filing while normalizing issuer, reporting owner, relationship, non-derivative and derivative tables, transaction, ownership form, post-transaction holdings, footnotes, and amendment state. Always retain accession number, filing URL, original filing date, and provider ingestion time so each normalized event can be verified against the authoritative record.

Field groupExamplesWhy it matters
IssuerTicker, CIK, company nameCompany lookup and joins
Reporting ownerName, CIK, officer/director statusRole-aware filtering
TransactionDate, deemed date, code, voluntary flag, shares, price, acquired/disposedSeparate market trades, awards, exercises, gifts, tax and other events
OwnershipDirect/indirect, nature of indirect ownership, holdings after transactionAvoid double-counting entities, trusts, family and controlled holdings
Derivative securityExercise price, exercisable and expiration dates, underlying title and amountInterpret options, warrants and convertibles separately from common stock
Filing contextForm type, amendment, 10b5-1 indicator, footnotes, joint filingPreserve explanation and filing lineage
ProvenanceAccession, filedAt, source URLAudit and freshness checks

How current is insider trading API data?

The SEC explains that Form 4 is generally filed within two business days of the transaction. API freshness begins only after publication. Track transaction date, deemed execution date when present, SEC filing time, amendment time, and provider ingestion time separately; “real-time insider data” can only describe low processing delay after disclosure, not instantaneous knowledge of the underlying transaction.

Three ways to obtain SEC insider transaction data

The best route depends on whether the application needs authoritative source documents, normalized records, or a callable capability that can switch among providers. These layers can complement each other: use a normalized API for product speed, but retain an EDGAR link and accession number for verification.

RouteBest fitMain engineering work
SEC EDGAR source filesAuthoritative evidence, bulk research, custom classification, and independent verification.Follow SEC access guidance, discover filings, parse ownership XML, resolve issuers and owners, process amendments, and preserve source versions.
Normalized provider APIDashboards, alerts, issuer pages, and prototypes that need JSON quickly.Verify form and history coverage, code fidelity, footnotes, amendments, pagination, latency, free limits, and licensing. Alpha Vantage and Finnhub document insider-transaction capabilities, but current plan access must be checked.
Capability discovery layerAgents and multi-source applications that need to inspect an input/output contract before routing a call.Keep provider identity and evidence visible, normalize only documented fields, and apply the same acceptance tests to every routed source.

Worked classification: share count alone is not a buy or sell signal

Consider three records that all increase an officer's reported shares. A transaction with code P, an acquired indicator, a cash price, and non-derivative common stock is a candidate open-market purchase. Code M may represent an option exercise and should be paired with the derivative table, exercise price, underlying shares, and any same-day disposal. Code A may represent a grant or award rather than a discretionary purchase. The change in holdings is real in each case, but the economic event and its interpretation differ.

A sale record also needs context. Shares withheld for taxes, gifts, transfers among controlled entities, and a sale marked under a Rule 10b5-1 trading arrangement should remain distinguishable from an unplanned open-market disposition. Footnotes may explain weighted-average prices, multiple executions, ownership through a trust, or why a value is blank. If those details are flattened into a single “buy/sell” label, the API has made the data easier to display but less reliable to interpret.

Match the output to the product

Insider alert

Include code, security type, price status, ownership form, 10b5-1 indicator, filing time, and a source link. Alert only after classification rules pass.

Company activity page

Group transactions by filing and owner, show amendments and footnotes, and avoid summing grants, exercises, purchases, and sales into one number.

Research database

Keep point-in-time filing versions, stable CIK joins, delisted issuers, raw XML, and reproducible classification logic.

Agent response

Return the normalized event together with confidence, excluded context, source accession, and a warning that disclosure is not investment advice.

How to choose a free insider trading API

1. Confirm scope and provenance

Check whether the stock insider trading API covers all Form 4 filings, amendments, derivative transactions, and source links—not only highlighted open-market buys.

2. Read the free-tier limits

Record requests per day or month, historical depth, rate limits, required API key, credit-card requirement, and permitted commercial use.

3. Test identifiers and transaction codes

Verify ticker-to-CIK joins and distinguish purchase code P, sale code S, grants, exercises, indirect ownership, and amended filings.

4. Compare a sample with EDGAR

Select several records and reconcile shares, price, ownership type, filing time, and accession number against SEC EDGAR before building automation.

5. Test difficult filings and footnotes

Include an amendment, joint filing, indirect holding, weighted-average price, derivative exercise, null price, multiple transactions, and a 10b5-1 indicator. These reveal whether the API preserves meaning or merely flattens rows.

6. Define alert rules from codes, not labels

Build categories from documented transaction code, acquired/disposed status, security table, and footnote context. Keep a review queue for unfamiliar combinations instead of forcing every row into “buy” or “sell.”

Insider trading API Python implementation

The exact endpoint and authentication scheme depend on the selected provider. Keep the client configurable, validate HTTP status and schema, and preserve the source filing identifier.

Minimal REST request pattern

import os
import requests

url = os.environ["INSIDER_API_URL"]
headers = {"Authorization": f"Bearer {os.environ['INSIDER_API_KEY']}"}
params = {"ticker": "AAPL", "transaction_code": "P", "limit": 25}

response = requests.get(url, headers=headers, params=params, timeout=20)
response.raise_for_status()
records = response.json()

for item in records.get("data", records):
    print(item.get("ticker"), item.get("transactionDate"),
          item.get("shares"), item.get("accessionNumber"))

Production checks before automation

  • Paginate until the provider signals completion; do not assume one response contains every owner, transaction, table, or footnote.
  • Store raw XML or source response immutably, then key normalized rows by accession, owner, security table, transaction identity, and amendment version.
  • Apply amendments as versioned corrections rather than blindly adding or deleting the original filing.
  • Preserve transaction code, voluntary flag, acquired/disposed state, direct/indirect ownership, derivative terms, and footnote references before assigning a human-readable category.
  • Treat null or zero price, weighted-average price, gifts, grants, exercises, tax withholding, and indirect transfers explicitly.
  • Back off on 429 responses, cache stable source versions, and measure source-to-provider ingestion latency separately from transaction-to-filing delay.

Use QVeris to inspect API capabilities before calling

QVeris helps agents discover and inspect callable financial-data capabilities before execution. Use QVeris tool details to distinguish raw ownership filings, normalized Form 4 transactions, issuer activity, and reporting-owner history. Inspect form coverage, identifier and date inputs, transaction-code fields, derivative and footnote support, amendments, source links, pagination, limits, and provider terms before calling; capability routing does not replace filing interpretation.

FAQ

Is there a free insider trading API?

Yes. SEC EDGAR provides the underlying public filings without charge, and some providers expose free tiers or no-key endpoints. Verify current limits and terms before committing.

How do I get insider trading data from the SEC?

Download and parse Form 4 XML from EDGAR, or use a SEC insider filings API that converts filings into normalized JSON while retaining source references.

What data is included in a Form 4 API?

Typical fields cover issuer, reporting owner, role, security, transaction date and code, shares, price, acquired/disposed status, holdings, and filing provenance.

Do I need an API key or credit card?

It depends on the provider. A no-key endpoint is convenient for testing, while free plans may require registration. Treat authentication and billing requirements as comparison criteria.

Does every Form 4 acquisition mean an insider bought stock?

No. Awards, option exercises, conversions, gifts, transfers, and other events can increase reported holdings. Use the transaction code, security table, acquired/disposed flag, price, and footnotes.

Why can a Form 4 price be blank or differ from the market?

Some events are non-cash, use an exercise or conversion price, or report a weighted-average price explained in a footnote. Null is not automatically zero, and one displayed price may summarize multiple executions.

How should amended Form 4 filings be handled?

Keep the original and amendment under one filing lineage, compare corrected owners, transactions, holdings, and footnotes, and publish a versioned current state without erasing what was previously public.

Authoritative source and further reading