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

# Get Filters List

> Fetch the full list of filters that can be used with the List Generation API.

## Overview

The Get Filters List API returns every filter accepted by the [List Generation API](/api-reference/listgen-api), along with the shape each filter's value should take, a description of what it matches, and — for filters backed by a fixed set of values — a `dropdown_type` you can use to look up the allowed values from the [Get Filter Options API](/docs/supporting-apis/filter-options).

Use this endpoint first when building a filter-driven UI or an LLM-based query builder: it tells you which filters exist, how to populate each one, and which filters must be applied together against the same underlying record (see **`same_element_group`** below).

This is a **free endpoint** so it does not consume API credits.

**Endpoint**

```text theme={null}
GET https://api.akta.pro/api/v1/filters/list/
```

This endpoint takes no parameters.

***

## Authentication

All requests must include an **API key** in the `x-api-key` HTTP header.

```text theme={null}
x-api-key: <YOUR_API_KEY>
```

<Warning>
  Never expose your API key in client-side code, browser requests, or public repositories. A missing or invalid key returns `401 Unauthorized`.
</Warning>

***

## Request

**Example request:**

<CodeGroup>
  ```bash cURL theme={null}
  curl --location 'https://api.akta.pro/api/v1/filters/list/' \
    --header 'x-api-key: <YOUR_API_KEY>'
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.akta.pro/api/v1/filters/list/",
      headers={"x-api-key": "<YOUR_API_KEY>"}
  )

  filters = response.json()["filters"]
  print(f"{len(filters)} filters available")
  ```
</CodeGroup>

***

## Response

### Filter object fields

| Field                | Type   | Description                                                                                                                                                                                                                         |
| -------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `filter`             | string | The exact key to use inside `filters` when calling the List Generation API. Matches the field's path in the enrichment document (e.g. `firmographic.company_type`).                                                                 |
| `value_shape`        | string | The type and shape the filter's value must take — e.g. `string`, `list[string]`, `bool`, or a range object like `{"gte": int, "lte": int}`.                                                                                         |
| `description`        | string | What the filter matches and any usage notes — including when to prefer one related filter over another.                                                                                                                             |
| `how_to_get_values`  | string | Either `"look up with /list/options/"` (fetch allowed values from the [Get Filter Options API](/docs/supporting-apis/filter-options)) or `"supply the value directly"` (free text, boolean, number, or date range — no fixed list). |
| `dropdown_type`      | string | *Present only when* `how_to_get_values` is `"look up with /list/options/"`. Pass this exact value as the `dropdown_type` in a Get Filter Options request.                                                                           |
| `same_element_group` | string | *Present only on filters over a nested array* (e.g. offices, funding rounds, partnerships). Filters sharing the same `same_element_group` must all match the **same array element** — see below.                                    |

<Info>
  `dropdown_type` is only present on filters backed by a fixed set of values. Filters without it — free-text fields, booleans, numbers, and date ranges — take their value directly with no lookup step.
</Info>

### Understanding `same_element_group`

Some filters target fields inside a nested array on the company record — for example, a company can have multiple offices, multiple funding rounds, or multiple partnerships. When two or more filters share the same `same_element_group`, they are constrained to match the **same element** of that array, not just any element independently.

For example, `location.offices.city` and `location.offices.country` both carry `same_element_group: "location.offices"`. Filtering on both together means *the same office* must be in that city **and** that country — not a company that merely has an office in the city and, separately, an office in the country.

### Response envelope

```json expandable theme={null}
{
    "count": 41,
    "usage": "Filters are keyed by the field's path in the enrichment document — the same address the enrichment API returns that field under. Pick the filters you need, and for any with a dropdown_type fetch its allowed values from POST /api/v1/filters/options/ and use them verbatim — do not invent values, an unrecognised one matches nothing. Then send {\"<filter>\": <value>} to /list/generate/companies/. Filters sharing a same_element_group must all match the same array element.",
    "filters": [
        {
            "filter": "firmographic.company_type",
            "value_shape": "string | list[string]",
            "description": "Public vs Private company.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "firmographic.company_type"
        },
        {
            "filter": "firmographic.ownership_category",
            "value_shape": "string | list[string]",
            "description": "Who owns the company — PE-controlled, family-owned, founder-bootstrapped, VC-backed, state-owned, etc.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "firmographic.ownership_category"
        },
        {
            "filter": "firmographic.operating_status",
            "value_shape": "string | list[string]",
            "description": "Whether the company is still operating, acquired, closed, or has IPO'd.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "firmographic.operating_status"
        },
        {
            "filter": "firmographic.founded_year",
            "value_shape": "{\"gte\": int, \"lte\": int}",
            "description": "Year the company was founded. Inclusive range; either bound optional.",
            "how_to_get_values": "supply the value directly"
        },
        {
            "filter": "industry.industry",
            "value_shape": "list[string]",
            "description": "Industry taxonomy codes. The primary way to filter by sector. Codes are opaque — resolve the user's sector wording to codes first. Matches primary OR secondary industry, at any taxonomy level: a broad l1/l2/l3 code matches every company beneath it in the hierarchy, and levels can be mixed in one list. Search the industry dropdown with level='all' when unsure how broad the user's wording is.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "industry.industry"
        },
        {
            "filter": "industry.naics",
            "value_shape": "list[string]",
            "description": "NAICS classification codes. Use when the user names NAICS explicitly; prefer industry.industry otherwise.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "industry.naics"
        },
        {
            "filter": "industry.sic",
            "value_shape": "list[string]",
            "description": "SIC classification codes. Use when the user names SIC explicitly; prefer industry.industry otherwise.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "industry.sic"
        },
        {
            "filter": "location.hq.region",
            "value_shape": "list[string]",
            "description": "Region of the headquarters as UN M49 codes ('150' = Europe, '155' = Western Europe, '021' = Northern America). Codes are opaque — resolve the user's wording with the dropdown first. A broad code matches every company beneath it: '019' (Americas) covers the USA, Brazil and everything between, so there is no need to list countries.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "location.hq.region"
        },
        {
            "filter": "location.hq.country",
            "value_shape": "string | list[string]",
            "description": "Country of the headquarters.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "location.hq.country"
        },
        {
            "filter": "location.hq.city",
            "value_shape": "string | list[string]",
            "description": "City of the headquarters. No dropdown — pass the city name as stored, and prefer country/region when unsure.",
            "how_to_get_values": "supply the value directly"
        },
        {
            "filter": "location.market_served.is_global",
            "value_shape": "bool",
            "description": "True when the company claims a global footprint.",
            "how_to_get_values": "supply the value directly"
        },
        {
            "filter": "location.market_served.markets.country",
            "value_shape": "list[string]",
            "description": "Country the company sells into, as opposed to where it is based. ISO-3 code, as stored (upper-case).",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "location.market_served.markets.country",
            "same_element_group": "location.market_served.markets"
        },
        {
            "filter": "location.market_served.markets.region",
            "value_shape": "list[string]",
            "description": "Region the company sells into, matched as a case-insensitive substring. Substring rather than a dropdown because the stored values mix granularity — 'Europe', 'Western Europe', 'United States' and 'California' all appear — so 'Europe' should catch 'Western Europe' too. Combined with location.market_served.markets.country this means the SAME market entry is in that region AND country.",
            "how_to_get_values": "supply the value directly",
            "same_element_group": "location.market_served.markets"
        },
        {
            "filter": "location.offices.city",
            "value_shape": "list[string]",
            "description": "City of an office. Combined with location.offices.country this means the SAME office is in that city AND country.",
            "how_to_get_values": "supply the value directly",
            "same_element_group": "location.offices"
        },
        {
            "filter": "location.offices.country",
            "value_shape": "list[string]",
            "description": "Country of an office (anywhere the company has one, not just the HQ).",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "location.offices.country",
            "same_element_group": "location.offices"
        },
        {
            "filter": "financial_estimate.revenue_estimate",
            "value_shape": "string | list[string]",
            "description": "Estimated annual revenue, as a band.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "financial_estimate.revenue_estimate"
        },
        {
            "filter": "financial_estimate.valuation_estimate",
            "value_shape": "string | list[string]",
            "description": "Estimated company valuation, as a band.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "financial_estimate.valuation_estimate"
        },
        {
            "filter": "funding_detail.funding_overview.funding_stage",
            "value_shape": "string | list[string]",
            "description": "The company's latest/current funding stage. Use this for simple stage questions; use funding_detail.funding_rounds.* when the question is about a specific round.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "funding_detail.funding_overview.funding_stage"
        },
        {
            "filter": "funding_detail.funding_overview.total_funding_usd",
            "value_shape": "{\"gte\": number, \"lte\": number}",
            "description": "Total capital raised across all rounds, in USD.",
            "how_to_get_values": "supply the value directly"
        },
        {
            "filter": "funding_detail.funding_overview.last_funding_date",
            "value_shape": "{\"gte\": \"YYYY-MM-DD\", \"lte\": \"YYYY-MM-DD\"}",
            "description": "Date of the most recent funding round.",
            "how_to_get_values": "supply the value directly"
        },
        {
            "filter": "funding_detail.funding_overview.num_funding_rounds",
            "value_shape": "{\"gte\": int, \"lte\": int}",
            "description": "How many funding rounds the company has raised.",
            "how_to_get_values": "supply the value directly"
        },
        {
            "filter": "funding_detail.funding_rounds.round",
            "value_shape": "list[string]",
            "description": "Stage of a specific funding round.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "funding_detail.funding_rounds.round",
            "same_element_group": "funding_detail.funding_rounds"
        },
        {
            "filter": "funding_detail.funding_rounds.date",
            "value_shape": "{\"gte\": \"YYYY-MM-DD\", \"lte\": \"YYYY-MM-DD\"}",
            "description": "When a specific funding round was raised.",
            "how_to_get_values": "supply the value directly",
            "same_element_group": "funding_detail.funding_rounds"
        },
        {
            "filter": "funding_detail.funding_rounds.amount_usd",
            "value_shape": "{\"gte\": number, \"lte\": number}",
            "description": "Size of a specific funding round, in USD.",
            "how_to_get_values": "supply the value directly",
            "same_element_group": "funding_detail.funding_rounds"
        },
        {
            "filter": "funding_detail.funding_rounds.investors.uuid",
            "value_shape": "list[string]",
            "description": "Investors in a specific round, by akta-pro company uuid. Resolve the investor's name to a uuid first.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "funding_detail.funding_rounds.investors.uuid",
            "same_element_group": "funding_detail.funding_rounds"
        },
        {
            "filter": "funding_detail.funding_rounds.investors.name",
            "value_shape": "list[string]",
            "description": "Investors in a specific round, by name. Case-insensitive substring, so 'a16z' or 'Andreessen' both work — but two firms can share a name fragment, so prefer funding_detail.funding_rounds.investors.uuid when the investor is known.",
            "how_to_get_values": "supply the value directly",
            "same_element_group": "funding_detail.funding_rounds"
        },
        {
            "filter": "funding_detail.funding_rounds.investors.lead_investor",
            "value_shape": "bool",
            "description": "Restrict the investor match to the round's lead investor.",
            "how_to_get_values": "supply the value directly",
            "same_element_group": "funding_detail.funding_rounds"
        },
        {
            "filter": "business_model.gtm_type",
            "value_shape": "string | list[string]",
            "description": "Go-to-market type, e.g. B2B vs B2C.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "business_model.gtm_type"
        },
        {
            "filter": "business_model.gtm_motion",
            "value_shape": "list[string]",
            "description": "How the company sells — product-led, enterprise sales, channel/partner-led, etc.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "business_model.gtm_motion"
        },
        {
            "filter": "business_model.revenue_model",
            "value_shape": "list[string]",
            "description": "How the company charges — subscription, usage-based, licensing, transaction fees, etc.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "business_model.revenue_model"
        },
        {
            "filter": "business_model.offering_type",
            "value_shape": "string | list[string]",
            "description": "What the company sells: product, service, or both.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "business_model.offering_type"
        },
        {
            "filter": "company_assessment.customer_concentration.classification",
            "value_shape": "string | list[string]",
            "description": "How concentrated the customer base is.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "company_assessment.customer_concentration.classification"
        },
        {
            "filter": "company_assessment.competitive_moat",
            "value_shape": "list[string]",
            "description": "The company's competitive moat — network effects, switching costs, IP, scale, etc.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "company_assessment.competitive_moat"
        },
        {
            "filter": "technology.ai_maturity.scale",
            "value_shape": "int | list[int]",
            "description": "AI maturity as a numeric scale, 0 (No AI) to 5 (AI Foundational), higher meaning more AI-native. Multi-select: pass every scale value that should match — \"at least AI-differentiated\" is [3, 4, 5], not a range.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "technology.ai_maturity.scale"
        },
        {
            "filter": "technology.api_detail.has_api",
            "value_shape": "bool",
            "description": "True when the company offers an API.",
            "how_to_get_values": "supply the value directly"
        },
        {
            "filter": "technology.app_detail.has_app",
            "value_shape": "bool",
            "description": "True when the company offers a mobile/desktop app.",
            "how_to_get_values": "supply the value directly"
        },
        {
            "filter": "technology.is_technology_focussed",
            "value_shape": "bool",
            "description": "True when the company is technology-focused.",
            "how_to_get_values": "supply the value directly"
        },
        {
            "filter": "customer_profile.select_customer.name",
            "value_shape": "string | list[string]",
            "description": "Named customer. Case-insensitive substring match.",
            "how_to_get_values": "supply the value directly"
        },
        {
            "filter": "strategic_signal.partnership.name",
            "value_shape": "list[string]",
            "description": "Partner name. Case-insensitive substring match.",
            "how_to_get_values": "supply the value directly",
            "same_element_group": "strategic_signal.partnership"
        },
        {
            "filter": "strategic_signal.partnership.type",
            "value_shape": "list[string]",
            "description": "Kind of partnership — reseller, technology, distribution, etc.",
            "how_to_get_values": "look up with /list/options/",
            "dropdown_type": "strategic_signal.partnership.type",
            "same_element_group": "strategic_signal.partnership"
        },
        {
            "filter": "strategic_signal.partnership.strategic_tier",
            "value_shape": "list[string]",
            "description": "How strategically important the partnership is.",
            "how_to_get_values": "supply the value directly",
            "same_element_group": "strategic_signal.partnership"
        }
    ]
}
```

| Field     | Type      | Description                                                                                                                                 |
| --------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `count`   | integer   | Total number of filters returned.                                                                                                           |
| `usage`   | string    | A short guide describing how to use these filters with the Get Filter Options and List Generation APIs, and how `same_element_group` works. |
| `filters` | object\[] | Array of filter objects. See **Filter object fields** above.                                                                                |

<Info>
  This endpoint does not return a `credits_consumed` field since it is free and always returns the full, unfiltered set of 41 filters.
</Info>
