{"openapi":"3.0.3","info":{"title":"Tracefour API v1","version":"1.0.0","description":"Read-only access to public insider-trading disclosures: SEC Form 4 filings, 13F/Congress/OGE tracker portfolios, cluster and streak digests, and European PDMR filings (DE, UK, SE, NL). Free tier: 60 requests/hour per key. Keys are issued from your Tracefour account at https://tracefour.com/settings. Data is sourced from public regulatory filings and refreshed hourly. Not investment advice. Attribution: every response names its Tracefour page in meta.attribution.page, and filings, clusters, and streaks records carry a url to their ticker page — link to those when you display the data."},"servers":[{"url":"https://tracefour.com"}],"security":[{"bearerKey":[]}],"components":{"securitySchemes":{"bearerKey":{"type":"http","scheme":"bearer","description":"API key (\"tf_…\"). Also accepted via the X-Api-Key header."}},"schemas":{"Envelope":{"type":"object","properties":{"data":{"description":"Endpoint-specific payload."},"error":{"type":"string","nullable":true},"meta":{"type":"object","properties":{"source":{"type":"string"},"fetchedAt":{"type":"string","format":"date-time"},"count":{"type":"integer"},"attribution":{"type":"object","description":"Where this data came from and which Tracefour page to link when displaying it.","properties":{"text":{"type":"string"},"site":{"type":"string","format":"uri"},"page":{"type":"string","format":"uri","description":"Canonical Tracefour page for this response."}}}}}}}}},"paths":{"/v1/filings":{"get":{"summary":"U.S. SEC Form 4 open-market filings (rolling window)","parameters":[{"name":"since","in":"query","schema":{"type":"string","format":"date"},"description":"Earliest filed date (YYYY-MM-DD). Default: 30 days back. Clamped to the 365-day retention window."},{"name":"direction","in":"query","schema":{"type":"string","enum":["P","S","all"]},"description":"P = purchases, S = sales."},{"name":"min_value","in":"query","schema":{"type":"number","minimum":0},"description":"Minimum transaction value in USD."},{"name":"ticker","in":"query","schema":{"type":"string","pattern":"^[A-Za-z]{1,5}$"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":100}}],"responses":{"200":{"description":"Envelope with endpoint-specific data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing, malformed, or revoked API key."},"429":{"description":"Rate limit reached (60 requests/hour per key on the free tier)."}}}},"/v1/trackers/{slug}":{"get":{"summary":"One tracker portfolio (13F fund, Congress member, or OGE filer)","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"e.g. pelosi, berkshire, cathie-wood. Full list on https://tracefour.com/trackers."}],"responses":{"200":{"description":"Envelope with endpoint-specific data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing, malformed, or revoked API key."},"404":{"description":"Unknown tracker slug."},"429":{"description":"Rate limit reached (60 requests/hour per key on the free tier)."}}}},"/v1/congress/{member}":{"get":{"summary":"STOCK Act trades for one member of Congress","parameters":[{"name":"member","in":"path","required":true,"schema":{"type":"string"},"description":"Member slug, e.g. nancy-pelosi."}],"responses":{"200":{"description":"Envelope with endpoint-specific data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing, malformed, or revoked API key."},"404":{"description":"Unknown member slug."},"429":{"description":"Rate limit reached (60 requests/hour per key on the free tier)."}}}},"/v1/insiders/{id}":{"get":{"summary":"One insider identity + in-window Form 4 transactions","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Insider slug, e.g. jensen-huang."}],"responses":{"200":{"description":"Envelope with endpoint-specific data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing, malformed, or revoked API key."},"404":{"description":"Unknown insider slug."},"429":{"description":"Rate limit reached (60 requests/hour per key on the free tier)."}}}},"/v1/clusters":{"get":{"summary":"Active cluster-buy digests (multiple insiders, same ticker)","responses":{"200":{"description":"Envelope with endpoint-specific data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing, malformed, or revoked API key."},"429":{"description":"Rate limit reached (60 requests/hour per key on the free tier)."}}}},"/v1/streaks":{"get":{"summary":"Active insider buying streaks with track records","responses":{"200":{"description":"Envelope with endpoint-specific data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing, malformed, or revoked API key."},"429":{"description":"Rate limit reached (60 requests/hour per key on the free tier)."}}}},"/v1/eu/{country}":{"get":{"summary":"Recent European PDMR filings for one market","parameters":[{"name":"country","in":"path","required":true,"schema":{"type":"string","enum":["de","uk","se","nl"]}}],"responses":{"200":{"description":"Envelope with endpoint-specific data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"description":"Unknown market."},"401":{"description":"Missing, malformed, or revoked API key."},"429":{"description":"Rate limit reached (60 requests/hour per key on the free tier)."}}}}}}