> ## Documentation Index
> Fetch the complete documentation index at: https://docs.joinyellowbrick.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search

> Same filter model as the in-app search. Returns a cursor page of trades. Use `nextCursor` with the same filter to fetch the next page. Filter field reference: Filters guide. Resolve owner names with Insiders → Search first when you need a CIK.



## OpenAPI

````yaml /ceowatcher-openapi.json post /api/v1/search
openapi: 3.1.0
info:
  title: CEO Watcher API
  version: 1.0.0
  description: >-
    Search reporting owners by name, search insider trades, list curated feed
    memberships, and fetch a single transaction. The key identifies a Premium
    CEO Watcher account.
servers:
  - url: https://www.ceowatcher.com
    description: Production
  - url: https://ceowatcher-staging.vercel.app
    description: Staging
security:
  - bearerAuth: []
tags:
  - name: Insiders
    description: >-
      Resolve reporting-owner CIKs by name. Pass `cik` as
      `filter.reportingOwnerCik` on Insider Trades → Search.
  - name: Insider Trades
    description: >-
      Cursor-paginated Form 4 search with the same filters as the CEO Watcher
      app. See the Filters guide for field semantics.
  - name: Feeds
    description: >-
      Cursor-paginated feed memberships (accession + transaction ids). Hydrate
      each row with Transactions → Get.
  - name: Transactions
    description: >-
      Fetch one enriched Form 4 transaction by accession number and transaction
      id.
paths:
  /api/v1/search:
    post:
      tags:
        - Insider Trades
      summary: Search
      description: >-
        Same filter model as the in-app search. Returns a cursor page of trades.
        Use `nextCursor` with the same filter to fetch the next page. Filter
        field reference: Filters guide. Resolve owner names with Insiders →
        Search first when you need a CIK.
      operationId: searchInsiderTrades
      parameters:
        - name: x-vercel-protection-bypass
          in: query
          required: false
          description: >-
            Optional. Vercel Protection Bypass for Automation — use when calling
            the Staging server.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                filter:
                  default: {}
                  type: object
                  properties:
                    cikOrTicker:
                      description: >-
                        Issuer CIK (digits) or ticker (alphanumeric,
                        case-insensitive). When set without an explicit
                        filing-date range, search auto-bounds to that issuer's
                        filing history.
                      type: string
                    sector:
                      description: >-
                        Sector slug (`biotech`, `consumer`, `energy`,
                        `financials`, `healthcare`, `industrials`, `materials`,
                        `realestate`, `technology`), numeric CapIQ simple
                        industry id, empty string, or `all`. Empty/`all` = no
                        sector filter.
                      type: string
                    marketCapMin:
                      description: >-
                        Minimum market cap at filing. Human amounts like `250m`
                        or `500k`. Compared to `market_cap_at_filing` in
                        **millions**.
                      type: string
                    marketCapMax:
                      description: >-
                        Maximum market cap at filing. Human amounts like `250m`
                        or `500k`. Compared in **millions**.
                      type: string
                    reportingOwnerCik:
                      description: Exact reporting-owner CIK.
                      type: string
                    position:
                      description: >-
                        Position flags. Selected flags are AND'd (must match
                        all). Omit or leave false to ignore.
                      type: object
                      properties:
                        officer:
                          description: Require `is_officer`.
                          type: boolean
                        director:
                          description: Require `is_director`.
                          type: boolean
                        owner:
                          description: Require 10% owner (`is_10_percent_owner`).
                          type: boolean
                        ceo:
                          description: Require `is_ceo`.
                          type: boolean
                        cfo:
                          description: Require `is_cfo`.
                          type: boolean
                        cto:
                          description: Require `is_cto`.
                          type: boolean
                        coo:
                          description: Require `is_coo`.
                          type: boolean
                      additionalProperties: false
                    insiderReturnPeriod:
                      type: string
                      enum:
                        - 1D
                        - 1W
                        - 1M
                        - 3M
                        - 6M
                        - 1Y
                        - 2Y
                        - AllTime
                      description: >-
                        Lookback for insider historical returns. `AllTime` and
                        `1D` currently fall back to the 3-month series.
                    insiderReturnType:
                      type: string
                      enum:
                        - all
                        - bullish
                        - bearish
                      description: >-
                        Which insider return series to filter on. Default `all`.
                        Requires `insiderReturnMin` and/or `insiderReturnMax`.
                    insiderReturnMin:
                      description: >-
                        Minimum insider return percent for `insiderReturnPeriod`
                        / `insiderReturnType`. Applied only when a period is set
                        and at least one bound is set.
                      type: string
                    insiderReturnMax:
                      description: >-
                        Maximum insider return percent for `insiderReturnPeriod`
                        / `insiderReturnType`.
                      type: string
                    tradeReturnPeriod:
                      type: string
                      enum:
                        - ''
                        - 1W
                        - 1M
                        - 3M
                        - 6M
                        - 1Y
                        - 2Y
                        - latest
                      description: >-
                        Lookback for this trade's forward return. Empty string
                        disables return filtering. Unknown values are treated as
                        `latest`.
                    tradeReturnMin:
                      description: >-
                        Minimum forward trade return percent. Requires
                        `tradeReturnPeriod` and at least one bound.
                      type: string
                    tradeReturnMax:
                      description: Maximum forward trade return percent.
                      type: string
                    tradeType:
                      type: string
                      enum:
                        - ''
                        - all
                        - purchase
                        - sale
                      description: >-
                        Trade direction. Empty/`all` = no filter. `purchase` →
                        acquired (`A`). `sale` → disposed (`D`).
                    purchaseMin:
                      description: Minimum transaction value in USD (`transaction_value`).
                      type: string
                    purchaseMax:
                      description: Maximum transaction value in USD.
                      type: string
                    percentChangeMin:
                      description: >-
                        Minimum holdings percent change. Enter as percent (e.g.
                        `10` for 10%); divided by 100 before compare.
                      type: string
                    percentChangeMax:
                      description: Maximum holdings percent change (entered as percent).
                      type: string
                    excludeEspp:
                      description: >-
                        Exclude Employee Stock Purchase Plan trades. Default
                        `false`.
                      type: boolean
                    exclude10b51:
                      description: Exclude Rule 10b5-1 plan trades. Default `false`.
                      type: boolean
                    excludeTaxRelated:
                      description: Exclude tax-related trades. Default `false`.
                      type: boolean
                    excludePublicOffering:
                      description: Exclude public-offering trades. Default `false`.
                      type: boolean
                    excludeDividendReinvestment:
                      description: Exclude dividend-reinvestment trades. Default `false`.
                      type: boolean
                    excludeDerivative:
                      description: Exclude derivative transactions. Default `false`.
                      type: boolean
                    excludeAnomalousTransactions:
                      description: >-
                        Exclude anomalous trades and extreme price/value
                        outliers. Default `true`. Also requires price ≤ 10000,
                        value > 0, and value ≤ 1e11.
                      type: boolean
                    excludeLowSignalTransactions:
                      description: >-
                        Keep only high-signal trades (`is_high_signal`). Default
                        `false`.
                      type: boolean
                    onlyMarketTransactions:
                      description: >-
                        Require a positive `price_per_share` (open-market
                        style). Default `false`.
                      type: boolean
                    onlyNewPositions:
                      description: >-
                        Require shares owned after = shares in this trade (new
                        position). Default `false`.
                      type: boolean
                    onlyClusterTrades:
                      description: Require 90-day cluster trade. Default `false`.
                      type: boolean
                    onlyReversal:
                      description: Require reversal trades. Default `false`.
                      type: boolean
                    onlyBuyingDip:
                      description: Require buying-the-dip trades. Default `false`.
                      type: boolean
                    onlySellingRip:
                      description: Require selling-the-rip trades. Default `false`.
                      type: boolean
                    filingDateFrom:
                      description: >-
                        Inclusive filing date start (`YYYY-MM-DD`), Eastern
                        Time. Use with `filingDatePreset: "custom"` or together
                        with presets.
                      type:
                        - string
                        - 'null'
                    filingDateTo:
                      description: Inclusive filing date end (`YYYY-MM-DD`), Eastern Time.
                      type:
                        - string
                        - 'null'
                    filingDatePreset:
                      type: string
                      enum:
                        - Today
                        - 3 days
                        - 7 days
                        - 1 month
                        - 3 months
                        - 6 months
                        - 1 year
                        - 2 years
                        - 5 years
                        - 10 years
                        - All time
                        - custom
                      description: >-
                        Relative filing-date window. Use `custom` with
                        `filingDateFrom` / `filingDateTo`. Default `All time`.
                    accessionNumber:
                      description: Exact SEC accession number.
                      type: string
                    sortBy:
                      type: string
                      enum:
                        - filedAt
                        - insiderReturn
                        - tradeReturn
                        - percentChange
                        - transactionValue
                      description: >-
                        Sort column. `percentChange` sorts by absolute holdings
                        change. Default `filedAt`.
                    sortDirection:
                      type: string
                      enum:
                        - asc
                        - desc
                      description: Sort direction. Default `desc`.
                  additionalProperties: false
                  description: >-
                    Search filters matching the CEO Watcher app. Omitted fields
                    use product defaults (including
                    `excludeAnomalousTransactions: true` and `filingDatePreset:
                    "All time"`).
                pagination:
                  default:
                    cursor: null
                    pageSize: 100
                  type: object
                  properties:
                    cursor:
                      description: Opaque cursor from the previous page (`nextCursor`).
                      type:
                        - string
                        - 'null'
                    pageSize:
                      default: 100
                      description: Page size. 1–100. Default 100.
                      type: integer
                      minimum: 1
                      maximum: 100
                  required:
                    - pageSize
                  additionalProperties: false
              required:
                - filter
                - pagination
              additionalProperties: false
      responses:
        '200':
          description: Trade page
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        accessionNumber:
                          description: SEC accession number.
                          type:
                            - string
                            - 'null'
                        transactionId:
                          description: Transaction id within the filing.
                          type:
                            - number
                            - 'null'
                        percentChange:
                          description: >-
                            Holdings percent change for this trade (fraction,
                            not percent points).
                          type:
                            - number
                            - 'null'
                        securityTitle:
                          description: Security title from the Form 4.
                          type:
                            - string
                            - 'null'
                        isAggregated:
                          description: Whether the row is aggregated.
                          type:
                            - boolean
                            - 'null'
                        sharesOwnedFollowingTransaction:
                          description: Shares owned after the transaction (rounded).
                          type:
                            - number
                            - 'null'
                        code:
                          description: Form 4 transaction code.
                          type:
                            - string
                            - 'null'
                        simpleIndustryId:
                          description: CapIQ simple industry id.
                          type:
                            - number
                            - 'null'
                        name:
                          description: Reporting owner name.
                          type:
                            - string
                            - 'null'
                        companyName:
                          description: Issuer company name.
                          type:
                            - string
                            - 'null'
                        companyId:
                          description: Internal company id.
                          type:
                            - number
                            - 'null'
                        tradingItemId:
                          description: Trading item id.
                          type:
                            - number
                            - 'null'
                        issuerCik:
                          description: Issuer CIK.
                          type:
                            - string
                            - 'null'
                        reportingOwnerCik:
                          description: Reporting owner CIK.
                          type:
                            - string
                            - 'null'
                        tickerSymbol:
                          description: Ticker at analysis time.
                          type:
                            - string
                            - 'null'
                        transactionDate:
                          description: Transaction date.
                          type:
                            - string
                            - 'null'
                        filedAt:
                          description: Filing timestamp (ISO).
                          type:
                            - string
                            - 'null'
                        acquiredDisposedCode:
                          description: '`A` = acquired, `D` = disposed.'
                          type:
                            - string
                            - 'null'
                        numberOfShares:
                          description: Shares in this transaction.
                          type:
                            - number
                            - 'null'
                        transactionValue:
                          description: Transaction value in USD.
                          type:
                            - number
                            - 'null'
                        latestReturn:
                          description: Latest available forward return.
                          type:
                            - number
                            - 'null'
                        latestReturnDate:
                          description: As-of date for `latestReturn`.
                          type:
                            - string
                            - 'null'
                        isDerivative:
                          description: Derivative transaction flag.
                          type:
                            - boolean
                            - 'null'
                        footnote:
                          description: Footnote text when present.
                          type:
                            - string
                            - 'null'
                        isEspp:
                          description: Employee Stock Purchase Plan.
                          type:
                            - boolean
                            - 'null'
                        isPurchaseAgreement:
                          description: Purchase agreement.
                          type:
                            - boolean
                            - 'null'
                        isPublicOffering:
                          description: Public offering.
                          type:
                            - boolean
                            - 'null'
                        isPrivatePlacement:
                          description: Private placement.
                          type:
                            - boolean
                            - 'null'
                        isDividendReinvestment:
                          description: Dividend reinvestment.
                          type:
                            - boolean
                            - 'null'
                        is10b51:
                          description: Rule 10b5-1 plan.
                          type:
                            - boolean
                            - 'null'
                        isForTaxes:
                          description: Tax-related.
                          type:
                            - boolean
                            - 'null'
                        isMarketTransaction:
                          description: True when `price_per_share` is present and positive.
                          type:
                            - boolean
                            - 'null'
                        insiderAvgReturn:
                          description: Insider average return (3M series alias).
                          type:
                            - number
                            - 'null'
                        insiderAvgReturnBullish:
                          description: Insider average bullish return (3M).
                          type:
                            - number
                            - 'null'
                        insiderAvgReturnBearish:
                          description: Insider average bearish return (3M).
                          type:
                            - number
                            - 'null'
                        insiderAvg1wReturn:
                          description: Insider avg return 1W.
                          type:
                            - number
                            - 'null'
                        insiderAvg1wReturnBullish:
                          description: Insider avg bullish return 1W.
                          type:
                            - number
                            - 'null'
                        insiderAvg1wReturnBearish:
                          description: Insider avg bearish return 1W.
                          type:
                            - number
                            - 'null'
                        insiderAvg1mReturn:
                          description: Insider avg return 1M.
                          type:
                            - number
                            - 'null'
                        insiderAvg1mReturnBullish:
                          description: Insider avg bullish return 1M.
                          type:
                            - number
                            - 'null'
                        insiderAvg1mReturnBearish:
                          description: Insider avg bearish return 1M.
                          type:
                            - number
                            - 'null'
                        insiderAvg3mReturn:
                          description: Insider avg return 3M.
                          type:
                            - number
                            - 'null'
                        insiderAvg3mReturnBullish:
                          description: Insider avg bullish return 3M.
                          type:
                            - number
                            - 'null'
                        insiderAvg3mReturnBearish:
                          description: Insider avg bearish return 3M.
                          type:
                            - number
                            - 'null'
                        insiderAvg6mReturn:
                          description: Insider avg return 6M.
                          type:
                            - number
                            - 'null'
                        insiderAvg6mReturnBullish:
                          description: Insider avg bullish return 6M.
                          type:
                            - number
                            - 'null'
                        insiderAvg6mReturnBearish:
                          description: Insider avg bearish return 6M.
                          type:
                            - number
                            - 'null'
                        insiderAvg1yReturn:
                          description: Insider avg return 1Y.
                          type:
                            - number
                            - 'null'
                        insiderAvg1yReturnBullish:
                          description: Insider avg bullish return 1Y.
                          type:
                            - number
                            - 'null'
                        insiderAvg1yReturnBearish:
                          description: Insider avg bearish return 1Y.
                          type:
                            - number
                            - 'null'
                        insiderAvg2yReturn:
                          description: Insider avg return 2Y.
                          type:
                            - number
                            - 'null'
                        insiderAvg2yReturnBullish:
                          description: Insider avg bullish return 2Y.
                          type:
                            - number
                            - 'null'
                        insiderAvg2yReturnBearish:
                          description: Insider avg bearish return 2Y.
                          type:
                            - number
                            - 'null'
                        tradeReturn:
                          description: Forward return (latest alias).
                          type:
                            - number
                            - 'null'
                        tradeReturn1w:
                          description: Forward return 1W.
                          type:
                            - number
                            - 'null'
                        tradeReturn1m:
                          description: Forward return 1M.
                          type:
                            - number
                            - 'null'
                        tradeReturn3m:
                          description: Forward return 3M.
                          type:
                            - number
                            - 'null'
                        tradeReturn6m:
                          description: Forward return 6M.
                          type:
                            - number
                            - 'null'
                        tradeReturn1y:
                          description: Forward return 1Y.
                          type:
                            - number
                            - 'null'
                        tradeReturn2y:
                          description: Forward return 2Y.
                          type:
                            - number
                            - 'null'
                        isAnomalousTransaction:
                          description: Anomalous / irregular transaction.
                          type:
                            - boolean
                            - 'null'
                        isClusterTrade90d:
                          description: Part of a 90-day cluster.
                          type:
                            - boolean
                            - 'null'
                        clusterNumTrades90d:
                          description: Number of trades in the 90-day cluster.
                          type:
                            - number
                            - 'null'
                        clusterInsiderCount90d:
                          description: Distinct insiders in the 90-day cluster.
                          type:
                            - number
                            - 'null'
                        insiderPositiveTrades:
                          description: Winning trades in the 3M win-rate window.
                          type:
                            - number
                            - 'null'
                        insiderTotalTrades:
                          description: Total trades in the 3M win-rate window.
                          type:
                            - number
                            - 'null'
                        insiderWinRateAll:
                          description: Insider 3M win rate (%).
                          type:
                            - number
                            - 'null'
                        data:
                          description: Optional nested price/series payload when present.
                          anyOf:
                            - {}
                            - type: 'null'
                        avg1mReturn:
                          description: Alias of `tradeReturn1m`.
                          type:
                            - number
                            - 'null'
                        avg3mReturn:
                          description: Alias of `tradeReturn3m`.
                          type:
                            - number
                            - 'null'
                        avg6mReturn:
                          description: Alias of `tradeReturn6m`.
                          type:
                            - number
                            - 'null'
                        avg1yReturn:
                          description: Alias of `tradeReturn1y`.
                          type:
                            - number
                            - 'null'
                        avg2yReturn:
                          description: Alias of `tradeReturn2y`.
                          type:
                            - number
                            - 'null'
                        avgReturn:
                          description: Alias of `tradeReturn` / latest.
                          type:
                            - number
                            - 'null'
                        avg1mReturnBullish:
                          description: Alias of `insiderAvg1mReturnBullish`.
                          type:
                            - number
                            - 'null'
                        avg1mReturnBearish:
                          description: Alias of `insiderAvg1mReturnBearish`.
                          type:
                            - number
                            - 'null'
                        avg3mReturnBullish:
                          description: Alias of `insiderAvg3mReturnBullish`.
                          type:
                            - number
                            - 'null'
                        avg3mReturnBearish:
                          description: Alias of `insiderAvg3mReturnBearish`.
                          type:
                            - number
                            - 'null'
                      required:
                        - accessionNumber
                        - transactionId
                        - percentChange
                        - securityTitle
                        - isAggregated
                        - sharesOwnedFollowingTransaction
                        - code
                        - simpleIndustryId
                        - name
                        - companyName
                        - companyId
                        - tradingItemId
                        - issuerCik
                        - reportingOwnerCik
                        - tickerSymbol
                        - transactionDate
                        - filedAt
                        - acquiredDisposedCode
                        - numberOfShares
                        - transactionValue
                        - latestReturn
                        - latestReturnDate
                        - isDerivative
                        - footnote
                        - isEspp
                        - isPurchaseAgreement
                        - isPublicOffering
                        - isPrivatePlacement
                        - isDividendReinvestment
                        - is10b51
                        - isForTaxes
                        - isMarketTransaction
                        - insiderAvgReturn
                        - insiderAvgReturnBullish
                        - insiderAvgReturnBearish
                        - insiderAvg1wReturn
                        - insiderAvg1wReturnBullish
                        - insiderAvg1wReturnBearish
                        - insiderAvg1mReturn
                        - insiderAvg1mReturnBullish
                        - insiderAvg1mReturnBearish
                        - insiderAvg3mReturn
                        - insiderAvg3mReturnBullish
                        - insiderAvg3mReturnBearish
                        - insiderAvg6mReturn
                        - insiderAvg6mReturnBullish
                        - insiderAvg6mReturnBearish
                        - insiderAvg1yReturn
                        - insiderAvg1yReturnBullish
                        - insiderAvg1yReturnBearish
                        - insiderAvg2yReturn
                        - insiderAvg2yReturnBullish
                        - insiderAvg2yReturnBearish
                        - tradeReturn
                        - tradeReturn1w
                        - tradeReturn1m
                        - tradeReturn3m
                        - tradeReturn6m
                        - tradeReturn1y
                        - tradeReturn2y
                        - isAnomalousTransaction
                        - isClusterTrade90d
                        - clusterNumTrades90d
                        - clusterInsiderCount90d
                        - insiderPositiveTrades
                        - insiderTotalTrades
                        - insiderWinRateAll
                        - avg1mReturn
                        - avg3mReturn
                        - avg6mReturn
                        - avg1yReturn
                        - avg2yReturn
                        - avgReturn
                        - avg1mReturnBullish
                        - avg1mReturnBearish
                        - avg3mReturnBullish
                        - avg3mReturnBearish
                      additionalProperties: false
                      description: Insider trade row returned by search (camelCase).
                    description: Page of matching trades.
                  nextCursor:
                    description: Pass back with the same filter for the next page.
                    type:
                      - string
                      - 'null'
                  prevCursor:
                    description: Previous-page cursor when any.
                    type:
                      - string
                      - 'null'
                  hasMore:
                    type: boolean
                    description: True when another page is available.
                required:
                  - data
                  - nextCursor
                  - prevCursor
                  - hasMore
                additionalProperties: false
        '400':
          description: Problem details (`type`, `title`, `status`, `detail`).
          content:
            application/problem+json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  type:
                    type: string
                    description: Machine-readable problem type, e.g. `api-bad-request`.
                  title:
                    type: string
                    description: Short human-readable summary.
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code.
                  detail:
                    type: string
                    description: Human-readable explanation of this occurrence.
                required:
                  - type
                  - title
                  - status
                  - detail
                additionalProperties: false
        '401':
          description: Problem details (`type`, `title`, `status`, `detail`).
          content:
            application/problem+json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  type:
                    type: string
                    description: Machine-readable problem type, e.g. `api-bad-request`.
                  title:
                    type: string
                    description: Short human-readable summary.
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code.
                  detail:
                    type: string
                    description: Human-readable explanation of this occurrence.
                required:
                  - type
                  - title
                  - status
                  - detail
                additionalProperties: false
        '403':
          description: Problem details (`type`, `title`, `status`, `detail`).
          content:
            application/problem+json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  type:
                    type: string
                    description: Machine-readable problem type, e.g. `api-bad-request`.
                  title:
                    type: string
                    description: Short human-readable summary.
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code.
                  detail:
                    type: string
                    description: Human-readable explanation of this occurrence.
                required:
                  - type
                  - title
                  - status
                  - detail
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: 'Key from the Developer page. Send `Authorization: Bearer cw_...`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.