---
title: "Search companies"
method: POST
path: "/api/v1/prospecting/companies/search"
tags: ["Prospecting"]
---

# Search companies

`POST /api/v1/prospecting/companies/search`

## Request

- Base URL: `https://targetwise.ai`
- URL: `https://targetwise.ai/api/v1/prospecting/companies/search`
- Auth: HTTP bearer

Returns a bounded page of company candidates using allowlisted firmographic, classification, location, technology, incorporation or turnover filters. Calls are metered and the maximum page is 10 with at most 25 candidates per page.

## Request body

- object
  - `page` integer
  - `limit` integer
  - `filters` object, required
    - `status_ids` integer[]
    - `employee_count` object
      - `min` integer
      - `max` integer
    - `legal_form_ids` integer[]
    - `industry_paths` string[]
    - `website_keywords` string[]
    - `nace_codes` string[]
    - `isic_codes` string[]
    - `country_paths` string[]
    - `region_paths` string[]
    - `postal_codes` string[]
    - `technology_ids` string[]
    - `incorporated` object
      - `from` string, date
      - `to` string, date
    - `turnover` object
      - `min` number
      - `max` number
      - `currency` string, required

## Response `200`

A bounded candidate page. An empty result is a normal business outcome.

- object
  - `object` 'prospecting_result', required
  - `operation` 'company_prospecting', required
  - `request_id` string, required
  - `status` 'matched' | 'not_found', required
  - `data` object[], required
    - `company_id` string
    - `company_name` string
  - `pagination` object, required
    - `page` integer, required
    - `per_page` integer, required
    - `total_results` integer, required
    - `total_pages` integer, required
    - `has_more` boolean, required
  - `grounding` object, required
    - `retrieved_at` string, date-time, required
    - `source_provenance` 'not_available', required

## Other responses

- `400`: Invalid request or operation_pricing_unavailable. Adding credit does not enable an unpriced operation.
- `401`: A valid TargetWise bearer key is required.
- `402`: Free allowance or paid balance exhausted, or usage_budget_reached. A top-up does not increase the monthly usage budget.
- `403`: The workspace is inactive or access is restricted.
- `409`: Workspace usage could not be reserved. Inspect retryable before a bounded retry.
- `413`: The request body exceeds 64 KB.
- `415`: Use Content-Type: application/json.
- `429`: The workspace attempt/rate limit or provider limit has been reached.
- `500`: Unexpected internal error.
- `502`: The data connection returned an unusable response.
- `503`: The service or data connection is unavailable or unconfigured.
- `504`: The data connection timed out.

---

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