---
title: "Search V2"
method: POST
path: "/api/v2/search"
tags: ["search-v2"]
---

# Search V2

`POST /api/v2/search`

## Request

- Base URL: `https://api.echoloc.ai`
- URL: `https://api.echoloc.ai/api/v2/search`
- Auth: none declared

Search company profiles with structured filters. Free plan sees the
first FREE_RESULTS_LIMIT rows (enforced here, not just in the UI).
Anonymous traffic additionally gets a per-IP daily search budget —
a free account lifts it.

## Headers

- `authorization` string, nullable

## Request body

- SearchV2Request: Search request for company profiles.
  - `query` string
  - `page` integer
  - `page_size` integer
  - `technologies` TechnologyFilter[], nullable
    - `name` string, required
    - `context` string
  - `roles` string[], nullable
  - `text_search` string[], nullable
  - `industry` string[], nullable
  - `country` string[], nullable
  - `city` string, nullable
  - `company_type` string[], nullable
  - `hiring_velocity` string[], nullable
  - `size_min` integer, nullable
  - `size_max` integer, nullable
  - `sort_by` string, nullable
  - `sort_direction` string, nullable
  - `exclude_agencies` boolean, nullable

## Response `200`

Successful Response

- SearchV2Response: Search v2 response.
  - `query` string, required
  - `total` integer, required
  - `page` integer, required
  - `page_size` integer, required
  - `total_pages` integer, required
  - `results` CompanyProfileResult[], required
    - `company_id` string, required
    - `name` string, required
    - `domain` string, nullable
    - `logo` string, nullable
    - `short_description` string, nullable
    - `industry` string, nullable
    - `country` string, nullable
    - `city` string, nullable
    - `company_type` string, nullable
    - `employees_range_min` integer, nullable
    - `employees_range_max` integer, nullable
    - `linkedin_url` string, nullable
    - `total_active_jobs` integer
    - `jobs_last_30d` integer
    - `hiring_velocity` string, nullable
    - `hiring_ratio` number, nullable
    - `match_highlights` MatchHighlight[]
      - `type` string, required
      - `content` string, required
    - `technologies` array[]
      - unknown[]
        - unknown
    - `tech_using` string[]
    - `tech_adopting` string[]
    - `tech_replacing` string[]
    - `tech_evaluating` string[]
    - `roles` union
      - unknown[]
        - unknown
      - object
    - `departments` object
    - `seniority` object
    - `notable_roles` string[]
    - `pain_points` string[]
    - `projects` string[]
  - `facets` FacetsV2: Available facets for company profile filtering.
    - `country` AppModelsSchemasFacetValue[]
      - `value` string, required
      - `count` integer, required
    - `industry` AppModelsSchemasFacetValue[]
      - `value` string, required
      - `count` integer, required
    - `company_type` AppModelsSchemasFacetValue[]
      - `value` string, required
      - `count` integer, required
    - `hiring_velocity` AppModelsSchemasFacetValue[]
      - `value` string, required
      - `count` integer, required
    - `roles` AppModelsSchemasFacetValue[]
      - `value` string, required
      - `count` integer, required
    - `technologies` AppModelsSchemasFacetValue[]
      - `value` string, required
      - `count` integer, required
  - `parsed_filters` ParsedFiltersV2: Result of LLM v2 intent parsing — structured filters for company search.
    - `technologies` TechnologyFilter[]
      - `name` string, required
      - `context` string
    - `roles` string[]
    - `text_search` string[]
    - `filters` FiltersV2: Facet-level filters from LLM or user.
      - `industry` string[], nullable
      - `country` string[], nullable
      - `city` string, nullable
      - `company_type` string[], nullable
      - `hiring_velocity` string[], nullable
      - `size_min` integer, nullable
      - `size_max` integer, nullable
    - `exclude_agencies` boolean, nullable
    - `confidence` number
    - `reasoning` string, nullable
  - `depth_capped` boolean
  - `agencies_included` boolean, nullable

## Other responses

- `422`: Validation Error

---

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