---
title: "Search for companies matching specific criteria. Supports filters for country, industry, employee count, revenue, keywords, technologies, company type, category, founded year, funding, and more. Also supports text search by name/domain and semantic natural language search. Max 10,000 results via page-based pagination. Use the scroll endpoint for larger result sets. Pagination billing: call the first page normally and save billing.requestId from the Orthogonal /v1/run response. For later page, offset, or cursor calls on the same logical search, pass parentRequestId with unchanged non-pagination parameters. Valid continuation calls still get their own request IDs and quoted price, but are charged 0. Changing filters starts a new billable request."
method: POST
path: "/company-enrich/companies/search"
tags: ["Company Enrich"]
---

# Search for companies matching specific criteria. Supports filters for country, industry, employee count, revenue, keywords, technologies, company type, category, founded year, funding, and more. Also supports text search by name/domain and semantic natural language search. Max 10,000 results via page-based pagination. Use the scroll endpoint for larger result sets. Pagination billing: call the first page normally and save billing.requestId from the Orthogonal /v1/run response. For later page, offset, or cursor calls on the same logical search, pass parentRequestId with unchanged non-pagination parameters. Valid continuation calls still get their own request IDs and quoted price, but are charged 0. Changing filters starts a new billable request.

`POST /company-enrich/companies/search`

## Request

- Base URL: `https://api.orthogonal.com/mpp`
- URL: `https://api.orthogonal.com/mpp/company-enrich/companies/search`
- Auth: none declared

## Query parameters

- `expand` string[]

## Request body

- object
  - `page` integer: The page number to return. Must be greater than 0 For later pages of the same logical search, keep non-pagination parameters unchanged and pass top-level parentRequestId from the first Orthogonal /v1/run response.
  - `pageSize` integer, required: REQUIRED. Number of results per page (1-100). Determines cost: 1 credit ($0.01225) per result returned. Total call cost = pageSize x per-result cost.
  - `lists` string[]: The list IDs to filter by
  - `semanticQuery` string: The semantic search query to find companies with. More natural language version of the standard query.
  - `semanticWeight` number: The semantic weight to apply to the results. Must be between 0 and 1. 0.7 is default. Larger values will prioritize semantic similarity, smaller values will prioritize traditional search factors.
  - `exclude` object: Exclusion filters to apply on the companies. If a company matches any of the filters here, it will be excluded from the results.
  - `query` string: The search query to apply on the company name and domain
  - `foundedYear` object: The range of years
  - `fundingAmount` object: The funding amount range to filter by
  - `fundingYear` object: The range of years
  - `categoryOperator` string: The operator to apply to the filters. Defaults to And.
  - `keywordsOperator` string: The operator to apply to the filters. Defaults to And.
  - `technologiesOperator` string: The operator to apply to the filters. Defaults to And.
  - `workforceGrowth` object: Filter companies by workforce growth percentage over a selected period and department.
  - `workforceSize` string[]: Filter companies by absolute workforce headcount. Multiple entries can be provided to filter on different departments simultaneously.
  - `require` string[]: The features that must exist for the company
  - `regions` string[]: The region IDs to filter by
  - `countries` string[]: The 2 letter country codes to filter by
  - `states` string[]: The state IDs to filter by
  - `cities` string[]: The city IDs to filter by
  - `type` string[]: The list of company types to filter by
  - `category` string[]: The list of company categories to filter by
  - `employees` string[]: The list of employee counts to filter by
  - `revenue` string[]: The list of revenue ranges to filter by
  - `naicsCode` string[]: The NAICS codes to filter by. Can be 2 to 6 digit codes. In case of a 2-5 digit code, all 6 digit codes under it will be included
  - `keywords` string[]: The keywords to filter by
  - `technologies` string[]: The technologies to filter by
  - `fundingRounds` string[]: The funding rounds to filter by

## Response `200`

Successful response

## Other responses

- `402`: Payment Required (x402 / MPP / np)

## Changes

- **2026-11-08** `857e915717f4`: 1 breaking, 1 info
  - added required request body
  - added the new optional `query` request parameter `expand`

[Operation history](https://skmtc.dev/orthogonal/apis/orthogonal-api-marketplace/changes/company-enrich/companies/search/post.md)

---

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