# CaptainData — Orthogonal API

> Pay-per-use API on Orthogonal. Each call is billed to your Orthogonal balance.
> Base API: `https://api.orth.sh/v1/run` · [llms.txt](https://orthogonal.com/llms.txt) · [browse all APIs](https://orthogonal.com/discover)

CaptainData API provides people and company enrichment, search, and discovery powered by LinkedIn Sales Navigator data. Find and enrich profiles, search for people and companies, and discover employees.

**Verified:** yes

## Access

**Run API:** `POST https://api.orth.sh/v1/run`
**Auth:** `Authorization: Bearer $ORTHOGONAL_API_KEY`
Get an API key at https://orthogonal.com/dashboard/settings/api-keys

Every call goes through the unified Run API: send the API `slug`, the endpoint `path`, and the `query`/`body` parameters. The response is `{ "success": true, "price": "<usd>", "data": { ... } }`.

## Endpoints

### Find Company Employees

List employees of a given company. Returns paginated results. The company_uid path parameter is the LinkedIn company ID (e.g., 1035 for Microsoft), which can be obtained from the Enrich Company or Find Company endpoints (li_company_id field).

`GET /companies/{company_uid}/employees`

**Estimated cost:** $2.29

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_uid` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `query` | string | No | Optional Sales Navigator People search query to filter employees. |
| `cursor` | string | No | Cursor value from X-Pagination-Next response header for pagination. Cursors expire after 24 hours. |
| `page_size` | integer | No | Maximum number of results per page. Fixed at 25. |

```bash
# Replace {company_uid} in "path" with real values before sending
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"captaindata","path":"/companies/{company_uid}/employees","method":"GET","query":{"query":"<string>","cursor":"<string>","page_size":"<integer>"}}'
```

### Enrich Person

Get profile information from a LinkedIn URL. Returns full name, headline, summary, skills, languages, education, experiences, company info, and more.

`GET /people/enrich`

**Estimated cost:** $0.09

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `li_profile_url` | string | Yes | A LinkedIn Profile URL (regular or Sales Navigator format) |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"captaindata","path":"/people/enrich","method":"GET","query":{"li_profile_url":"<string>"}}'
```

### Search People

Search and discover people using a LinkedIn Sales Navigator search query. Returns paginated results with profile summaries. Use the X-Pagination-Next response header cursor for pagination.

`GET /people/search`

**Estimated cost:** $2.29

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | A Sales Navigator People search compliant query param. Copy the entire value of the query parameter from your LinkedIn Sales Navigator search URL (everything after ?query=). |
| `cursor` | string | No | Cursor value from X-Pagination-Next response header for pagination. Cursors expire after 24 hours. |
| `page_size` | integer | No | Maximum number of results per page. Fixed at 25. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"captaindata","path":"/people/search","method":"GET","query":{"query":"<string>","cursor":"<string>","page_size":"<integer>"}}'
```

### Search Companies

Search and discover companies using a LinkedIn Sales Navigator search query. Returns paginated results.

`GET /companies/search`

**Estimated cost:** $2.29

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | A Sales Navigator Company search compliant query param. Copy the entire value of the query parameter from your LinkedIn Sales Navigator search URL. |
| `cursor` | string | No | Cursor value from X-Pagination-Next response header for pagination. Cursors expire after 24 hours. |
| `page_size` | integer | No | Maximum number of results per page. Fixed at 25. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"captaindata","path":"/companies/search","method":"GET","query":{"query":"<string>","cursor":"<string>","page_size":"<integer>"}}'
```

### Find People

Find people by name and optionally company name. Returns matching profiles.

`GET /people/find`

**Estimated cost:** $0.18

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `full_name` | string | Yes | Full name of the person to find. |
| `company_name` | string | No | Company name to narrow down the search. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"captaindata","path":"/people/find","method":"GET","query":{"full_name":"<string>","company_name":"<string>"}}'
```

### Enrich Company

Get comprehensive company information from a LinkedIn Company URL. Returns company details, industry, size, and more.

`GET /companies/enrich`

**Estimated cost:** $0.09

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `li_company_url` | string | Yes | A LinkedIn Company URL (should start with https://www.linkedin.com/sales/company/ or similar). |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"captaindata","path":"/companies/enrich","method":"GET","query":{"li_company_url":"<string>"}}'
```

### Find Company

Find a company by name. Returns matching company profiles.

`GET /companies/find`

**Estimated cost:** $0.18

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_name` | string | Yes | Company name to search for. |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"captaindata","path":"/companies/find","method":"GET","query":{"company_name":"<string>"}}'
```

### Full Enrich Person

Get comprehensive profile information from a LinkedIn URL with additional enrichment data. Returns full name, headline, summary, skills, languages, education, experiences, company info, and more.

`GET /people/enrich`

**Estimated cost:** $0.18

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `li_profile_url` | string | Yes | A LinkedIn Profile URL (regular or Sales Navigator format) |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"captaindata","path":"/people/enrich","method":"GET","query":{"li_profile_url":"<string>"}}'
```

### Enrich Person (Full)

Get comprehensive profile information from a LinkedIn URL with full enrichment. Returns all standard fields plus additional data including verified emails, phone numbers, and social profiles.

`GET /people/enrich`

**Estimated cost:** $0.18

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `li_profile_url` | string | Yes | A LinkedIn Profile URL (regular or Sales Navigator format) |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"captaindata","path":"/people/enrich","method":"GET","query":{"li_profile_url":"<string>"}}'
```

---

Full details and an interactive quickstart: https://orthogonal.com/discover/captaindata
