Skip to main content
The CEO Watcher API is for developers with an active Premium subscription. It exposes the same search, feeds, and transaction detail surfaces used by the product. Create a key on Developer. Send Authorization: Bearer cw_.... See Authentication. This API is separate from the Yellowbrick API. Use of the API is subject to the CEO Watcher Terms of Service. You may use CEO Watcher data for trading, research, and investment decisions. You may not use the API or the data to create, operate, or offer a product or service that conflicts with or competes with any Yellowbrick Investing Inc. service, including CEO Watcher and Yellowbrick.

How the pieces fit

  1. Insiders → Search resolves a reporting owner by name to a CIK. See Insiders.
  2. Insider Trades → Search finds Form 4 trades with the same filters as the in-app search. Pass the CIK as reportingOwnerCik. See Filters.
  3. Feeds → List returns accession/transaction ids from curated feeds (with optional ticker, date, and sector filters).
  4. Transactions → Get hydrates one trade by accession number and transaction id.
Feeds intentionally return a compact list. Call Get for each row you need full fields for.

Insiders

GET /api/v1/insiders?q=buffett&limit=10 resolves a name to a reporting-owner CIK. Full reference: Insiders. API playground: Insiders → Search. POST /api/v1/search
Omitted filter fields use the same defaults as the product (including excludeAnomalousTransactions: true and filingDatePreset: "All time"). Full field reference: Filters. Response envelope: data (camelCase trade rows), nextCursor, prevCursor, hasMore. pageSize is 1–100 (default 100). Pass nextCursor back with the same filter to continue.

Feeds

GET /api/v1/feeds?feed_id=15&feed_id=16&limit=10 Common feed ids: Response rows are { accession_number, transaction_id, filed_at }.

Transactions

GET /api/v1/transactions/{accessionNumber}/{transactionId} Optional fields is a comma-separated list of snake_case column names. Defaults match the product detail view. feed_ids is always included.

Errors

Responses use problem details: type, title, status, detail.