SEC Form 4 APIsecform4.com ↗
Access SEC Form 4 insider trades, 13D/13G filings, institutional holders, and hedge fund portfolios via the secform4.com API. 11 endpoints, data back to 2003.
What is the SEC Form 4 API?
The secform4.com API exposes 11 endpoints covering SEC Form 4 insider transactions, Schedule 13D/13G filings, institutional holder data, and hedge fund portfolios. get_insider_buy_sell_ratios returns daily aggregate buy and sell counts plus dollar volumes going back to 2003, with S&P 500, DOW, and NASDAQ index values for the same dates. Other endpoints let you pull company-specific insider history by CIK, search by ticker, and retrieve full hedge fund holdings by quarter.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/04fa8df4-9725-4e74-8dda-be7bb87bdce1/get_insider_buys' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace secform4-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""
SecForm4 API - Usage Example
Get your API key from: https://parse.bot/settings
"""
from parse_apis.SecForm4_API import SecForm4, Transaction, Portfolio, HolderData, NotFoundError
secform4 = SecForm4(api_key="YOUR_API_KEY")
# Browse recent significant insider buys
for tx in secform4.buys.significant(limit=5):
print(tx.company, tx.symbol, tx.total_amount, tx.insider_relationship)
# Search for insider trading by ticker
first_tx = secform4.buys.search(query="AAPL", limit=1).first()
if first_tx:
print(first_tx.transaction_date, first_tx.shares_traded, first_tx.average_price)
# Get a company's insider trading history
apple = secform4.company(cik="320193")
for tx in apple.insider_trading(limit=3):
print(tx.reported_datetime, tx.insider_relationship, tx.total_amount)
# Get institutional holders for a company
holders = apple.institution_holders(symbol="AAPL")
print(holders.currentQuarter, holders.holderCntList)
# Get a hedge fund's portfolio
berkshire = secform4.institution(cik="1067983")
try:
portfolio = berkshire.portfolio()
print(portfolio.currentQuarter, portfolio.valueHistory)
except NotFoundError as exc:
print(f"Institution not found: {exc}")
# Get aggregate buy/sell ratios with market index comparison
ratio = secform4.ratios.get()
print(ratio.marketIndexName, ratio.buySells)
print("exercised: buys.significant / buys.search / company.insider_trading / company.institution_holders / institution.portfolio / ratios.get")
Returns recent insider purchase transactions from SEC Form 4 filings. Data is delayed by 6 months for public users. Each transaction includes company info, insider relationship, share count, price, and filing link.
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of insider buy transaction objects"
},
"sample": {
"data": {
"items": [
{
"filing": "View",
"symbol": "MIAX",
"company": "MIAMI INTERNATIONAL HOLDINGS INC.",
"filing_url": "https://www.secform4.com/filings/1438472/0001437749-25-037835.htm",
"company_url": "https://www.secform4.com/insider-trading/1438472.htm",
"shares_owned": "4,707,351 (Indirect Direct)",
"total_amount": "$99,999",
"average_price": "$41",
"shares_traded": "2,439",
"transaction_date": "2025-12-12 Purchase",
"reported_datetime": "2025-12-15 3:53 pm",
"insider_relationship": "STAHL MURRAY HORIZON KINETICS ASSET MANAGEMENT LLC Director",
"insider_relationship_url": "https://www.secform4.com/insider-trading/1207097.htm"
}
]
},
"status": "success"
}
}About the SEC Form 4 API
Insider Transaction Endpoints
Four endpoints cover Form 4 transaction feeds: get_insider_buys and get_insider_sales return recent purchase and sale transactions respectively, each with company info, insider relationship (officer, director, 10% owner, etc.), share count, price per share, and a link to the SEC filing. get_significant_insider_buys applies a dollar-amount filter to surface only larger purchases. get_stock_options covers non-open-market transactions: option exercises, awards, grants, conversions, and tax withholdings. Note that buy data for public users is delayed by 6 months.
Company and Search Endpoints
get_company_insider_trading accepts a required cik parameter (the SEC CIK number, e.g. 320193 for Apple) and returns the full Form 4 history for that company — buys, sells, and option transactions combined. The search endpoint accepts a ticker symbol, CIK number, or company name as a query string and returns matching transaction records including transaction_date, reported_datetime, company, symbol, and insider_relationship. Both are the right starting point when you need per-company depth rather than market-wide feeds.
Institutional Holdings and Hedge Fund Portfolios
get_institution_holders returns top institutional holders for a company CIK, including a per-quarter holder count list (holderCntList), net money flow per quarter (moneyflow), and a tableData array with each holder's share count, portfolio weight, shares changed, and quarter. Optional parameters shares_outstanding, symbol, and name add context to the response. get_hedge_fund_portfolio flips the perspective: given an institution's CIK (e.g. 1067983 for Berkshire Hathaway), it returns that fund's holdings table, quarterly value history (valueHistory), S&P 500 comparison data, and a summary object with address and manager details. The quarter parameter (format YYYYQn) lets you query a specific quarter; omitting it returns the latest available.
Schedule 13D and 13G Filings
get_13d_filings and get_13g_filings return recent Schedule 13D and 13G filings respectively. Both cover ownership stakes exceeding 5% of a public company. 13D filers have declared activist intent; 13G filers are passive holders. The two endpoints give distinct feeds so you can monitor activist accumulation separately from passive institutional ownership changes.
The SEC Form 4 API is a managed, monitored endpoint for secform4.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when secform4.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official secform4.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Alert on significant insider purchases using
get_significant_insider_buysto flag high-dollar Form 4 transactions as they are filed - Build a historical insider sentiment indicator using the daily buy/sell counts and dollar volumes from
get_insider_buy_sell_ratiosback to 2003 - Track all insider activity for a specific stock by querying
get_company_insider_tradingwith the company's SEC CIK number - Monitor activist investor filings by polling
get_13d_filingsfor new 5%+ ownership disclosures with intent to influence - Compare hedge fund position changes quarter-over-quarter using
get_hedge_fund_portfoliowith thequarterparameter - Identify institutional accumulation or distribution patterns by reading
holderCntListandmoneyflowfromget_institution_holders - Search insider trading history for a ticker symbol or company name using the
searchendpoint to seed a watchlist
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does secform4.com have an official developer API?+
How fresh is the insider transaction data returned by the buy and sale endpoints?+
get_insider_buys and get_insider_sales endpoints note a 6-month delay for public users. get_significant_insider_buys, get_13d_filings, get_13g_filings, and the institutional/hedge fund endpoints do not carry an explicit delay notice in the endpoint descriptions.Can I filter insider transactions by date range, dollar amount, or insider relationship type?+
get_significant_insider_buys is the only pre-filtered feed, limited to larger-dollar purchases. The get_company_insider_trading and search endpoints accept a CIK or ticker to scope results to one company. You can fork this API on Parse and revise it to add filter parameters for the missing dimensions.Does the API cover Form 4 filings for non-US companies listed on US exchanges?+
What does the `get_insider_buy_sell_ratios` response structure look like?+
buySells object with a date array and parallel numeric arrays where index 0 is buy count, 1 is sell count, 2 is buy dollar volume, and 3 is sell dollar volume — one value per day back to 2003. A separate marketIndex object holds S&P 500, DOW, and NASDAQ values for the same date range, with index names provided in marketIndexName.