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

# Search filter docs

> Fetch the filter catalog for the search and aggregate tools at runtime.

`syrto_get_search_filter_docs` is the catalog of the `filters` object taken by [`syrto_search_companies`](/mcp/tools/search-companies), [`syrto_aggregate_companies`](/mcp/tools/aggregate-companies) and the radar tools - [`syrto_radar_map`](/mcp/tools/radar-map) and [`syrto_radar_chart`](/mcp/tools/radar-chart) take the same object in their `peer_filters` and `aggregates` parameters. It lists which filter sections exist and documents each section's exact fields, types, and constraints.

Those two tools take a single `filters` object rather than many parameters, which keeps their schema small as the filter catalog grows. This tool is how the catalog stays discoverable. It makes no API call and consumes no quota.

## Use this tool to

* List the available filter sections and what each one covers
* Get a section's exact field names, types, and a worked JSON example before building a filter
* Check which sections require the top-level `year` parameter

**Related tools:** [Search companies](/mcp/tools/search-companies) and [Aggregate companies](/mcp/tools/aggregate-companies) consume the object this tool documents, as do the radar tools. The same sections are also written out on the [Search companies](/mcp/tools/search-companies#filter-sections) page.

## Arguments

<ParamField query="sections" type="string[]">
  Section names to fetch full documentation for, e.g. `["anagraphic", "radar"]`. Omit to get the index of all sections with one-line summaries.

  The sections are `company_ids`, `anagraphic`, `state_aids`, `people`, `financial` and `radar`.

  An unknown section name returns an error listing the valid ones.
</ParamField>

## Workflow

<Steps>
  <Step title="Get the index">
    Call with no arguments. You get every section with a one-line summary and whether it needs a `year`.
  </Step>

  <Step title="Fetch the sections you need">
    Call again with `sections=[...]` to get their exact field names, types, constraints, and a worked JSON example.
  </Step>

  <Step title="Build the filters object">
    Assemble `filters` from those examples and pass it to `syrto_search_companies` or `syrto_aggregate_companies`.
  </Step>
</Steps>

Each section name is a top-level key of `filters`, and its documented fields nest under that key - `company_ids` is itself a top-level key rather than an object of its own. The `financial` section documents the `size`, `employees`, `metric_filters` and `consolidated` keys.

`year`, `sort_by`, `after` and `group_by` are top-level parameters of the search and aggregate tools, not part of `filters`. `group_by` belongs to `syrto_aggregate_companies` alone, and splits the filtered population into one aggregate per sector / area / size cell. All set filters combine with AND, and `year` is required whenever a section marked `requires_year` is used.

## Returns

**With no arguments** - the index:

<ResponseField name="how_to_use" type="string">
  How the sections assemble into the `filters` object.
</ResponseField>

<ResponseField name="sections" type="object[]">
  One entry per section, each with:

  * `name` - the top-level key in `filters`
  * `summary` - one-line description of what the section filters on
  * `requires_year` - whether using this section obliges you to pass the top-level `year`
</ResponseField>

**With `sections`** - the full documentation:

<ResponseField name="sections" type="object[]">
  One entry per requested section, in the catalog's own order, each with:

  * `name` - the section name
  * `requires_year` - whether the section obliges a `year`
  * `documentation` - the section's fields, types, constraints, and a worked example, as markdown
</ResponseField>

## Example

**Get the index:**

```json theme={null}
{}
```

**Fetch two sections in full:**

```json theme={null}
{
  "sections": ["anagraphic", "financial"]
}
```
