Events
Insider transactions
Officer and director trades (Form 4 activity) as events on the unified timeline — kind=insider on GET /v2/events. Who traded, what they hold, how many shares, at what price — cross-ticker and SQL-filterable.
Payload
One event per executive × date × security type.
| field | meaning |
|---|---|
executive | Filer's name |
title | Their role (CEO, CFO, Director, …) |
security_type | What was traded (common stock, options, …) |
action | A = acquisition, D = disposal |
shares | Share count |
price | Price per share (0 for grants/awards) |
value | shares × price, rounded to cents |
Recipes
Cast payload numerics to filter on size.
# Recent insider activity in NVDA
curl "https://api.tickerbot.io/v2/events?kind=insider&ticker=NVDA" \
-H "Authorization: Bearer YOUR_KEY"
# Open-market sales over $1M across the top 100, this month
curl -G "https://api.tickerbot.io/v2/events" \
-H "Authorization: Bearer YOUR_KEY" \
--data-urlencode "kind=insider" \
--data-urlencode "universe=top_100" \
--data-urlencode "since=2026-07-01" \
--data-urlencode "q=payload->>'action'='D' AND (payload->>'value')::numeric > 1000000"
# Who's buying the most? (aggregate mode)
curl -G "https://api.tickerbot.io/v2/events" \
-H "Authorization: Bearer YOUR_KEY" \
--data-urlencode "kind=insider" \
--data-urlencode "since=2026-07-01" \
--data-urlencode "q=payload->>'action'='A'" \
--data-urlencode "group_by=ticker" \
--data-urlencode "select=ticker, SUM((payload->>'value')::numeric) AS bought"Latency: filings land with the evening ET ingestion pipeline (daily). Push instead of poll: POST /v2/events/subscribe with kinds=insider.