# Hunter — 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)

Hunter.io API for finding and verifying professional email addresses. Domain search, email finder, email verification, and company/person enrichment.

**Verified:** no

## 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

### Combined Enrichment

Get both person AND company information from an email address in a single request.

`GET /v2/combined/find`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `email` | string | Yes | Email address to enrich |

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

### Email Enrichment

Get detailed person information from an email address - name, location, employment, social profiles.

`GET /v2/people/find`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `email` | string | No | Email address to enrich |
| `linkedin_handle` | string | No | LinkedIn handle to enrich |

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

### Email Count

Get count of email addresses we have for a domain, broken down by department and seniority. FREE endpoint.

`GET /v2/email-count`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | No | Domain to count emails for |
| `company` | string | No | Company name (domain preferred) |
| `type` | string | No | Filter: personal or generic |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"hunter","path":"/v2/email-count","method":"GET","query":{"domain":"<string>","company":"<string>","type":"<string>"}}'
```

### Discover Companies

Find companies matching criteria using filters or natural language. Returns up to 100 companies per request. FREE endpoint.

`POST /v2/discover`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | No | Natural language search (e.g. Companies in Europe in Tech) |
| `headquarters_location` | object | No | Filter by HQ location |
| `industry` | object | No | Filter by industry |
| `headcount` | array | No | Filter by employee count ranges |
| `limit` | integer | No | Max results (default 100) |
| `offset` | integer | No | Skip N results for pagination |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"hunter","path":"/v2/discover","body":{"query":"<string>","headquarters_location":"<object>","industry":"<object>","headcount":"<array>","limit":"<integer>","offset":"<integer>"}}'
```

### Company Enrichment

Get detailed company information from a domain - industry, description, location, size, tech stack, funding.

`GET /v2/companies/find`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Company domain to enrich (e.g. hunter.io) |

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

### Domain Search

Find all email addresses for a domain. Returns emails with sources, confidence scores, and verification status.

`GET /v2/domain-search`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Domain to search (e.g. stripe.com) |
| `limit` | integer | No | Max emails to return (default 10) |
| `offset` | integer | No | Skip N emails |
| `type` | string | No | Filter: personal or generic |
| `seniority` | string | No | Filter: junior, senior, or executive |
| `department` | string | No | Filter by department (sales, marketing, etc) |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"hunter","path":"/v2/domain-search","method":"GET","query":{"domain":"<string>","limit":"<integer>","offset":"<integer>","type":"<string>","seniority":"<string>","department":"<string>"}}'
```

### Email Finder

Find the most likely email address for a person given their name and company domain.

`GET /v2/email-finder`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | No | Company domain (e.g. reddit.com) |
| `company` | string | No | Company name (domain preferred) |
| `first_name` | string | No | Person first name |
| `last_name` | string | No | Person last name |
| `full_name` | string | No | Full name (if first/last not available) |
| `linkedin_handle` | string | No | LinkedIn profile handle |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"hunter","path":"/v2/email-finder","method":"GET","query":{"domain":"<string>","company":"<string>","first_name":"<string>","last_name":"<string>","full_name":"<string>","linkedin_handle":"<string>"}}'
```

### Email Verifier

Verify if an email address is deliverable. Returns status (valid, invalid, accept_all, webmail, disposable, unknown).

`GET /v2/email-verifier`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `email` | string | Yes | Email address to verify |

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

---

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