---
title: "Search Custom Table"
method: POST
path: "/core/custom-data/tables/{name}/search"
tags: ["custom_data"]
---

# Search Custom Table

`POST /core/custom-data/tables/{name}/search`

## Request

- Base URL: `https://api.anyreach.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.anyreach.ai/core/custom-data/tables/{name}/search`
- Auth: HTTP bearer

Find rows by meaning, by words, or both — the same call agent tools make.

The query is embedded here. If that does not finish in time, a hybrid
search answers by keyword and says so in `mode_used`; a semantic search
returns 503, because the caller asked for something that cannot be done.

## Path parameters

- `name` string, required

## Headers

- `x-anyreach-org` string, nullable: Organization ID for user PATs (pat_ prefix tokens)

## Request body

- SearchRequest: Find rows by meaning, by words, or both. Filters use the same vocabulary as a query and narrow both arms before anything is ranked.
  - `query` string, required: What to look for, in natural language.
  - `mode` 'hybrid' | 'semantic' | 'keyword': hybrid ranks by meaning and by words together; semantic by meaning only; keyword by words only.
  - `filters` QueryFilter[]
    - `property` string, required
    - `op` 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'contains' | 'starts_with'
    - `value` unknown
  - `limit` integer

## Response `200`

Successful Response

- SearchResponse
  - `count` integer, required
  - `mode_used` 'hybrid' | 'semantic' | 'keyword', required
  - `matches` SearchMatch[], required
    - `score` number, required
    - `record` object, required

## Other responses

- `404`: Not found
- `422`: Validation Error

---

[API](https://skmtc.dev/anyreach/apis/anyreach-api.md) - [All operations](https://skmtc.dev/anyreach/apis/anyreach-api/llms.txt) - [OpenAPI document](https://skmtc.dev/anyreach/apis/anyreach-api/revisions/2eddf40c8c93?raw)
