# Tomba API — 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)

Email finding and verification API

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

### Domain Suggestions

Get domain suggestions for a company name

`GET /v1/domain-suggestions`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | The domain or company name to find suggestions for |

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

### Search Companies

Search for companies using natural language queries or structured filters. AI assistant generates appropriate filters from your query.

`POST /v1/reveal/search`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | No | Natural language query (8-100 chars). AI generates filters from this. Use only on first request, then use filters for pagination. |
| `filters` | object | No | Structured filters: company, location_country, location_city, location_state, industry, size, type, keywords, founded, technologies, similar, revenue, sic, naics. Each has include/exclude arrays. |
| `page` | integer | No | Page number for pagination (1-1000, default: 1) |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"tomba","path":"/v1/reveal/search","body":{"query":"<string>","filters":"<object>","page":"<integer>"}}'
```

### Domain Search

Search emails based on a website domain. Returns all email addresses found on the internet for a given domain, with organization info and employee details.

`GET /v1/domain-search`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Domain name to search, e.g. stripe.com |
| `company` | string | Yes | Company name (3-75 chars) |
| `page` | string | No | Page number (default 1) |
| `limit` | string | No | Results per page: 10, 20, or 50 (default 10) |
| `country` | string | No | Two-letter country code filter |
| `department` | string | No | Department filter: engineering, sales, finance, hr, it, marketing, operations, management, executive, legal, support, communication, software, security, pr, warehouse, diversity, administrative, facilities, accounting |

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

### LinkedIn Finder

Find the email address from a LinkedIn profile URL.

`GET /v1/linkedin`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | LinkedIn profile URL |
| `enrich_mobile` | string | No | Set to true to get phone number |

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

### Author Finder

Find the email address of a blog post author from the article URL.

`GET /v1/author-finder`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | URL of the blog post/article |

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

### Email Enrichment

Enrich an email address with person and company data (name, location, social handles).

`GET /v1/enrich`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `email` | string | Yes | Email address to enrich |
| `enrich_mobile` | string | No | Set to true to get phone number |

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

### Location

Get employee location distribution for a domain.

`GET /v1/location`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Domain name, e.g. stripe.com |

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

### Email Format

Get the email format patterns used by a domain (e.g. first.last, firstlast).

`GET /v1/email-format`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Domain name, e.g. stripe.com |

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

### Email Finder

Find the most likely email address from a domain name, first name, and last name.

`GET /v1/email-finder`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Domain name, e.g. stripe.com |
| `company` | string | Yes | Company name (3-75 chars) |
| `full_name` | string | No | Full name of the person |
| `first_name` | string | No | First name of the person |
| `last_name` | string | No | Last name of the person |
| `enrich_mobile` | string | No | Set to true to get phone number |

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

### Email Count

Get the count of email addresses for a domain, broken down by department and seniority.

`GET /v1/email-count`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Domain name, e.g. stripe.com |

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

### Similar Domains

Find domains similar to a given domain.

`GET /v1/similar`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Domain to find similar domains for |

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

### Combined Enrichment

Get combined person and company information from an email.

`GET /v1/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":"tomba","path":"/v1/combined/find","method":"GET","query":{"email":"<string>"}}'
```

### Verify Email

Verify the deliverability of an email address.

`GET /v1/email-verifier`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `email` | string | Yes | The 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":"tomba","path":"/v1/email-verifier","method":"GET","query":{"email":"<string>"}}'
```

### Technology Stack

Discover technologies used by a website.

`GET /v1/technology`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Domain to analyze |

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

### Find Company

Get company information from a domain.

`GET /v1/companies/find`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Domain name (e.g., stripe.com) |

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

### Find Person

Get person information from an email address.

`GET /v1/people/find`

**Estimated cost:** $0.01

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

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

### Email Sources

Find the sources where an email was found on the web.

`GET /v1/email-sources`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `email` | string | Yes | Email address to find sources for |

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

### Find Phone

Find phone numbers associated with an email, domain, or LinkedIn profile.

`GET /v1/phone-finder`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `email` | string | No | Email address to find phone for |
| `domain` | string | No | Domain to find phone numbers for |
| `linkedin` | string | No | LinkedIn profile URL |
| `full` | boolean | No | Set to true to get all phone numbers |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"tomba","path":"/v1/phone-finder","method":"GET","query":{"email":"<string>","domain":"<string>","linkedin":"<string>","full":"<boolean>"}}'
```

### Domain Status

Check the status and availability of a domain.

`GET /v1/domain-status`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `domain` | string | Yes | Domain to check |

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

### Validate Phone

Validate a phone number and get carrier information.

`GET /v1/phone-validator`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `phone` | string | Yes | Phone number to validate |
| `country_code` | string | No | Country code (e.g., US) |

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

---

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