---
title: "Search Labels"
method: POST
path: "/v0/platform/labels/search"
tags: ["Label Management"]
---

# Search Labels

`POST /v0/platform/labels/search`

## Request

- Base URL: `https://api.blockaid.io`
- URL: `https://api.blockaid.io/v0/platform/labels/search`
- Auth: one of:
  - API key in header `X-API-Key`
  - API key in header `X-CLIENT-ID`
- TypeScript: <https://skmtc.dev/blockaid-official/apis/blockaid-api/docs/v0/platform/labels/search/post.ts> (a function with typed inputs; its response is checked against the schema)

Search and list labeled entities with filtering, sorting and pagination. Each result is one label assignment; the `chain` field is `null` for all-chains assignments, or a specific chain name for chain-scoped ones.

## Request body

- LabelSearchRequest
  - `filter` object: Fields used to filter label search results.
    - `identifier_type` string[]: Return only results matching these identifier types.
    - `label` union: A filter object that supports common query operators.
      - object: Filter by exact value match.
        - `eq` string, required: Return only results where the field equals this value.
      - object: Filter by matching any value in a list.
        - `in` string[], required: Return only results where the field matches any value in this list.
      - object: Filter by requiring all listed values to be present.
        - `contains_all` string[], required: Return only results where the field contains all values in this list.
      - object: Filter by substring match.
        - `contains` string, required: Return results where the field contains the given value (substring match).
    - `chain` union: A filter object that supports common query operators.
      - object: Filter by exact value match.
        - `eq` string, required: Return only results where the field equals this value.
      - object: Filter by matching any value in a list.
        - `in` string[], required: Return only results where the field matches any value in this list.
      - object: Filter by requiring all listed values to be present.
        - `contains_all` string[], required: Return only results where the field contains all values in this list.
      - object: Filter by substring match.
        - `contains` string, required: Return results where the field contains the given value (substring match).
    - `identifier` union: A filter object that supports common query operators.
      - object: Filter by exact value match.
        - `eq` string, required: Return only results where the field equals this value.
      - object: Filter by matching any value in a list.
        - `in` string[], required: Return only results where the field matches any value in this list.
      - object: Filter by requiring all listed values to be present.
        - `contains_all` string[], required: Return only results where the field contains all values in this list.
      - object: Filter by substring match.
        - `contains` string, required: Return results where the field contains the given value (substring match).
  - `page_size` integer: How many results are returned per page (max 100).
  - `page` integer: Which page number to return.
  - `sort` object[]: Sort results based on the specified rules. Optional — defaults to `created_at` descending.
    - `field` 'identifier' | 'created_at' | 'updated_at' | 'label', required: Which field to sort results by.
    - `operator` 'asc' | 'desc', required: Sort order.

## Response `200`

Paginated search results

- LabelSearchResponse
  - `total` integer, required: Total number of results matching the request.
  - `page` integer, required: Current page number returned.
  - `pages` integer, required: Total number of pages available.
  - `size` integer, required: Number of items returned in the current response.
  - `items` LabelResponse[], required: List of label assignments returned.
    - `id` string, uuid, required: Unique ID of this label assignment.
    - `identifier` string, required: The labeled address, domain or token.
    - `identifier_type` 'address' | 'domain' | 'token', required: The type of the labeled identifier.
    - `chain` string, nullable, required: The chain this label applies to. `null` means the label applies to ALL chains (sticky); `chain` is always `null` for domains, which are not chain-scoped.
    - `label` string, required: The applied label name.
    - `result_type` 'Malicious' | 'Benign', required: Whether this label marks the entity as Malicious (block) or Benign (allow). Derived from the label.
    - `tags` string[], required: Tags grouping this label.
    - `comment` string, nullable: Free-text note explaining the label, if any.
    - `created_by` string, required: Who created the assignment (e.g. "API" or a user identifier).
    - `updated_by` string, required: Who last updated the assignment.
    - `created_at` string, date-time, required: Creation timestamp (ISO 8601, UTC).
    - `updated_at` string, date-time, required: Last-update timestamp (ISO 8601, UTC).

## Other responses

- `422`: Validation Error

## Changes

> 120 revisions in range; 1 not diffed.

- **2026-10-29** `930364a79482`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/blockaid-official/apis/blockaid-api/changes/v0/platform/labels/search/post.md)

---

[API](https://skmtc.dev/blockaid-official/apis/blockaid-api.md) - [All operations](https://skmtc.dev/blockaid-official/apis/blockaid-api/llms.txt) - [OpenAPI document](https://skmtc.dev/blockaid-official/apis/blockaid-api/revisions/104550c9d3f1?raw)
