> ## 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.

# Totals grouped by one dimension

> Requires by: country, city, industry, category, size, company, day, week or month. Accepts the search filters plus top (1–100, default 50) and cursor. Returns data.by, data.total (activities and distinct companies, always exact), data.rows and data.nextCursor. Free, except by=company, which uses 1 record per company named.



## OpenAPI

````yaml /openapi.json get /stats
openapi: 3.1.0
info:
  title: SeedOps API
  version: 1.1.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:
  /stats:
    get:
      summary: Totals grouped by one dimension
      description: >-
        Requires by: country, city, industry, category, size, company, day, week
        or month. Accepts the search filters plus top (1–100, default 50) and
        cursor. Returns data.by, data.total (activities and distinct companies,
        always exact), data.rows and data.nextCursor. Free, except by=company,
        which uses 1 record per company named.
      operationId: getStats
      parameters:
        - name: by
          in: query
          required: true
          schema:
            type: string
            enum:
              - country
              - city
              - industry
              - category
              - size
              - company
              - day
              - week
              - month
        - name: top
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - name: q
          in: query
          description: >-
            Words and quoted phrases in activity titles, all required. Put OR
            between alternatives, use -word or NOT word to exclude, and brackets
            to group. Terms of 1-3 letters or digits match whole words, longer
            terms match word starts, and *word matches inside words. Not
            semantic search.
          schema:
            description: >-
              Words and quoted phrases in activity titles, all required. Put OR
              between alternatives, use -word or NOT word to exclude, and
              brackets to group. Terms of 1-3 letters or digits match whole
              words, longer terms match word starts, and *word matches inside
              words. 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: about
          in: query
          description: >-
            What companies say they do, using the same search rules as q.
            Example: "access control" OR "structured cabling".
          schema:
            description: >-
              What companies say they do, using the same search rules as q.
              Example: "access control" OR "structured cabling".
            type: string
            maxLength: 1000
        - 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 names or two-letter codes, comma-separated. Example: United
            States,DE.
          schema:
            description: >-
              Country names or two-letter codes, comma-separated. Example:
              United States,DE.
            type: string
            maxLength: 180
        - name: city
          in: query
          description: City names, comma-separated.
          schema:
            description: City names, comma-separated.
            type: string
            maxLength: 1000
        - name: excludeCountry
          in: query
          description: Leave out these countries, comma-separated.
          schema:
            description: Leave out these countries, comma-separated.
            type: string
            maxLength: 1000
        - name: excludeIndustry
          in: query
          description: >-
            Leave out industries containing any of these words, comma-separated.
            Example: Staffing,Legal.
          schema:
            description: >-
              Leave out industries containing any of these words,
              comma-separated. Example: Staffing,Legal.
            type: string
            maxLength: 1000
        - name: poster
          in: query
          description: >-
            company or person: only activities posted by a company page, or only
            by a named person.
          schema:
            description: >-
              company or person: only activities posted by a company page, or
              only by a named person.
            type: string
            enum:
              - company
              - person
        - name: list
          in: query
          description: Only companies in one of your saved company lists.
          schema:
            description: Only companies in one of your saved company lists.
            type: string
            maxLength: 40
        - 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: >-
            Also --employees in the CLI. Company employee ranges written
            min-max, such as 5-300 (whole numbers up to 10000000); up to 4
            comma-separated ranges.
          schema:
            description: >-
              Also --employees in the CLI. Company employee ranges written
              min-max, such as 5-300 (whole numbers up to 10000000); up to 4
              comma-separated ranges.
            type: string
            maxLength: 80
        - name: days
          in: query
          description: >-
            Calendar-day lookback from 1 to 365, inclusive of the day N days
            ago. Explicit dateFrom/dateTo take precedence; not a rolling
            N-times-24-hour window.
          schema:
            description: >-
              Calendar-day lookback from 1 to 365, inclusive of the day N days
              ago. Explicit dateFrom/dateTo take precedence; not a rolling
              N-times-24-hour window.
            type: string
            pattern: ^(?:[1-9]|[1-9]\d|[12]\d{2}|3[0-5]\d|36[0-5])$
        - 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: patient
          in: query
          description: >-
            Allow up to 2 minutes for a very broad question. Limited to 10 a
            minute.
          schema:
            description: >-
              Allow up to 2 minutes for a very broad question. Limited to 10 a
              minute.
            type: boolean
        - 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
      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
        '504':
          description: >-
            query_timeout: the search took too long; narrow the filters and
            retry
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.