---
title: "Count users matching filters"
method: POST
path: "/raw/users/count"
---

# Count users matching filters

`POST /raw/users/count`

Count users in the database matching filters. Counts are capped at minimum (10k) and maximum (1M). Credits: 1 per request.

## Request body

- CountUsersRequest
  - `filters` union, required
    - object — Filters to apply (required)
      - `field` string, required — Field name to filter on
      - `op` 'Eq' | 'NotEq' | 'In' | 'NotIn' | 'Lt' | 'Lte' | 'Gt' | 'Gte' | 'Glob' | 'NotGlob' | 'IGlob' | 'NotIGlob' | 'Regex' | 'Contains' | 'NotContains' | 'ContainsAny' | 'NotContainsAny' | 'AnyLt' | 'AnyLte' | 'AnyGt' | 'AnyGte' | 'ContainsAllTokens', required — Filter operator
      - `value` union, required — Filter value (type depends on field and operator)
        - string
        - number
        - boolean
        - string[]
        - number[]
    - object — Filters to apply (required)
      - `op` 'And' | 'Or', required — Composite operator
      - `filters` object[], required — Array of field filters
        - `field` string, required — Field name to filter on
        - `op` 'Eq' | 'NotEq' | 'In' | 'NotIn' | 'Lt' | 'Lte' | 'Gt' | 'Gte' | 'Glob' | 'NotGlob' | 'IGlob' | 'NotIGlob' | 'Regex' | 'Contains' | 'NotContains' | 'ContainsAny' | 'NotContainsAny' | 'AnyLt' | 'AnyLte' | 'AnyGt' | 'AnyGte' | 'ContainsAllTokens', required — Filter operator
        - `value` union, required — Filter value (type depends on field and operator)
          - string
          - number
          - boolean
          - string[]
          - number[]
    - object — Filters to apply (required)
      - `op` 'And' | 'Or', required — Composite operator
      - `filters` union[], required — Array of filters
        - union
          - object
            - `field` string, required — Field name to filter on
            - `op` 'Eq' | 'NotEq' | 'In' | 'NotIn' | 'Lt' | 'Lte' | 'Gt' | 'Gte' | 'Glob' | 'NotGlob' | 'IGlob' | 'NotIGlob' | 'Regex' | 'Contains' | 'NotContains' | 'ContainsAny' | 'NotContainsAny' | 'AnyLt' | 'AnyLte' | 'AnyGt' | 'AnyGte' | 'ContainsAllTokens', required — Filter operator
            - `value` union, required — Filter value (type depends on field and operator)
              - …
          - object
            - `op` 'And' | 'Or', required — Composite operator
            - `filters` object[], required — Array of field filters
              - …

## Response `200`

Count retrieved successfully

- CountResponse
  - `count` integer, required — Number of matching records (may be capped or floored)
  - `truncated` boolean — True if count was capped at maximum or floored at minimum

## Other responses

- `400` — Bad request - invalid input
- `401` — Unauthorized - API key missing
- `403` — Forbidden - Invalid API key or required service access denied
- `429` — Too Many Requests - Hourly credit limit exceeded

---

[API](https://skmtc.net/bountylaboratories/apis/bounty-lab-public-api.md) · [All operations](https://skmtc.net/bountylaboratories/apis/bounty-lab-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bountylaboratories/bounty-lab-public-api/versions/910f8a49ca9e/schema)
