REST API
Recent transactions, ticker and executive lookups, largest events and exact calendar-window analytics through RapidAPI.
Maximum 1,000 rows per request
Complete REST reference and field-level documentation for InsiderAlpha's quality-screened transaction API and versioned research dataset.
Published rows
1,633,946
Documented fields
64
Schema
v2.0.0
Release
Jul 29, 2026
01 / Overview
The API and bulk dataset use the same commercial eligibility rules. Choose the API for current application queries and the versioned CSV for exhaustive historical analysis.
Recent transactions, ticker and executive lookups, largest events and exact calendar-window analytics through RapidAPI.
Maximum 1,000 rows per request
All publishable rows, SEC lineage, quality state, normalized roles, cluster windows and price outcomes in one versioned UTF-8 CSV.
Research workloads · Python · R · SQL
InsiderAlpha provides public-record data and derived research fields, not investment recommendations. Technical transaction codes must not be interpreted as open-market buying or selling.
02 / Quickstart
Subscribe to the API in RapidAPI, keep the application key on your server and execute either example below.
curl --request GET \
--url 'https://complete-s-p-500-insider-trading-dataset-sec-form-4.p.rapidapi.com/api/v1/transactions/ticker/TSLA?limit=5' \
--header 'x-rapidapi-host: complete-s-p-500-insider-trading-dataset-sec-form-4.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY'import requests
url = "https://complete-s-p-500-insider-trading-dataset-sec-form-4.p.rapidapi.com/api/v1/analytics/snapshot/TSLA"
response = requests.get(
url,
params={"days": 30},
headers={
"x-rapidapi-host": "complete-s-p-500-insider-trading-dataset-sec-form-4.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY",
},
timeout=30,
)
response.raise_for_status()
print(response.json())03 / Authentication
Customer traffic is authenticated and rate-limited by RapidAPI. The proxy secret is an infrastructure credential and must never be placed in customer code.
x-rapidapi-key
Your application key from the RapidAPI dashboard. Treat it as a server-side secret.
x-rapidapi-host
complete-s-p-500-insider-trading-dataset-sec-form-4.p.rapidapi.com
Never call the paid API directly from browser JavaScript. Use a server route, serverless function or backend proxy so the key cannot be extracted from the client bundle.
04 / REST endpoints
Every operation below uses the same publishable-row filter: current rows, non-future transaction dates and validation_status equal to sec_verified or validated_legacy.
Returns the most recent publishable transactions across the covered universe, plus directional metrics for the returned batch.
limitquery · integeroptionalMaximum number of transactions returned.
default=50 · 1–1000
{
"count": 50,
"limit_applied": 50,
"data": [{ "...": "TransactionOut" }],
"batch_metrics": {
"buy_volume": 1250000.0,
"sell_volume": 830000.0,
"net_flow": 420000.0
}
}Returns recent publishable Form 4 transactions for one normalized ticker symbol.
symbolpath · stringrequiredCase-insensitive U.S. equity ticker.
limitquery · integeroptionalMaximum number of transactions returned.
default=50 · 1–1000
{
"count": 50,
"limit_applied": 50,
"data": [{ "...": "TransactionOut" }],
"batch_metrics": null
}Searches reporting-owner names and returns matching publishable transactions.
namequery · stringrequiredFull name or whitespace-delimited name fragment as reported or normalized from SEC data.
limitquery · integeroptionalMaximum number of transactions returned.
default=50 · 1–1000
{
"count": 12,
"limit_applied": 50,
"data": [{ "...": "TransactionOut" }],
"batch_metrics": null
}Returns the largest publishable transactions by effective nominal value inside a rolling calendar window.
daysquery · integeroptionalRolling calendar-day lookback.
default=30 · 1–3650
limitquery · integeroptionalMaximum number of transactions returned.
default=50 · 1–1000
{
"count": 50,
"timeframe": "Last 30 days",
"data": [{ "...": "TransactionOut" }]
}Aggregates transaction count, shares and effective nominal value by SEC transaction code for one ticker.
symbolpath · stringrequiredCase-insensitive U.S. equity ticker.
{
"ticker": "NVDA",
"data": [
{
"Type": "S",
"Total_Transactions": 24,
"Total_Shares": 87500.0,
"Total_Dollars": 10250000.0
}
]
}Computes exact calendar-window activity, open-market flow, active insiders and directional leaders.
symbolpath · stringrequiredCase-insensitive U.S. equity ticker.
daysquery · integeroptionalInclusive calendar window. A 30-day request includes today and the preceding 29 dates.
default=30 · 1–3650
{
"ticker": "NVDA",
"window_days": 30,
"start_date": "2026-06-26",
"end_date": "2026-07-25",
"transaction_count": 8,
"open_market_transaction_count": 3,
"total_volume": 4100000.0,
"buy_volume": 600000.0,
"sell_volume": 3100000.0,
"option_volume": 400000.0,
"net_flow": -2500000.0,
"active_insiders": 4,
"latest_filing_date": "2026-07-23",
"top_buyer": null,
"top_seller": {
"executive": "EXAMPLE EXECUTIVE",
"position": "Officer",
"transaction_type": "S",
"total_value": 1500000.0,
"transaction_count": 1
}
}Aggregates an executive's publishable activity and groups it by issuer.
namequery · stringrequiredExecutive or reporting-owner name.
Minimum 2 characters
{
"executive": "ELON MUSK",
"transaction_count": 18,
"total_volume": 7200000000.0,
"buy_volume": 0.0,
"sell_volume": 2400000.0,
"net_flow": -2400000.0,
"latest_filing_date": "2026-06-16",
"companies": [
{
"ticker": "TSLA",
"transaction_count": 18,
"total_volume": 7200000000.0,
"latest_filing_date": "2026-06-16"
}
]
}Returns publishable transactions whose transaction date falls inside an inclusive ISO-8601 date range.
startquery · daterequiredInclusive start date in YYYY-MM-DD format.
endquery · daterequiredInclusive end date in YYYY-MM-DD format.
limitquery · integeroptionalMaximum number of transactions returned.
default=50 · 1–1000
{
"count": 50,
"start_date": "2026-03-01",
"end_date": "2026-03-14",
"data": [{ "...": "TransactionOut" }]
}05 / Response contract
Transaction responses preserve the original compatibility fields and add canonical lineage, deterministic quality state and enrichment fields. Nullable fields remain null when the source or calculation is unavailable.
{
"id": 1568928,
"Form": "Form 4",
"Ticker": "AAPL",
"Executive": "DOE JOHN",
"Position": "Chief Financial Officer",
"Date": "2026-07-23",
"Type": "P",
"Shares": 500.0,
"Price": 202.45,
"Total_Value": 101225.0,
"Notes": null,
"accession_number": "0001209191-26-012345",
"source_form": "4",
"filing_date": "2026-07-24",
"accepted_at": "2026-07-24T20:03:15Z",
"issuer_cik": "0000320193",
"reporting_owner_cik": "0001214156",
"is_amendment": false,
"transaction_table": "non_derivative",
"transaction_sequence": 1,
"security_title": "Common Stock",
"acquired_disposed": "A",
"shares_owned_after": 12450.0,
"ownership_nature": "D",
"validation_status": "sec_verified",
"source_verification_status": "sec_filing",
"quality_score": 100,
"calculated_total_value": 101225.0,
"is_current": true,
"sector": "Technology",
"industry": "Electronic Computers",
"standard_role": "CFO",
"is_cluster_buy": false,
"cluster_size_30d": 1,
"market_return_30d": null,
"return_status_30d": "not_matured",
"price_source": "legacy_yfinance_close",
"return_algorithm_version": "2.0.0"
}The example is illustrative of the response contract. Consult the dictionary below for authoritative semantics and nullability of all 64 fields.
06 / Data dictionary
Search by field, source, type or concept. The original SEC or legacy values remain separate from normalized and derived research fields.
Stable compatibility fields available in API transaction responses and the bulk release.
Fields that connect canonical rows to EDGAR filings, transaction tables and reporting-owner identity.
Auditable controls used to decide whether a row is eligible for the commercial release.
Point-in-time company context joined to each transaction when coverage is available.
Standard role classification designed for cohort analysis while preserving the original Position.
Counts distinct reporting owners with code P purchases for the issuer inside inclusive calendar windows.
Security price observations measured from transaction date. These are descriptive outcomes, not benchmark-adjusted returns or evidence of causality.
07 / Methodology
Derived fields are versioned and remain distinct from the original transaction values.
The public API and release include only current, non-future rows classified as sec_verified or validated_legacy. Review and rejected rows remain internal for audit.
SEC-linked rows use accession_number + transaction_table + transaction_sequence. Amendments and legacy overlaps are reconciled conservatively rather than silently deleted.
Only code P purchases participate. Window sizes count distinct reporting owners for the same ticker over inclusive 7, 30 and 90 calendar-day windows. Three owners in 30 days sets is_cluster_buy.
Price outcomes begin at transaction date, not filing acceptance. The next observed trading price within seven days of each target is used. They are not SPY-adjusted and do not establish causality.
08 / Transaction codes
Only open-market codes P and S are used for directional net flow. Other codes can have large nominal values without representing discretionary buying or selling.
09 / Errors
RapidAPI can return quota errors before the request reaches InsiderAlpha. Application validation errors use JSON response bodies.
400Invalid or missing query input
Missing name, start or end parameter.
401Authentication failed
Missing or invalid RapidAPI credentials.
404No publishable ticker data
Ticker lookup returned no eligible records.
422Schema validation failed
days is outside 1–3650 or a date is malformed.
429Rate limit exceeded
RapidAPI plan quota or request rate exceeded.
5xxService unavailable
Temporary API or database failure.
10 / Freshness and versioning
New SEC transactions are checked hourly. Bulk releases and derived enrichment fields are versioned independently, so clients should inspect filing, metadata and algorithm timestamps rather than assume every field was calculated simultaneously.
API version
v1 routes
Additive response fields can be introduced without removing compatibility fields.
Dataset schema
2.0.0
Breaking column or semantic changes require a new major schema version.
Ingestion target
Hourly
SEC publication, upstream availability and processing can introduce latency.
11 / Known limitations
The commercial release combines canonical SEC-linked history with separately flagged validated legacy history.
Ticker symbols and company metadata can change through mergers, reorganizations and symbol changes.
Form 4 reports ownership events; it does not reveal the reporting person's motivation.
Open-market sales can be pre-scheduled through Rule 10b5-1 plans and should not automatically be read as bearish conviction.
Post-transaction price fields are security outcomes, not filing-date strategy returns and not benchmark-adjusted alpha.
Sector, industry and price enrichment contain nulls where the selected source has no reliable observation.
The REST API currently uses bounded limits rather than cursor pagination. Use the bulk release for exhaustive history.
Choose a delivery mode