SEC Form 4 Insider Trades by Ticker
Pricing
from $1.20 / 1,000 insider transactions
SEC Form 4 Insider Trades by Ticker
Parsed insider transactions from SEC Form 4 filings for any US ticker: buys, sales, grants, option exercises, 10b5-1 flags, with reporter role and post-transaction holdings.
Pricing
from $1.20 / 1,000 insider transactions
Rating
0.0
(0)
Developer
Code Craft Colorado
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 days ago
Last modified
Categories
Share
SEC Insider Trades (Form 4) by Company or Person
Every transaction that a company's directors, officers, ten percent holders and other reporting owners report to the SEC on Forms 4 and 5, one row per transaction. Look up a company by name, ticker or CIK (the SEC's number for every filer), look up a person or entity that files, or scan every filing across the market.
- Three ways to search: by company, by reporting owner at every company they file for, or across the market for the last year.
- Every reporting owner on the filing, with the Director, Officer, 10% Owner and Other boxes and titles.
- Codes in the SEC's words: each transaction code with its meaning and heading from the Form 4 instructions.
- The numbers as filed: amounts, price, holdings following, direct or indirect ownership, and the terms of derivative securities.
- What the filer added: the Rule 10b5-1 box, the exit box, and the full text of every footnote the transaction cites.
- A link to every filing on EDGAR, the SEC's filing system.
The fields are the filing's own. Where this page says what a field means, it quotes or follows the SEC rule, form instruction or EDGAR specification that defines it.
Quick start
- Enter one or more companies under Companies, for example
Apple. - Start the run.
- Read the rows in the run's dataset as they arrive. Each row looks like the example under Output below.
{"companies": ["Apple"]}
With no dates, the run returns filings from the last 30 days.
What Forms 4 and 5 report
"Initial statements of beneficial ownership of equity securities required by section 16(a) of the Act shall be filed on Form 3. Statements of changes in beneficial ownership required by that section shall be filed on Form 4. Annual statements shall be filed on Form 5. At the election of the reporting person, any transaction required to be reported on Form 5 may be reported on an earlier filed Form 4."
Rule 16a-3(a). A Form 4 "must be filed before the end of the second business day following the day on which the subject transaction has been executed" (Rule 16a-3(g)(1)).
The actor returns the transactions on Forms 4 and 5, and on 4/A and 5/A when asked. Holdings-only lines, which report a position with no transaction, are not returned.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
companies | array of strings | none | Issuers by company name, ticker, or SEC CIK. |
insiders | array of strings | none | Reporting owners by name or SEC CIK. Returns every filing on which they are a reporting owner, at every issuer. |
marketWide | boolean | false | Every Form 4 and 5 filed in the date range, across all issuers. |
startDate | YYYY-MM-DD | 30 days ago | Only filings with a filing date on or after this date. |
endDate | YYYY-MM-DD | today | Only filings with a filing date on or before this date. |
maxFilings | integer | none | Keep the newest this many filings per company or insider. With no dates, it replaces the 30-day default. |
purchasesAndSalesOnly | boolean | false | Only codes P and S. |
direction | all, acquired, disposed | all | Only transactions marked acquired (A) or disposed (D). |
minValue | integer | none | Only transactions whose value (shares times the reported price) is at least this many U.S. dollars. Transactions with no price are left out when this is set. |
minInsiders | integer | none | Only issuers where at least this many different reporting owners, by CIK, appear in the results after all other filters. |
transactionCodes | array of codes | all | Only these transaction codes, the eighteen a filing can carry (see Transaction codes). |
includeDerivatives | boolean | true | Include Table II transactions (derivative securities). |
includeAmendments | boolean | false | Also return Forms 4/A and 5/A. |
At least one of companies, insiders or marketWide is required. The date filters compare
against filingDate. With no dates, the run covers filings from the last 30 days, unless
maxFilings is set and marketWide is off.
Tickers are looked up in the SEC's ticker file, of which the SEC says: "We periodically update
these files to provide functionality for EDGAR searches, but do not guarantee accuracy or
scope." Names are matched against the names EDGAR holds, former names included, and
misspellings are tolerated. How each entry matched, the entity it resolved to and close
alternates are saved in the QUERIES record. For an insider, entities that have filed as a
reporting owner rank first when a name matches several.
Transactions coded P at one company this year
{"companies": ["NVIDIA"],"transactionCodes": ["P"],"startDate": "2026-01-01"}
One reporting owner's latest filings, at every issuer
{"insiders": ["Warren Buffett"],"maxFilings": 50}
Issuers where three or more reporting owners reported a code P acquisition in the last 30 days
{"marketWide": true,"transactionCodes": ["P"],"direction": "acquired","minInsiders": 3}
Output
One row per transaction. A filing with three transactions gives three rows that share the filing's fields. The example is a real Form 4, turned into a row by this actor's code from the filing's submission text on EDGAR:
{"query": "PrimeEnergy","queryType": "company","issuerCik": "0000056868","issuerName": "PRIMEENERGY RESOURCES CORP","ticker": "PNRG","reportingOwners": [{"cik": "0001018124","name": "FONG GIFFORD","isDirector": true,"isOfficer": null,"isTenPercentOwner": null,"isOther": null,"officerTitle": null,"otherText": null}],"queriedInsiderCik": null,"queriedInsiderName": null,"form": "4","accessionNumber": "0001437749-26-031400","filingDate": "2026-09-28","acceptanceTime": "2026-09-28T21:47:40Z","periodOfReport": "2026-09-24","dateOfOriginalSubmission": null,"notSubjectToSection16": null,"isDerivative": false,"securityTitle": "COMMON STOCK","transactionDate": "2026-09-24","deemedExecutionDate": null,"transactionFormType": "4","transactionCode": "G","transactionCodeMeaning": "Bona fide gift","codeGroup": "Other Section 16(b) Exempt Transaction and Small Acquisition Codes (except for Rule 16b-3 codes above)","timeliness": null,"acquiredDisposed": "D","shares": 15000.0,"pricePerShare": 197.62,"value": 2964300.0,"transactionTotalValue": null,"sharesOwnedFollowing": 39464.0,"valueOwnedFollowing": null,"ownership": "D","indirectOwnershipNature": null,"conversionOrExercisePrice": null,"exerciseDate": null,"expirationDate": null,"underlyingSecurityTitle": null,"underlyingShares": null,"underlyingValue": null,"equitySwapInvolved": false,"aff10b5One": false,"footnotes": [],"remarks": null,"source": "live","sourceUrl": "https://www.sec.gov/Archives/edgar/data/56868/0001437749-26-031400-index.html"}
The filer entered a price on this gift, so value is shares times that price: the product of
two reported numbers, not a market value. The filing was accepted at 5:47 p.m. Eastern time and
keeps that day's filing date, as a Form 3, 4 or 5 does when its submission begins by 10 p.m.
Rows are written to the run's default dataset as they are produced. The dataset's Transactions view shows the filing date, ticker, issuer, reporting owners, transaction date, code and its group, acquired or disposed, amount, price, value, holdings following, the 10b5-1 box and the filing link.
The issuer and the reporting owners
issuerCik,issuerName,ticker: the issuer as the filing gives it. For the name, "EDGAR will insert the Issuer Name associated with the provided CIK".reportingOwners: every reporting owner on the filing, in filing order, each withcik,name,isDirector,isOfficer,isTenPercentOwner,isOther,officerTitleandotherText. When more than one person is a beneficial owner of the same securities, "all such persons must report as beneficial owners of the securities, either separately or jointly" (Rule 16a-3(j)), and a joint filing names no primary owner: "The order of multiple Reporting Owners is not important. There is no 'primary' owner." For each owner's name, "EDGAR will insert the Owner Name associated with the provided CIK"; an individual's name is entered in EDGAR in the format "last, first, middle".- The four boxes are Form 4 Item 5: "Director", "Officer (give title below)", "10% Owner" and
"Other (specify below)", "Check all applicable". A ten percent holder is "any beneficial
owner of greater than 10% of a class of equity securities registered under Section 12 of the
Exchange Act of an issuer that is not a 'foreign private issuer' ..., as determined by voting
or investment control over the securities pursuant to Rule 16a-1(a)(1)".
officerTitleis required whenisOfficeris true andotherTextwhenisOtheris true. On a filing read from EDGAR, a box the filing leaves out isnull. queriedInsiderCik,queriedInsiderName: for an insider query, the reporting owner you asked for and the name this filing gives them;nullotherwise.
The filing
form:4,5,4/Aor5/A.accessionNumberis EDGAR's filing identifier andsourceUrlthe filing's index page.filingDate: a Form 3, 4 or 5 whose submission begins by 10 p.m. Eastern time "shall be deemed filed on the same business day" (Regulation S-T Rule 13(a)(4)).acceptanceTime: when EDGAR accepted the filing, in UTC, from the filing's header, which states it in Eastern time.nullfor filings from the SEC's Insider Transactions Data Sets, which do not carry it.periodOfReport: on a Form 4, "Date of Earliest Transaction"; on a Form 5, "Statement for Issuer's Fiscal Year End".dateOfOriginalSubmission: on an amendment, "If Amendment, Date Original Filed".notSubjectToSection16: the exit box. "A reporting person no longer subject to Section 16 of the Securities Exchange Act of 1934 ('Exchange Act') must check the exit box appearing on this Form. However, Form 4 and 5 obligations may continue to be applicable."aff10b5One: the box "to indicate that a transaction was made pursuant to a contract, instruction or written plan that is intended to satisfy the affirmative defense conditions of Rule 10b5-1(c)". There is one box per form, not one per line, so every row from a filing carries the same value and the box does not say which lines the plan covers. The form asks for the plan's adoption date in its "Explanation of Responses" (General Instruction 10). SEC staff read the box as applying to plans under the amended Rule 10b5-1(c) (Section 16 interpretation 135.04).nullwhen the filing does not carry the element.remarks: the filing's remarks.
The transaction
isDerivative:falsefor Table I,truefor Table II. "Report acquisitions or dispositions and holdings of non-derivative securities in Table I. Report acquisitions or dispositions and holdings of derivative securities (e.g., puts, calls, options, warrants, convertible securities, or other rights or obligations to buy or sell securities) in Table II. Report the exercise or conversion of a derivative security in Table II (as a disposition of the derivative security) and report in Table I the holdings of the underlying security."securityTitle,transactionDate: the security and the date of the transaction.deemedExecutionDateis given "only if the execution date for the transaction is calculated pursuant to §240.16a-3(g)(2) or §240.16a-3(g)(3)".transactionCode,transactionCodeMeaning,codeGroup: see the table below.transactionFormType,timeliness: the form the transaction belongs on, and whether it is reported early (E) or late (L);nullmeans on time. On a Form 4, "By definition, a '4' transaction is on time" and "By definition, a '5' transaction is early". On a Form 5, EDGAR treats a "4" transaction as late and a "5" transaction as timely.equitySwapInvolved: the transaction involves an equity swap or instrument with similar characteristics.acquiredDisposed:Aacquired,Ddisposed.shares: the amount of securities acquired or disposed of. A derivative transaction gives either an amount ortransactionTotalValue, never both.pricePerShare: "Prices of securities shall be reported in U.S. dollars on a per share basis, not an aggregate basis, except that the aggregate price of debt shall be stated. Amounts reported shall exclude brokerage commissions and other costs of execution." For the exercise or conversion of a derivative security the form leaves the price column blank and reports the exercise or conversion price inconversionOrExercisePrice. A price may be given as a footnote with no number, in which case it isnulland the footnote is infootnotes. If consideration other than cash was paid, the form asks the filer to describe it, with its value, in the explanation of responses.value:sharestimespricePerShare, both as reported;nullwhen either is missing. For debt, whose price is an aggregate, the product is not a value.sharesOwnedFollowingorvalueOwnedFollowing: "total beneficial ownership following the reported transaction(s) for each class of securities in which a transaction was reported", which "should reflect those holdings reported or required to be reported by the date of the Form". The amount is "the face amount of debt securities (U.S. Dollars) or the number of equity securities". For securities held through a partnership, corporation, trust or other entity, the reporting person may report their proportionate interest or, at their option, the entity's entire amount.ownership:Ddirect,Iindirect;indirectOwnershipNaturegives the nature of indirect ownership, for exampleBy Trust.- Table II only,
nullotherwise:conversionOrExercisePrice,exerciseDate,expirationDate,underlyingSecurityTitle, andunderlyingSharesorunderlyingValue. footnotes: the text of each footnote the transaction cites.
Where each row came from
source:indexwhen the filing came from the EDGAR index this actor keeps,livewhen it was read from EDGAR during the run.query,queryType: the input entry the row answers (company,insiderormarket);queryisnullfor market-wide rows.
Transaction codes
transactionCode is the code from Form 4 General Instruction 8. transactionCodeMeaning is
its meaning and codeGroup the heading it is listed under, both in the instruction's words.
| Group | Code | Meaning |
|---|---|---|
| General Transaction Codes | P | Open market or private purchase of non-derivative or derivative security |
S | Open market or private sale of non-derivative or derivative security | |
V | Transaction voluntarily reported earlier than required | |
| Rule 16b-3 Transaction Codes | A | Grant, award or other acquisition pursuant to Rule 16b-3(d) |
D | Disposition to the issuer of issuer equity securities pursuant to Rule 16b-3(e) | |
F | Payment of exercise price or tax liability by delivering or withholding securities incident to the receipt, exercise or vesting of a security issued in accordance with Rule 16b-3 | |
I | Discretionary transaction in accordance with Rule 16b-3(f) resulting in acquisition or disposition of issuer securities | |
M | Exercise or conversion of derivative security exempted pursuant to Rule 16b-3 | |
| Derivative Securities Codes (Except for transactions exempted pursuant to Rule 16b-3) | C | Conversion of derivative security |
E | Expiration of short derivative position | |
H | Expiration (or cancellation) of long derivative position with value received | |
O | Exercise of out-of-the-money derivative security | |
X | Exercise of in-the-money or at-the-money derivative security | |
| Other Section 16(b) Exempt Transaction and Small Acquisition Codes (except for Rule 16b-3 codes above) | G | Bona fide gift |
L | Small acquisition under Rule 16a-6 | |
W | Acquisition or disposition by will or the laws of descent and distribution | |
Z | Deposit into or withdrawal from voting trust | |
| Other Transaction Codes | J | Other acquisition or disposition (describe transaction) |
K | Transaction in equity swap or instrument with similar characteristics | |
U | Disposition pursuant to a tender of shares in a change of control transaction |
V and K never appear in transactionCode. A filing carries one of the other eighteen
codes, and EDGAR adds the two letters to the printed form: "EDGAR will add a 'K' to the
generated transaction code if an equity swap is involved" (equitySwapInvolved is true), and
"EDGAR will add a 'V' to the generated transaction code for an early '5' transaction" (a Form 4
row whose transactionFormType is 5).
A code says what kind of transaction the filer reported and nothing more. P and S each
cover both open-market and private trades, and the code does not say which.
Amendments
With includeAmendments, rows from Forms 4/A and 5/A are returned with their own
accessionNumber. An amendment does not restate the original filing. Form 4 General
Instruction 9: to add lines, "provide each line being added"; to amend lines, "provide the
complete line or lines being amended, as amended"; in both cases, "Do not repeat lines of
transaction information that were disclosed in the original Form and are not being amended."
An amendment names the filing it amends only by dateOfOriginalSubmission, the date the
original was filed, and no field links an amended line to the line it replaces, so reconciling
an amendment with the original is left to you.
Where the data comes from
- The EDGAR index. This actor keeps an index of the last year of Form 3, 4 and 5 filings, built from the SEC's quarterly Insider Transactions Data Sets and, for the days since the newest data set, from each day's filings on EDGAR, updated nightly. Market-wide queries read only the index, so they cover the last year through its latest nightly update; the run's status message says so when your range reaches past it.
- Live EDGAR. For companies and insiders, dates the index does not cover (older filings, and anything filed since its last update) are read live: the filing list from the SEC's submissions API, then each filing's full submission text.
- The data sets. The SEC describes them as "taken from submissions created by the registrants and provided as-filed" and warns that "Data in this submitted form may contain redundancies, inconsistencies, and discrepancies relative to prior submissions and other publication formats." They carry amounts and prices to two decimal places, where filings read from EDGAR carry up to four, and they do not carry the acceptance time.
- Corrections. The SEC sometimes removes a filing or changes its filing date after acceptance. Its full and quarterly indexes "are rebuilt weekly, early on Saturday mornings, so that any post-acceptance correction (PAC) deletes or updates are incorporated"; each week the index compares its filings with those indexes and drops or re-dates the ones the SEC has corrected.
- What EDGAR checks. "EDGAR will validate ONLY the format and syntax of the information provided, and that the Issuer CIK and Reporting Owner CIK and CCC combination are valid. YOU ARE RESPONSIBLE for confirming the accuracy of all transactional and ownership information submitted in the form." Every value here is as the filer reported it.
Limitations
- Market-wide queries cover the last year only, through the index's latest nightly update.
- Only transactions on Forms 4 and 5 (and 4/A and 5/A) are returned. Form 3 and lines that report a holding with no transaction are not.
- Amendments are returned as filed and are not reconciled with the filing they amend.
valueis shares times the reported price, not a market value, and is not a value for debt.- Filings from the SEC's data sets carry amounts and prices to two decimal places and no acceptance time.
- Tickers come from the SEC's ticker file, which the SEC does not guarantee.
- Every value is as the filer reported it. EDGAR checks only a filing's format and syntax and that its CIKs and access codes are valid.
Errors and rate limits
When an entry cannot be resolved or a filing cannot be read, the run records it and carries on.
Failures are saved to the ERRORS record in the run's key-value store, one entry per failure
with the input entry and the reason, and with the accession number when a single filing failed.
The record exists only when something failed. Nothing is charged for a failure.
The SEC limits each user to "no more than 10 requests per second, regardless of the number of machines used to submit requests", and asks automated tools to declare who they are. The actor identifies itself as Code Craft Colorado, LLC with your Apify user ID and a contact address, and spaces its requests to stay within the limit. When the SEC refuses a request as over the limit, the actor pauses all requests for 10 minutes, the period after which the SEC says a user "may resume", and continues at a lower rate. If the SEC is still refusing after 20 minutes of pauses in one run, the run stops with a status message saying so. If the SEC rejects the actor's declared identity, the run fails. Either way, every row already delivered is kept. Server errors and dropped connections are retried a few times with increasing delays before a filing is recorded as failed.
If you set a maximum charge for the run and it is reached, the actor stops adding rows and finishes with the rows delivered so far.
How much does it cost?
The billable unit is one dataset row, one transaction. Filters apply before rows are written,
so you pay only for the rows that pass them. Resolving names, reading the index, fetching
filings, pausing for the SEC, and writing the QUERIES and ERRORS records are not charged.
Current per-row pricing is on the Pricing tab of this page.
Use cases
- Follow the Forms 4 and 5 filed for a watchlist of issuers on a schedule.
- Follow one reporting owner's filings at every issuer they report on.
- Find issuers where several reporting owners reported the same kind of transaction in a
window, with
marketWide,transactionCodesandminInsiders. - Track a reporting owner's reported holdings over time with
sharesOwnedFollowing.
Run it on a schedule, from the API, or from an agent
The actor runs the same way from a saved task on a Console schedule, from the Apify API or the JavaScript and Python clients, and as a tool through Apify's MCP server, so an AI agent can call it directly. The input JSON is identical in every case, and the results are in the run's dataset whichever way it was started.
Related actors
- SEC 13F Holdings by Institutional Manager with Quarterly Changes: the entries of an institutional investment manager's Form 13F reports, compared with the previous period's report.
- SEC 8-K Filings by Ticker with Item Codes: 8-K filings with their items and exhibits, and optionally their text.
- Wayback Machine Snapshots and Archived Page Content: every Wayback Machine capture of a URL, host, or domain, with optional archived page text.
FAQ
Why does a row with code G or A have a price? The price is what the filer entered. Read the
row's footnotes for what the filer said about it.
Why are shares and pricePerShare sometimes null? A derivative transaction may give a
total value instead of an amount (transactionTotalValue); a price may be given as a footnote
with no number; and the price column is left blank for the exercise or conversion of a
derivative security.
Why do all rows from one filing list the same reporting owners? The owners are on the
filing, not on its lines, and a joint filing names no primary owner. For an insider query,
queriedInsiderCik says which of them you asked about.
Something is missing or wrong? Open an issue on the actor's Issues tab with the
accessionNumber or sourceUrl of the filing.