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

> ## Agent Instructions
> SeedOps CLI browser login is the default for agents. Use --limit 1–50 to retrieve only needed signals. Read /agent-setup/prompt.md for setup. Never request credentials in a prompt.

# Search published signals

> Returns data.items (including activityUrl when available) and data.nextCursor. Use limit=1–50 (default 50) to choose the maximum returned signals. Only actual returned items consume usage. Search filters can be combined; cursor must be reused with the same filters. Unknown and repeated parameters are rejected.



## OpenAPI

````yaml /openapi.json get /signals
openapi: 3.1.0
info:
  title: SeedOps API
  version: 1.0.0
  description: >-
    Read-only published signals. Signed-in accounts are provisioned
    automatically. Accounts receive unlimited app browsing with 10 monthly
    searches and one-time free allowances of 500 CLI records and 100 API
    records. Each allowance is separate and never resets. After the free API
    records, keys use a prepaid balance at $0.005 per returned data record, with
    a custom dollar top-up starting at $10. No subscription is required for API
    keys. Account suspensions are preserved. A valid API key is required for
    every /v1 request; browser sessions are not accepted. App-wide access
    restrictions still apply. 600 requests/minute and 300 searches/minute per
    account, enforced in fixed UTC minute windows; approximate edge limits also
    protect requests. Successful data requests are counted for analytics; usage
    checks are free. UI searches and counts use separate session-based endpoints
    and never consume API usage. Usage is summarized by UTC calendar month; Paid
    Web access is unlimited; CLI records use the subscription’s billing-period
    allowance. Default first-page Web views are not counted. Insufficient API
    balance or CLI allowance returns 402. Browser-login CLI sessions have
    separate authentication and analytics at /api/cli/v1. Data consumption
    separately counts actual activity and company records returned: 50
    activities count as 50 records. Empty results, count-only totals, catalogues
    and failed requests add no consumed records. Idempotent replays do not count
    records again. Send an Idempotency-Key (8–128 letters, digits, underscores
    or hyphens) to replay the same successful request with the same credential
    without another counted request for 24 hours.
servers:
  - url: https://app.seedops.co/api/v1
security:
  - bearerAuth: []
paths:
  /signals:
    get:
      summary: Search published signals
      description: >-
        Returns data.items (including activityUrl when available) and
        data.nextCursor. Use limit=1–50 (default 50) to choose the maximum
        returned signals. Only actual returned items consume usage. Search
        filters can be combined; cursor must be reused with the same filters.
        Unknown and repeated parameters are rejected.
      operationId: searchSignals
      parameters:
        - name: q
          in: query
          description: >-
            Activity title keywords, quoted phrases, and -excluded terms; not
            semantic search.
          schema:
            description: >-
              Activity title keywords, quoted phrases, and -excluded terms; not
              semantic search.
            type: string
            maxLength: 1000
        - name: searchGroups
          in: query
          description: searchGroups. JSON-encode this value.
          content:
            application/json:
              schema:
                type: object
                properties:
                  op:
                    type: string
                    enum:
                      - and
                      - or
                  groups:
                    minItems: 1
                    maxItems: 4
                    type: array
                    items:
                      type: object
                      properties:
                        scope:
                          type: string
                          enum:
                            - activity
                            - company
                          description: >-
                            company allows terms in separate activities from the
                            same company
                        match:
                          type: string
                          enum:
                            - and
                            - or
                        terms:
                          maxItems: 30
                          type: array
                          items:
                            type: string
                            minLength: 1
                            maxLength: 160
                        exclude:
                          default: []
                          maxItems: 30
                          type: array
                          items:
                            type: string
                            minLength: 1
                            maxLength: 160
                      required:
                        - scope
                        - match
                        - terms
                      additionalProperties: false
                required:
                  - op
                  - groups
                additionalProperties: false
        - name: company
          in: query
          description: company
          schema:
            type: string
            maxLength: 180
        - name: companySlug
          in: query
          description: companySlug
          schema:
            type: string
            maxLength: 180
        - name: all
          in: query
          description: all
          schema:
            type: string
            maxLength: 1000
        - name: exact
          in: query
          description: exact
          schema:
            type: string
            maxLength: 180
        - name: any
          in: query
          description: any
          schema:
            type: string
            maxLength: 1000
        - name: exclude
          in: query
          description: exclude
          schema:
            type: string
            maxLength: 1000
        - name: country
          in: query
          description: country
          schema:
            type: string
            maxLength: 180
        - name: locations
          in: query
          description: locations. JSON-encode this value.
          content:
            application/json:
              schema:
                maxItems: 50
                type: array
                items:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - country
                        - city
                    value:
                      type: string
                      minLength: 1
                      maxLength: 180
                    country:
                      type: string
                      maxLength: 80
                  required:
                    - kind
                    - value
                  additionalProperties: false
        - name: industry
          in: query
          description: industry
          schema:
            type: string
            maxLength: 180
        - name: industries
          in: query
          description: industries. JSON-encode this value.
          content:
            application/json:
              schema:
                maxItems: 50
                type: array
                items:
                  type: string
                  minLength: 1
                  maxLength: 180
        - name: size
          in: query
          description: size
          schema:
            type: string
            enum:
              - 1-49
              - 50-100
              - 101-500
              - 501-10000000
        - name: days
          in: query
          description: days
          schema:
            type: string
            enum:
              - '7'
              - '30'
              - '90'
        - name: dateRanges
          in: query
          description: dateRanges
          schema:
            maxItems: 4
            type: array
            items:
              type: string
              enum:
                - '7'
                - '30'
                - '90'
                - older
          style: form
          explode: false
        - name: dateFrom
          in: query
          description: dateFrom
          schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
        - name: dateTo
          in: query
          description: dateTo
          schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
        - name: category
          in: query
          description: Category IDs from seedops filters or GET /filter-options
          schema:
            description: Category IDs from seedops filters or GET /filter-options
            maxItems: 30
            type: array
            items:
              type: string
              minLength: 1
              maxLength: 180
          style: form
          explode: false
        - name: hiringState
          in: query
          description: >-
            Hiring type; IDs from seedops filters or GET /filter-options,
            comma-separated for multiple selections
          schema:
            description: >-
              Hiring type; IDs from seedops filters or GET /filter-options,
              comma-separated for multiple selections
            type: string
            maxLength: 180
        - name: hiringFunction
          in: query
          description: >-
            Job function; IDs from seedops filters or GET /filter-options,
            comma-separated for multiple selections
          schema:
            description: >-
              Job function; IDs from seedops filters or GET /filter-options,
              comma-separated for multiple selections
            type: string
            maxLength: 180
        - name: hiringSeniority
          in: query
          description: >-
            Seniority; IDs from seedops filters or GET /filter-options,
            comma-separated for multiple selections
          schema:
            description: >-
              Seniority; IDs from seedops filters or GET /filter-options,
              comma-separated for multiple selections
            type: string
            maxLength: 180
        - name: hiringEmployment
          in: query
          description: >-
            Employment type; IDs from seedops filters or GET /filter-options,
            comma-separated for multiple selections
          schema:
            description: >-
              Employment type; IDs from seedops filters or GET /filter-options,
              comma-separated for multiple selections
            type: string
            maxLength: 180
        - name: hiringWorkArrangement
          in: query
          description: >-
            Work arrangement; IDs from seedops filters or GET /filter-options,
            comma-separated for multiple selections
          schema:
            description: >-
              Work arrangement; IDs from seedops filters or GET /filter-options,
              comma-separated for multiple selections
            type: string
            maxLength: 180
        - name: fundingStage
          in: query
          description: fundingStage
          schema:
            type: string
            maxLength: 180
        - name: fundingCurrency
          in: query
          description: fundingCurrency
          schema:
            type: string
            enum:
              - USD
              - EUR
              - GBP
        - name: fundingMin
          in: query
          description: fundingMin
          schema:
            type: number
            minimum: 0
        - name: fundingMax
          in: query
          description: fundingMax
          schema:
            type: number
            minimum: 0
        - name: companies
          in: query
          description: companies
          schema:
            maxItems: 50
            type: array
            items:
              type: string
              minLength: 1
              maxLength: 180
          style: form
          explode: false
        - name: activityIds
          in: query
          description: activityIds
          schema:
            maxItems: 50
            type: array
            items:
              type: string
              pattern: ^[1-9][0-9]{0,18}$
          style: form
          explode: false
        - name: ids
          in: query
          description: ids
          schema:
            minItems: 1
            maxItems: 50
            type: array
            items:
              type: string
              pattern: ^[1-9][0-9]{0,18}$
          style: form
          explode: false
        - name: cursor
          in: query
          description: Use nextCursor with exactly the same filters
          schema:
            description: Use nextCursor with exactly the same filters
            type: string
            maxLength: 512
        - name: limit
          in: query
          description: >-
            Maximum signals to return, from 1 to 50. Defaults to 50. Usage
            counts only returned signals.
          schema:
            description: >-
              Maximum signals to return, from 1 to 50. Defaults to 50. Usage
              counts only returned signals.
            type: integer
            minimum: 1
            maximum: 50
        - name: page
          in: query
          description: page
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - name: countOnly
          in: query
          description: countOnly
          schema:
            type: boolean
        - name: Idempotency-Key
          in: header
          schema:
            type: string
            minLength: 8
            maxLength: 128
      responses:
        '200':
          description: Success. The result is wrapped in a data property.
        '400':
          description: Invalid input
        '401':
          description: Missing, expired or revoked credentials
        '402':
          description: Insufficient prepaid API records
        '403':
          description: Account disabled or insufficient scope
        '409':
          description: Idempotency conflict or request still in progress
        '429':
          description: Security rate limit exceeded
        '503':
          description: Temporary failure; retry with the same Idempotency-Key
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: SeedOps API key, created in the API dashboard.

````

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