Three tables, joined on accession_number — the SEC's unique identifier for a single filing. This page is the same documentation that ships with the data, published in full so you can evaluate it before paying for anything.
filings (1 row per SEC form)
│
├── accession_number ──▶ owners (1+ rows: who filed it)
│
└── accession_number ──▶ trans (0+ rows: what they transacted)
One filing can name several owners — co-filers and affiliated funds — and report several transactions together. That one-to-many shape is the source of the most common analytical mistake, covered at the bottom of this page.
filingsOne row per form submitted to EDGAR. 1,533,585 rows.
| Column | Type | Description |
|---|---|---|
accession_number | text | SEC unique filing ID. Primary key, and the join key for the other two tables. |
filing_date | date | Date the form was received by the SEC. This is when the information became public. |
period_of_report | date | The transaction period the form covers. |
document_type | text | 3, 4, 5, or the amendments 3/A, 4/A, 5/A. |
issuer_cik | text | SEC Central Index Key for the company. Stable across name changes — identify companies with this, not the name. |
issuer_name | text | Company name as filed. |
ticker | text | Trading symbol. Nullable — some issuers have none, and it reflects the symbol at filing time. |
quarter | text | Source EDGAR quarterly index, e.g. 2026Q2. |
ownersOne row per person or entity named on a filing. 1,669,356 rows, 132,229 distinct insiders. Several rows per filing is normal, not a duplication bug.
| Column | Type | Description |
|---|---|---|
accession_number | text | Joins to filings. |
owner_cik | text | SEC Central Index Key for the person or entity. Stable — use this to follow one insider across companies and years. |
owner_name | text | Name as filed. Format varies: SMITH JOHN A, John A. Smith, Acme Capital LP. |
relationship | text | Raw relationship string from the filing. |
is_officer | int | 1 if an officer of the company. |
is_director | int | 1 if a member of the board. |
is_ten_pct | int | 1 if a beneficial owner of more than 10% of a class of securities. |
title | text | Job title where given, e.g. Chief Financial Officer. |
transOne row per transaction line, and the largest table. 2,317,601 rows.
| Column | Type | Description |
|---|---|---|
accession_number | text | Joins to filings. |
trans_sk | int | Sequence number within the filing. |
security_title | text | e.g. Common Stock, Employee Stock Option (Right to Buy). |
trans_date | date | Date the transaction occurred — usually earlier than filing_date. |
trans_code | text | What kind of transaction. See the code table below. |
acquired_disposed | text | A = acquired, D = disposed. |
shares | real | Number of shares in the transaction. |
price_per_share | real | Execution price. 0 or null for grants and gifts. |
value | real | shares × price_per_share, as reported. |
shares_owned_after | real | Holdings following the transaction. |
direct_indirect | text | D = held directly, I = indirectly, through a trust, LLC or family member. |
timeliness | text | Flag indicating a late filing. |
| Type | Filed when | Rows |
|---|---|---|
| 3 | A person first becomes an officer, director or 10% owner. An arrival signal, not a trading signal. | 119,977 |
| 4 | Within two business days of a transaction. The main event stream. | 1,368,412 |
| 5 | Annually, for transactions exempt from Form 4 — small acquisitions, gifts, some option activity. | 15,731 |
| 3/A · 4/A · 5/A | Amendments correcting an earlier filing. | 29,465 |
The distribution here is the single most important thing to understand before your first query.
| Code | Meaning | Rows |
|---|---|---|
| P | Open-market purchase — the insider bought with their own money. The only code that unambiguously represents a decision. | 218,895 |
| S | Open-market sale. | 672,405 |
| A | Grant, award or other acquisition from the company. Compensation, not a market view. | 490,499 |
| F | Shares withheld by the issuer to cover tax on vesting. Routine, not discretionary. | 378,512 |
| M | Exercise or conversion of a derivative security. | 335,758 |
| J | Other acquisition or disposition. | 67,256 |
| G | Gift. | 56,486 |
When a private-equity or venture firm transacts, the fund, its general partner, its management company and named partners may each file the same transaction. Summing value across owners rows multiplies one purchase several times over. Deduplicate on (issuer_cik, trans_date, value) before aggregating.
This matters more than it sounds: the inflation is concentrated in exactly the companies where institutional holders are active, so it distorts comparisons between companies rather than adding uniform noise you could ignore.
Codes A, F and M together outnumber P by roughly five to one, and they are almost entirely mechanical — vesting schedules, tax withholding, option mechanics. Filtering to trans_code = 'P' is what isolates the transactions an insider actually chose to make.
owner_name and issuer_name are free text and vary between filings for the same party; the CIK fields are stable.trans_date is when the trade happened; filing_date is when it became public. Any analysis of what was knowable at a point in time keys on filing_date.