---
title: "Search companies"
method: POST
path: "/company/search"
tags: ["Company"]
---

# Search companies

`POST /company/search`

## Request

- Base URL: `https://api.context.dev/v1`
- URL: `https://api.context.dev/v1/company/search`
- Auth: HTTP bearer

Find companies with a natural-language query.

## Request body

- object
  - `query` string, required: Describe the companies to find.
  - `filters` CompanySearchFilters: Additional constraints every result must match.
    - `countries` string[]: Headquarters countries as two-letter codes, such as US or GB.
    - `employees_min` integer: Minimum headcount; includes overlapping employee ranges.
    - `employees_max` integer: Maximum headcount; includes overlapping employee ranges.
  - `cursor` string: Use next_cursor with the same query and filters to fetch the next page.
  - `tags` string[]: Labels for filtering usage in the dashboard.

## Response `200`

Successful response

- object
  - `results` object[], required: Up to 10 matching companies, most relevant first by default.
    - `name` string, required: Company name.
    - `domain` string, required: The company's website domain.
    - `description` string, nullable: What the company does.
    - `organization_type` string, nullable: Company type, such as public_company or privately_held.
    - `operating_status` string, nullable: Operating status, such as active, acquired or closed.
    - `stock_symbols` string[], required: Known stock listings and ticker symbols.
    - `revenue` object, required: Estimated annual revenue in US dollars.
      - `min_usd` integer, nullable: Lower estimate of annual revenue in US dollars.
      - `max_usd` integer, nullable: Upper estimate of annual revenue in US dollars.
    - `industries` string[], required: Industries the company operates in.
    - `founded_year` integer, nullable: Year the company was founded.
    - `headquarters` object, required: Where the company is headquartered.
      - `country_code` string, nullable: ISO 3166-1 alpha-2 country code.
      - `region` string, nullable: State or region.
      - `city` string, nullable: City.
      - `street_address` string, nullable: Street address.
      - `postal_code` string, nullable: Postal code.
    - `employees` object, required: How many people the company employs.
      - `count` integer, nullable: Employee count, when known.
      - `min` integer, nullable: Lower bound of the headcount range.
      - `max` integer, nullable: Upper headcount bound; null for open-ended ranges.
    - `funding` object, required: Known funding history.
      - `total_usd` integer, nullable: Total disclosed funding in US dollars.
      - `round_count` integer, required: Number of known funding rounds.
      - `latest_round` object, nullable: The most recent known funding round; null when none is known.
        - `type` string, required: Round type, such as seed or series_b.
        - `date` string, required: Announcement date (YYYY-MM-DD).
        - `amount_usd` integer, nullable: Round size in US dollars, when disclosed.
      - `stage` string, nullable: Current funding stage, when known.
      - `rounds` object[], required: Known historical rounds; unavailable amounts are null.
        - `type` string, required: Round type, such as seed or series_b.
        - `date` string, required: Announcement date (YYYY-MM-DD).
        - `amount_usd` integer, nullable: Round size in US dollars, when disclosed.
        - `phase` 'initial' | 'extension' | 'null', nullable: Initial financing or an extension, when known.
  - `next_cursor` string, nullable: Pass as cursor to fetch the next page; null when there are no more results.
  - `key_metadata` KeyMetadata: Credits this request used and your remaining balance.
    - `credits_consumed` integer, required: Credits charged for this request.
    - `credits_remaining` integer, required: Credits remaining for your organization.
  - `request_id` string, uuid, required: Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.

## Other responses

- `400`: Bad Request
- `401`: Missing or invalid API key.
- `408`: Request Timeout
- `429`: Rate limit exceeded. Organization concurrency rejections include structured error_data and subscription settings; follow Retry-After before retrying.
- `500`: Internal server error

## Changes

- **2026-10-23** `c2f343f123b2`: 1 warning, 6 info
  - removed the request property `limit`
  - added the optional property `results/items/funding/stage` to the response with the `200` status
  - added the optional property `results/items/operating_status` to the response with the `200` status
  - added the optional property `results/items/organization_type` to the response with the `200` status
  - …3 more
- **2026-10-21** `892f401536bf`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/context/apis/brand-api/changes/company/search/post.md)

---

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