SEC 10b5-1 Trading Plans: insider plan adoptions, 10-Q and 10-K avatar

SEC 10b5-1 Trading Plans: insider plan adoptions, 10-Q and 10-K

Pricing

from $3.25 / 1,000 trading plan listeds

Go to Apify Store
SEC 10b5-1 Trading Plans: insider plan adoptions, 10-Q and 10-K

SEC 10b5-1 Trading Plans: insider plan adoptions, 10-Q and 10-K

Rule 10b5-1 trading plans that officers and directors adopted or terminated, from the Item 408 disclosure in 10-Q and 10-K filings: company, ticker, role, plan type, adoption and end date, duration and shares in the plan. By ticker or CIK, or every filing in a date range.

Pricing

from $3.25 / 1,000 trading plan listeds

Rating

0.0

(0)

Developer

Steadydata Team

Steadydata Team

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Rule 10b5-1 trading plans that officers and directors adopted or terminated, from the Item 408 disclosure in 10-Q and 10-K filings: company, ticker, role, plan type, adoption and end date, duration and shares in the plan. By ticker or CIK, or every filing in a date range.

Why this scraper

  • Only delivered results are charged. Inputs that fail come back as clear error records at no cost.
  • The plan when it is announced, not when it trades. Form 4 and Form 144 show a 10b5-1 plan only once a sale happens. A plan must wait out a cooling-off period before its first trade (at least 90 days for officers and directors under Rule 10b5-1), and the 10-Q or 10-K that discloses the adoption comes out in between. This actor reads that disclosure: who in role adopted or terminated a plan, when, until when, and for how many shares.
  • Straight from the SEC's own tags, no text guessing. Since the SEC's Executive Compensation Disclosure taxonomy, Item 408 is tagged in the filing's XBRL (adoption flag, termination flag, title, adoption date, expiration date, duration, aggregate shares). The actor reads the small page the SEC renders from exactly those tags. Measured on CarGurus' 10-Q for the quarter to 30 June 2026: four plans from two pages of 8.4 KB together, instead of the 3.3 MB report. Every row links to that page in reportUrl, so each value can be checked.
  • Two ways in. A watchlist of tickers or CIKs (the newest reports per company), or a filing period such as last 7 days that reads every 10-Q and 10-K filed in it, for every listed company at once, with a hard ceiling on how many filings are read.
  • Rule 10b5-1 plans and non-Rule 10b5-1 arrangements are told apart, and so are adoptions, terminations and modifications. When a person has several arrangements, their separate share amounts come along in arrangementShares.

Who this is for

Short sellers and quantitative funds who want to know which executives scheduled sales and how large they are, before the Form 4 sales arrive. Investor-relations and compliance teams comparing their own disclosure with peers. D&O underwriters, governance researchers and journalists who track planned insider selling per company or per quarter. Put tickers or CIKs in companies for a watchlist, or last 7 days for a weekly market-wide sweep.

Who this is not for

The name of the officer or director is not delivered, although the filing states it; a row says "Chief Financial Officer of Intapp adopted a Rule 10b5-1 plan for 80,000 shares", and the filing behind documentUrl says who. If you need rows keyed to a named person, this is the wrong tool. The actor reads only what the filer TAGGED: a company that describes a plan in the text but leaves the XBRL tags out, or tags no share amount, gives an empty field rather than a guess (some filers state the amount only in words, then aggregateShares is empty). Reports from before a filer started tagging Item 408 (the tagging was phased in during 2024 and 2025) give no rows. 8-K disclosures of plans and the later Form 4 trades are not read here; for the trades use sec-insider-trading. A period row reads every 10-Q and 10-K filed in it, including the many that report no plan; you pay only for the plans, but a long period takes time (the SEC allows at most ten requests per second, and this actor stays at eight).

Input fields

FieldTypeRequired or defaultWhat it does
companieslist of textrequiredOne per row, up to 100: a ticker (CARG), a CIK (1494259), an EDGAR company URL, or a filing period for every company at once: '2026-10-20..2026-10-27' or 'last 7 days' (at most 31 days per row).
formslist of text["10-Q", "10-K"]Which reports to read. 10-Q and 10-K carry the Item 408 disclosure; add 10-Q/A or 10-K/A for amendments.
sinceDatetextCompany rows only: read filings filed on or after this date (YYYY-MM-DD). Empty means the newest filings up to the maximum below.
maxFilingsPerCompanynumber4Company rows only, newest first. 4 is one year of quarterly and annual reports; the disclosure exists since 2023.
maxFilingsPerPeriodnumber300Period rows only: a hard ceiling on the number of 10-Q and 10-K filings read per period row, newest day first. On 27 October 2026 the SEC received 72 of them.

Input example

{
"companies": [
"CARG",
"INTA",
"last 3 days"
],
"forms": [
"10-Q",
"10-K"
],
"maxFilingsPerCompany": 4,
"maxFilingsPerPeriod": 300
}

Output example

FieldTypeWhat it holdsExample
companyNametextThe company that filed the report, as the SEC names it.CarGurus, Inc.
tickertextThe company's ticker symbol; the first one when the company has several share classes.CARG
ciktextThe SEC's own number for the filer, the key that stays the same when a company changes its name.1494259
formtextThe report the disclosure comes from: 10-Q (quarterly) or 10-K (annual), or an amendment when asked for.10-Q
filingDatetextThe date the report was filed with the SEC, the day the plan became public.2026-08-06
periodOfReporttextThe quarter or fiscal year end the report covers; the plan was adopted or terminated within that period.2026-06-30
accessionNumbertextThe SEC's id for this filing, the key to find the document back.0001193125-26-338067
actiontextWhat happened to the arrangement in the period: Adopted, Terminated, Modified, or a combination such as Adopted and terminated, read from the flags the filer tagged.Adopted
planTypetextRule 10b5-1 for a plan meant to satisfy the affirmative defence of Rule 10b5-1(c), Non-Rule 10b5-1 for any other written trading arrangement.Rule 10b5-1
isRule10b51true/falseTrue for a Rule 10b5-1 plan, false for a non-Rule 10b5-1 arrangement; empty when the filer reports both in one entry.True
roletextThe title of the officer or director as the filing states it, for example Chief Financial Officer or member of our Board of Directors. The person's name is not delivered; it is in the filing behind documentUrl.Executive Chair and Chair of the Board of Directors
isDirectortrue/falseDerived from the title text: it names a director, the board or a chair.True
isOfficertrue/falseDerived from the title text: it names an officer, chief, president, executive, counsel, treasurer, secretary or controller.True
adoptionDatetextThe date the arrangement was adopted, as tagged by the filer (YYYY-MM-DD).2026-05-29
terminationDatetextThe date the arrangement was terminated, only for terminated arrangements.
expirationDatetextThe date the arrangement ends by its own terms, as tagged; some filers describe the end in words only, then it is empty.2027-02-26
durationDaysnumberThe duration of the arrangement in days, as tagged by the filer; empty when the filer states it otherwise.274
durationTexttextThe duration exactly as the filing renders it, for example 367 days.274 days
aggregateSharesnumberThe maximum number of securities that may be sold or bought under the arrangement, as tagged; when the filer tags only the separate arrangements, their sum.1493200
arrangementShareslistThe amounts of the separate arrangements this person has under the plan, when the filer tags them separately; often empty.[150000]
arrangementIndexnumberThe position of this arrangement within its filing, counting from 1; with accessionNumber it identifies the row.3
documentUrltextThe 10-Q or 10-K itself; the full Item 408 text, including the person's name, is there.https://www.sec.gov/Archives/edgar/data/1494259/000119312...
reportUrltextThe page the SEC renders from the filing's Item 408 XBRL tags, where every value of this row can be checked.https://www.sec.gov/Archives/edgar/data/1494259/000119312...
indexUrltextThe SEC index page of the filing with every document in it.https://www.sec.gov/Archives/edgar/data/1494259/000119312...

Error codes: INVALID_COMPANY, INVALID_PERIOD, INVALID_INPUT, NOT_FOUND, NO_FILINGS, NO_ARRANGEMENTS, DUPLICATE_INPUT, BLOCKED.

One delivered row looks like this (CarGurus, 10-Q for the quarter to 30 June 2026, read from the SEC on 28 October 2026):

{
"companyName": "CarGurus, Inc.",
"ticker": "CARG",
"cik": "1494259",
"form": "10-Q",
"filingDate": "2026-08-06",
"periodOfReport": "2026-06-30",
"accessionNumber": "0001193125-26-338067",
"documentUrl": "https://www.sec.gov/Archives/edgar/data/1494259/000119312526338067/carg-20260630.htm",
"indexUrl": "https://www.sec.gov/Archives/edgar/data/1494259/000119312526338067/0001193125-26-338067-index.htm",
"reportUrl": "https://www.sec.gov/Archives/edgar/data/1494259/000119312526338067/R10.htm",
"action": "Adopted",
"planType": "Rule 10b5-1",
"isRule10b51": true,
"role": "Executive Chair and Chair of the Board of Directors",
"isDirector": true,
"isOfficer": true,
"adoptionDate": "2026-05-29",
"terminationDate": null,
"expirationDate": "2027-02-26",
"durationDays": 274,
"durationText": "274 days",
"aggregateShares": 1493200,
"arrangementShares": [150000],
"arrangementIndex": 3,
"status": "ok"
}

Pricing

Pay per event: one plan-listed event per delivered result. No charge for inputs that fail, no separate platform-usage surcharge.

Free Apify plan: this actor delivers up to 25 rows per run for accounts on the Apify free plan, and then stops with a message. That limit is set by us, not by Apify. It exists so the actor keeps paying for itself for the people who do pay. Any paid Apify plan runs it at full size, billed per delivered row, with failed rows never charged.

FAQ

Is personal data collected? No. The filing names the person three times (a name tag, the label of the person's entry and the text of the material terms) and sometimes names a relative in the label of a joint arrangement. None of that is read into the dataset, and a title that happens to contain the name is cleaned. A row carries the company, the role as filed and the plan; the name stays in the filing behind documentUrl.

How do I get every new plan each week? Schedule a run with last 7 days in companies. It reads every 10-Q and 10-K filed in those seven days and delivers only the plans. Filings without a plan are not charged, and a period in which no filing reports one comes back as one free NO_ARRANGEMENTS row.

What is the difference between a Rule 10b5-1 plan and a non-Rule 10b5-1 arrangement? A Rule 10b5-1 plan is a written plan adopted without inside information that is meant to satisfy the affirmative defence of Rule 10b5-1(c). A non-Rule 10b5-1 trading arrangement is any other written trading arrangement the SEC asks companies to disclose. planType and isRule10b51 say which one a row is.

Why is aggregateShares empty or different from the sum of arrangementShares? Because the actor delivers what the filer tagged. Some filers tag one total per person, some only the separate arrangements (then the total is their sum), some describe a plan in dollars or in words. CarGurus tags a total of 1,493,200 shares for its executive chair and one separate arrangement of 150,000; both are delivered as filed.

What does a run cost when a company has no plan? Nothing. NO_ARRANGEMENTS, NO_FILINGS, NOT_FOUND, INVALID_COMPANY, INVALID_PERIOD and BLOCKED rows are free; only delivered plans are charged.

How far back does it go? As far as the tagging goes. The Item 408 disclosure exists since 2023; the XBRL tagging this actor reads was phased in during 2024 and 2025. maxFilingsPerCompany reads up to 40 reports per company, which is ten years of quarterly reports, but older reports simply give no rows.

What happens when the source changes? Sources change from time to time; that is the nature of this work. The actor is monitored daily and fixed fast, and while it is broken you are not charged, because only delivered results cost anything.

Can I call it from my own code, like an API? Yes. Every run is available through the Apify API: start it with one HTTP request, then read the results as JSON, CSV or Excel from the dataset endpoint, or use the official Python and JavaScript clients. The input is the same JSON as in the input example above, so a scheduled script, a Make or Zapier step or an AI agent can call it without any changes.