OpenInsider avatar

OpenInsider

Pricing

from $2.70 / 1,000 insider trades

Go to Apify Store
OpenInsider

OpenInsider

Search public OpenInsider SEC Form 4 trades by market, ticker, screener URL, insider name, or CIK. Get structured company and insider details, transaction values, ownership fields, dates, and source links when available.

Pricing

from $2.70 / 1,000 insider trades

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

🔎 OpenInsider Form 4 research

For analysts, researchers, and developers, this Actor searches public OpenInsider data and returns structured SEC Form 4 insider-trade rows. Review company and insider identity, transaction and ownership details, trade and filing dates, direct SEC filing links, and source links in one dataset.

This is public market data for research and review, not investment advice.

Use cases

📊 Public Form 4 trade rows

What it returns

Each saved row is one public SEC Form 4 insider-trade transaction found through the selected scope. Rows include company and insider identity, normalized roles, raw transaction and ownership values, trade and filing dates, a direct SEC filing link, and OpenInsider source links when provided.

When the same source trade is found again through another submitted value or search path, the Actor ignores the later match. The saved row represents the first eligible match.

▶️ Search one insider-trade scope

How to run

  1. Choose one target: recent-market, ticker, screener, insider-name, or insider-cik.
  2. Add the value for that target, such as a stock ticker, one OpenInsider screener URL, insider names, or SEC CIKs.
  3. Add optional transaction, date, and absolute trade-value filters.
  4. Set maxItems if you want a result limit. The form defaults to 10; leave it empty to return all available results until the source is exhausted.
  5. Start the Actor and open the dataset link when the run finishes.

Each run uses one search scope. It does not combine separate market, ticker, screener, and person searches in one run. The source is public, so you do not need an OpenInsider or SEC API key.

⚙️ Input

Input fields

FieldTypeWhat it does
targetstringSelects one scope: recent-market, ticker, screener, insider-name, or insider-cik.
tickerstringStock ticker used with the ticker target.
screenerUrlstringOne OpenInsider screener URL used with the screener target.
insiderNamesstring[]One or more names used with the insider-name target. The Actor resolves each name to an SEC filer and searches across affiliated companies.
insiderCiksstring[]One or more SEC CIK strings used with the insider-cik target. Enter digits only; leading zeros are allowed.
transactionCategoriesstring[]Optional transaction categories. An empty value includes all categories.
transactionCodesstring[]Optional exact Form 4 transaction codes, such as P or S. An empty value includes all codes.
dateFilterobjectChooses a trade-date range or a filing lookback window. Use only the fields for the chosen mode.
dateFilter.modestringSelects trade-date-range or filing-lookback.
dateFilter.fromdate stringStart of the trade-date range in YYYY-MM-DD form.
dateFilter.todate stringEnd of the trade-date range in YYYY-MM-DD form.
dateFilter.lookbackDaysintegerNumber of days back from the run date to include SEC filings. Use a positive number with filing-lookback.
tradeValueobjectSets a lower value, an upper value, or both. Values are absolute dollar amounts.
tradeValue.minimumnumberKeeps trades at or above this dollar amount.
tradeValue.maximumnumberKeeps trades at or below this dollar amount.
maxItemsintegerStops after this many saved records. Leave it empty to return all available results until the source is exhausted.

Default input example

This is the public input from a successful current-beta run:

{
"target": "recent-market",
"maxItems": 10
}

🧾 Output

Output link

FieldTypeWhat it does
datasetItemsURL stringLinks to the structured insider-trade rows from this run.

Dataset row fields

Optional fields can be absent when the source does not provide them.

FieldTypeWhat it does
companyNamestringCompany name in the trade.
tickerstringStock ticker for the company.
companyCikstring (optional)SEC CIK for the company, when reported.
insiderNamestringName of the insider in the filing.
insiderCikstring (optional)SEC CIK for the insider, when reported.
insiderRolestring (optional)Normalized insider role, such as CEO or director.
transactionCategorystring (optional)Form 4 transaction category, when reported.
transactionTypestringPlain-language transaction type.
transactionCodestringForm 4 transaction code from the source.
ownershipTypestring (optional)Ownership value, such as Direct or Indirect.
ownershipCodestring (optional)Raw ownership code, when available.
sharesnumberNumber of shares in the transaction.
pricePerSharenumberPrice paid or received for one share.
totalTradeValuenumberTotal dollar value of the transaction.
tradeDatedate stringDate when the trade took place.
filingDatedate stringDate when the SEC Form 4 was filed.
filingUrlURL stringDirect link to the original SEC Form 4 filing.
accessionNumberstring (optional)SEC accession number for the filing, when reported.
isAmendmentboolean (optional)Whether the filing is an amendment, when reported.
isMultipleTransactionboolean (optional)Whether the filing marks a multiple-transaction row, when reported.
isDerivativeboolean (optional)Whether the filing includes a derivative transaction, when reported.
sharesOwnedAfternumber (optional)Shares held after the transaction, when reported.
ownershipChangeSharesnumber (optional)Change in owned shares reported for the transaction, when available.
ownershipChangePercentnumber (optional)Percent change in ownership reported for the transaction, when available.
sourcePageUrlURL string (optional)OpenInsider page for the trade, when provided.
insiderProfileUrlURL string (optional)OpenInsider profile page for the insider, when provided.

Example row from the current beta run

This genuine row is from a successful recent-market run. It is shown in full.

{
"companyName": "Amalgamated Financial Corp.",
"companyCik": "0001823608",
"ticker": "AMAL",
"insiderName": "Bruce Maryann",
"insiderCik": "0001551962",
"insiderRole": "Dir",
"transactionCategory": "Sale",
"transactionType": "Sale",
"transactionCode": "S",
"ownershipType": "Direct",
"ownershipCode": "D",
"shares": -2138,
"pricePerShare": 49.55,
"totalTradeValue": -105943,
"tradeDate": "2026-07-30",
"filingDate": "2026-08-03",
"filingUrl": "http://www.sec.gov/Archives/edgar/data/1823608/000182360826000180/xslF345X03/wk-form4_1785782623.xml",
"accessionNumber": "0001823608-26-000180",
"isAmendment": false,
"isMultipleTransaction": false,
"isDerivative": false,
"sharesOwnedAfter": 17804,
"ownershipChangeShares": -2138,
"ownershipChangePercent": -11,
"sourcePageUrl": "http://openinsider.com/latest-insider-trading",
"insiderProfileUrl": "http://openinsider.com/insider/Bruce-Maryann/1551962"
}

💳 Pricing

The Actor uses pay-per-event pricing. Each successfully parsed public SEC Form 4 trade saved to the dataset is the billable event. Check the pricing panel for the current rate.

🔌 Integrations

API and exports

Read the dataset through the Apify API or export it from Apify for scripts, spreadsheets, and review tools.

Video guide

❓ FAQ

Can one run use more than one search scope?

No. Choose one target for each run. You can run separate searches for market activity, a ticker, a screener URL, or a person.

What does the insider-name search return?

The Actor resolves a submitted name to an SEC filer and returns matching trades across affiliated companies when the source provides them.

Can I use an SEC CIK?

Yes. Choose insider-cik and enter a CIK as digits only. Leading zeros are allowed.

What happens if I submit several names or CIKs?

The input accepts arrays for insiderNames and insiderCiks. Use one identifier kind in a run, and review the rows returned for the values that the source resolves.

Why can a trade value be negative?

The source can report sales with negative shares and a negative totalTradeValue. Check transactionType and transactionCode for the transaction direction.

Yes. filingUrl points to the original SEC Form 4 filing. The row can also include the OpenInsider source page and insider profile links.

Do I need an OpenInsider or SEC API key?

No. The Actor reads public source data and does not ask for source credentials or an API key.

Is this the OpenInsider API?

No. This is an Apify Actor that reads public OpenInsider data and exposes its own structured dataset through Apify.

What happens when the same trade matches twice?

The Actor saves the first eligible match and ignores later matches of the same source trade. One row describes that first saved match.

Does this Actor give investment advice?

No. It returns public Form 4 records and source links for research. It does not recommend buying, selling, or holding a security.

What is insider trading?

Here, it means public SEC Form 4 records about trades reported by company insiders. The Actor reports filing data; it does not judge a trade or give advice.

Is insider trading illegal?

The Actor cannot decide legality from a filing. Laws depend on the facts and the place involved, so get qualified legal advice for a specific question.

Will the results always be complete or current?

No guarantee covers completeness, freshness, speed, or availability. Results depend on the public records and source availability when the run starts.

📝 Changelog

0.0: Initial release

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré