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

# Find companies and their people

> Search companies, name one from its domain, and list the people who work there.

Company search finds accounts; a company's people finds who to reach at one of them.

## Search companies

Describe the companies you want, or send filters:

```bash theme={null}
curl https://api.outbound.dev/v1/companies/search \
  -H "Authorization: Bearer $OUTBOUND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "logistics companies in Portugal", "limit": 25}'
```

The page answers with the companies and the `filters` the search ran with. Page through it as people search does: send the `filters` with `pagination.nextCursor` as `cursor`. Each company returned costs \$0.0001.

### Company filter values

`GET /v1/companies/filters` answers one list of values per filter. Their names differ from the filters they feed:

| List | Filter it feeds |
| - | - |
| `industries` | `industriesV2` |
| `linkedinIndustries` | `linkedinIndustries` |
| `crunchbaseIndustries` | `crunchbaseCategories` |
| `crunchbaseCategoryGroups` | `crunchbaseCategoryGroups` |
| `companyTags` | `tags` |
| `naicsCodes[].code` | `naicsCodes` |
| `countries[].apiCode` | `headquartersCountryCode` and `officeLocationsV2` |
| `accelerators[].acceleratorSlug` | `acceleratorsV2` |
| `fundingStages` | `stage` |
| `technologies` | `technologies` |
| `statuses` | `status` |
| `fortuneRankings` | `fortuneRankings` |

Copy values exactly: they are case-sensitive. Company names, cities and states come from `GET /v1/companies/autocomplete` with `field` set to `company`, `location` or `state`.

## Name a company

`POST /v1/companies/resolve` turns a name, a website domain or a LinkedIn page into the company's name, domain, LinkedIn page and logo. It is free:

```bash theme={null}
curl https://api.outbound.dev/v1/companies/resolve \
  -H "Authorization: Bearer $OUTBOUND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain": "maersk.com"}'
```

```json theme={null}
{
  "status": "found",
  "company": {
    "name": "A.P. Moller - Maersk",
    "domain": "maersk.com",
    "linkedinUrl": "linkedin.com/company/maersk-group",
    "logoUrl": "https://logo.example/maersk.com.png"
  }
}
```

When several are sent, the most precise is looked up: `linkedinUrl`, then `domain`, then `name`. A name resolves to the best-known company of that name, so send a domain for a common name. A company nothing matches answers `200` with `status` `not_found`, never a guess.

## List a company's people

`POST /v1/companies/people` lists who works at one company, narrowed by people filters such as seniority or department:

```bash theme={null}
curl https://api.outbound.dev/v1/companies/people \
  -H "Authorization: Bearer $OUTBOUND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company": {"domain": "maersk.com"}, "filters": {"job_title_levels": ["director", "vp"]}, "limit": 10}'
```

Take the filters from `GET /v1/people/filters`. A page holds up to 25 people, at \$0.0001 each. For the next page, send the same `company` and `filters` with `pagination.nextCursor` as `cursor`. A company nothing matches answers `status` `not_found` with no people, and costs nothing.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.