SEC Form 144 API: Insider Sell Intentions as JSON (2026)
An insider files paperwork to sell before they sell. That filing is the Form 144.
Most people only ever see the Form 4, which lands after the trade is done. By then the news is priced in.
GET /v1/form144/{ticker}: the seller, their relationship to the company, and every block of shares they plan to sell with its market value and approximate sale date. It's a leading signal, not a confirmed trade, and reading it that way is the whole skill.What is the SEC Form 144 API?
The SEC Form 144 API is a way to pull "notice of proposed sale" filings as structured data instead of reading PDFs. A Form 144 is the notice an insider files under Rule 144 to announce they intend to sell restricted or control securities. It reports the seller, the company, how many shares, the dollar value, and roughly when. Edgrapi returns all of that as JSON in one call.
The official name is a mouthful: "Notice of Proposed Sale of Securities Pursuant to Rule 144." Per Investor.gov, it's filed by officers, directors, 10% owners, and other affiliates.
Two kinds of stock trigger it. Restricted securities are unregistered shares an insider got straight from the company, like founder stock or a private placement. Control securities are ordinary shares held by someone who runs the company, an officer or director, no matter how they got them. Rule 144 is the exemption that lets either be sold in public once a holding period and volume limits are met, and the Form 144 is the notice you file when you do.
The trigger is a size threshold. You file a 144 when the sale is more than 5,000 shares or more than $50,000 in aggregate value within any 90-day period, according to DFIN.
Here's the part that makes it interesting. The insider files it before the sale, usually the same day they place the order. So you learn the intent first and the execution later.
That ordering is the entire reason to care about the 144. It's the earliest public signal that a specific insider is about to reduce their stake.
How is Form 144 different from Form 4?
Form 144 is a plan; Form 4 is a receipt. The 144 announces an intent to sell before the trade happens. The Form 4 reports a completed transaction, filed within two business days after it settles. One is forward-looking and uncertain, the other is backward-looking and confirmed, and treating them as the same thing is the most common mistake in reading insider data.
The financial press blurs this constantly. A headline says "insider sells $2M in stock" and links a Form 144, when no sale has happened yet, per StockAlarm's breakdown.
The sale attached to a 144 can execute at a different price, in pieces over weeks, or not at all if the insider changes their mind inside the 90-day window.
So the two forms answer different questions. Use them together, not interchangeably.
| Form 144 | Form 4 | |
|---|---|---|
| What it reports | Intent to sell restricted/control stock | A completed transaction (buy or sell) |
| Timing | Before the sale, usually the same day the order is placed | Within 2 business days after the trade |
| Certainty | May not execute, or executes at a different price | Confirmed, with the actual price and share count |
| Trigger | Over 5,000 shares or over $50,000 in 90 days | Any change in beneficial ownership |
| Signal type | Leading (what might happen) | Lagging (what did happen) |
The workflow that actually works: watch the 144 for intent, then reconcile it against the Form 4 that follows to see what really executed. Edgrapi parses both forms from the same key, so you can chain intent to execution without stitching two vendors together.
How do you pull Form 144 notices as JSON?
You call one endpoint with a ticker and read the notices out of the JSON. Edgrapi resolves the ticker to a CIK, pulls the recent Form 144 filings from EDGAR, parses each XML notice, and returns the seller, their relationship, and every security block with its share count, market value, and approximate sale date. No key management for the raw SEC feed, no XML parsing on your side.
Here is the whole thing.
import requests
r = requests.get(
"https://api.edgrapi.com/v1/form144/NVDA",
params={"limit": 5},
headers={"X-API-Key": "edgr_your_key"},
)
d = r.json()
print(d["count"], "recent Form 144 notices")
for f in d["filings"]:
print(f["filed"], f["seller"], "plans to sell",
f["total_shares_to_sell"], "shares",
"(~$%s)" % f["total_market_value"])
Each notice carries the fields you'd actually act on: the seller, their relationship to the issuer, a signal tag of intent-to-sell, and a securities array where each block has shares_to_sell, market_value, approx_sale_date, and the broker.
The notice also totals itself. You get total_shares_to_sell and total_market_value across every block, so you don't have to sum them yourself.
An empty result is a real answer, and it's free. Plenty of companies have no recent 144s, because many insiders sell under a 10b5-1 plan without filing one, so a count of zero costs you nothing.
Get a free API key and pull your first 144 in a minute, no card required.
What's inside a Form 144 notice?
A Form 144 carries more than a share count. Each notice names who is selling and their tie to the company, every class of security they plan to sell with its size and dollar value, when and how they first acquired the stock, and any sales they've already made in the past three months. That last field is what turns a single filing into a pattern.
The parts worth pulling:
- The seller and relationship. The person selling and whether they're an officer, director, or 10% owner.
- Securities to be sold. The share class, the number of units, the aggregate market value, and the approximate sale date.
- The broker and exchange. Who's executing the sale and where.
- How the shares were acquired. The acquisition date and nature, which separates long-held founder stock from a same-day option exercise.
- Sales in the past three months. Prior sales by the same person, so you can tell a steady drip from a one-off.
- Plan adoption date. If the sale runs on a 10b5-1 plan, the date it was adopted, which is the single best tell for whether the notice is routine.
Edgrapi flattens the fields that matter for a signal into each notice: the seller, the relationship, the security blocks with shares and value, and the totals across them. The raw SEC notice carries the rest, and the underlying XML holds every field if you need the long tail.
Is a Form 144 actually a sell signal?
Sometimes, but not the way people assume. A Form 144 is a statement of intent, and intent is a weaker signal than execution. A large share of filed notices never turn into a completed sale inside the 90-day window, and insider selling in general is a much softer signal than insider buying. Read a 144 as "watch this," not "the stock is going down."
First, a lot of them never happen. A 2026 working paper on insider disclosure found a roughly 52% "opacity rate," where filed notices that were never executed are statistically hard to tell apart from ones that were, per this arXiv study. The insider filed, then didn't sell, and the 90 days quietly ran out.
Selling also just says less than buying. An insider buys for basically one reason. They sell for a dozen: taxes, a divorce, a house, rebalancing a portfolio that's 90% one stock. Buying has long been the stronger signal in the research, and selling the noisier one.
And watch for the 10b5-1 plans. A routine sale often runs on a schedule the insider set months earlier, so a 144 tied to a plan tells you almost nothing about what they think today.
Our own data backs this up. We matched 45 recent Form 144 notices across 22 large-cap names against the Form 4s that actually followed, as of September 2026.
When a notice did turn into a reported sale, the confirming Form 4 landed a median of just 2 days later. Tesla's CFO, Vaibhav Taneja, filed a 144 on June 8, 2026, and the Form 4 confirming the sale posted the next day. A 144's head start is real, but short.
More telling: 96% of the sale transactions in that sample were flagged as 10b5-1 plan sales, the clearest sign that most selling at this size is scheduled months ahead, not a fresh call on the stock. And a big share of the notices had no matching sale in our window at all, which lines up with that roughly 52% opacity figure.
So the pattern worth chasing isn't "144 filed, short the stock." It's context. Several insiders filing at once. A notice that's huge next to what the person actually holds. A sale that isn't on a standing plan. That's when a 144 is worth a second look.
How far back does Form 144 data go, and is it reliable?
Reliable machine-readable Form 144 data is basically a 2023-onward dataset. For decades almost every 144 was filed on paper and never hit EDGAR, so there's no clean electronic history before the SEC's mandatory e-filing rule. That rule took effect on April 13, 2023, and it's the moment Form 144 became something you can query programmatically at all.
The scale of the old paper problem is hard to overstate. Over 99.3% of Form 144s in 2019 were filed on paper and never made it onto EDGAR, and researchers counted more than 700,000 paper 144s between 2001 and 2020, per a Rule 144 comment letter summarized by Harvard Law's corporate governance forum.
The SEC fixed that with a rule requiring all Form 144 filings to go through EDGAR electronically, effective April 13, 2023, per the SEC's own compliance notice.
Structured XML notices started showing up a bit earlier, in late 2022, as filers moved over ahead of the deadline. So in practice, treat the usable history as starting around then.
What this means for you: don't build a 10-year backtest on Form 144. The clean data window is short, and anyone claiming deep electronic history is quietly counting scanned paper.
What can you build with Form 144 data?
Anything that needs the earliest hint that an insider is heading for the exit. Form 144 is the front edge of the insider-selling timeline, so it feeds monitoring and screening tools that want to react to intent, then confirm against the Form 4 that follows. The strongest uses all pair the two forms.
A few that people actually build:
- Intent-to-execution tracking. Log each 144, then watch for the matching Form 4 to see whether the insider followed through, at what price, and how fast.
- Cluster-sell alerts. Flag a company when several insiders file 144s in a short window, the mirror image of the cluster-buy signal and a stronger read than any single notice.
- Size-relative screening. Rank notices by shares-to-sell against the seller's known holdings, so a founder dumping a big slice stands out from routine trimming.
- Non-plan filters. Separate notices tied to a 10b5-1 plan from unscheduled ones, and pay more attention to the unscheduled.
- Pre-earnings watchlists. Surface 144s filed in the run-up to a report, then reconcile them against the 8-K and the Form 4 after the fact.
Every one of these is a 144 feed plus a Form 4 feed and some logic on top. The parsing is the part you don't want to own.
Which Form 144 API should you use?
You have four realistic paths, and they trade off price against how much parsing you do yourself. Raw EDGAR is free but you build everything. Open-source libraries parse the XML but you host and maintain them. Hosted APIs return clean JSON, and among those the difference is coverage, price, and whether Form 144 comes paired with the rest of the insider picture.
| Option | What you get | What you do |
|---|---|---|
| Raw SEC EDGAR | Free XML notices, live | Fetch, parse, rate-limit, and cache it all yourself |
| EdgarTools (open source) | A free Python library that reads 144s, per its GitHub | Host it, run it, and turn objects into your own service |
| sec-api.io | Hosted JSON, 70,000+ notices since Oct 2022, per its docs | Pay per plan; 144 is a separate endpoint from the rest |
| Edgrapi | Parsed 144 JSON paired with Form 4, 8-K, and 13F under one key | Call one endpoint; free tier of 100 credits a month |
The honest split: if you only ever need raw 144 XML and nothing else, the SEC endpoint is free and fine. If you want the parsed notice next to the completed Form 4, the 8-K, and the fundamentals behind one key, that's the case for a single hosted API.
Edgrapi's angle is the pairing. The same key that gives you the 144 intent gives you the Form 4 execution, so you can close the loop from "plans to sell" to "sold" without a second vendor.
Start with one call
Pull the last five Form 144 notices for any ticker, then set a job that logs each new one and waits for the matching Form 4 to confirm whether the insider actually sold. That single pipeline, intent then execution, is the highest-value thing you can build on this data, and it starts with one authenticated call to /v1/form144/{ticker}.
Frequently asked questions
Does a Form 144 mean an insider is definitely selling?
No. A Form 144 reports only an intent to sell restricted or control stock, filed before any trade. The insider can sell at a different price, sell in pieces, or not sell at all within the 90-day window. A 2026 study found roughly half of filed notices are hard to distinguish from ones that never executed. Confirm the actual sale on the later Form 4.
What is the difference between Form 144 and Form 4?
Form 144 is a notice of intent to sell, filed before the sale. Form 4 reports a completed transaction, filed within two business days after it happens. The 144 is a leading, uncertain signal; the Form 4 is a lagging, confirmed record. Read the 144 for early warning and the Form 4 for what actually executed.
Is there a free Form 144 API?
The raw SEC EDGAR feed is free but returns unparsed XML you have to fetch, parse, and rate-limit yourself. Hosted APIs return clean JSON. Edgrapi's free tier gives you 100 credits a month against a parsed /v1/form144/{ticker} endpoint, and empty results, a company with no recent notices, don't cost a credit.
How far back does Form 144 data go?
Reliable electronic Form 144 data starts around late 2022 to 2023. The SEC only required Form 144 to be filed electronically on EDGAR from April 13, 2023; before that, over 99% were paper filings that never entered the database. Treat any provider claiming deep electronic 144 history with suspicion, because it is quietly counting scanned paper.
Who has to file a Form 144?
Company insiders and affiliates: officers, directors, and holders of more than 10% of a company's stock, plus certain related parties. They file when selling more than 5,000 restricted or control shares, or more than $50,000 worth, in any 90-day period. The notice goes in around the time they place the sell order.
How is Form 144 different from a 10b5-1 plan?
A 10b5-1 plan is a pre-set trading schedule an insider adopts in advance to sell automatically. A Form 144 is the notice filed when a specific sale under Rule 144 crosses the size threshold. Many 144s are tied to a standing 10b5-1 plan, which makes them routine; an unscheduled 144 usually carries more information.