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

Company intelligence API providing job openings, news events, financing events, technology detections, connections, products, and more for any company.

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

### Get Company

Get company profile by ID or domain

`GET /v3/companies/{id_or_domain}`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id_or_domain` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |

```bash
# Replace {id_or_domain} 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":"predictleads","path":"/v3/companies/{id_or_domain}","method":"GET"}'
```

### Similar Companies

Find companies similar to a given company

`GET /v3/companies/{company_id_or_domain}/similar_companies`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_id_or_domain` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `limit` | integer | No |  |

```bash
# Replace {company_id_or_domain} 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":"predictleads","path":"/v3/companies/{company_id_or_domain}/similar_companies","method":"GET","query":{"limit":"<integer>"}}'
```

### Get Job Opening

Get a single job opening by ID

`GET /v3/job_openings/{id}`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |

```bash
# Replace {id} 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":"predictleads","path":"/v3/job_openings/{id}","method":"GET"}'
```

### List Technologies

List all tracked technologies

`GET /v3/technologies`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No |  |
| `fuzzy_name` | string | No |  |
| `limit` | integer | No |  |
| `order_by` | string | No |  |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"predictleads","path":"/v3/technologies","method":"GET","query":{"page":"<integer>","fuzzy_name":"<string>","limit":"<integer>","order_by":"<string>"}}'
```

### Get News Event

Get a single news event by ID

`GET /v3/news_events/{id}`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |

```bash
# Replace {id} 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":"predictleads","path":"/v3/news_events/{id}","method":"GET"}'
```

### Company Products

Get products associated with a company

`GET /v3/companies/{company_id_or_domain}/products`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_id_or_domain` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `page` | integer | No |  |
| `first_seen_at_from` | string | No |  |
| `first_seen_at_until` | string | No |  |
| `limit` | integer | No |  |

```bash
# Replace {company_id_or_domain} 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":"predictleads","path":"/v3/companies/{company_id_or_domain}/products","method":"GET","query":{"page":"<integer>","first_seen_at_from":"<string>","first_seen_at_until":"<string>","limit":"<integer>"}}'
```

### Get Product

Get a single product by ID

`GET /v3/products/{id}`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |

```bash
# Replace {id} 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":"predictleads","path":"/v3/products/{id}","method":"GET"}'
```

### Discover Companies

Search and filter companies

`GET /v3/discover/companies`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | Yes |  |
| `sizes` | string | Yes |  |
| `page` | integer | No |  |
| `limit` | integer | No |  |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"predictleads","path":"/v3/discover/companies","method":"GET","query":{"location":"<string>","sizes":"<string>","page":"<integer>","limit":"<integer>"}}'
```

### Company GitHub Repositories

Get GitHub repositories associated with a company

`GET /v3/companies/{company_id_or_domain}/github_repositories`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_id_or_domain` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `page` | integer | No |  |
| `first_seen_at_from` | string | No |  |
| `first_seen_at_until` | string | No |  |
| `limit` | integer | No |  |

```bash
# Replace {company_id_or_domain} 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":"predictleads","path":"/v3/companies/{company_id_or_domain}/github_repositories","method":"GET","query":{"page":"<integer>","first_seen_at_from":"<string>","first_seen_at_until":"<string>","limit":"<integer>"}}'
```

### Company Website Evolution

Track website changes over time for a specific company

`GET /v3/companies/{company_id_or_domain}/website_evolution`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_id_or_domain` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `page` | integer | No |  |
| `first_seen_at_from` | string | No |  |
| `first_seen_at_until` | string | No |  |
| `limit` | integer | No |  |

```bash
# Replace {company_id_or_domain} 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":"predictleads","path":"/v3/companies/{company_id_or_domain}/website_evolution","method":"GET","query":{"page":"<integer>","first_seen_at_from":"<string>","first_seen_at_until":"<string>","limit":"<integer>"}}'
```

### Company Technology Detections

Get technology stack detections for a specific company

`GET /v3/companies/{company_id_or_domain}/technology_detections`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_id_or_domain` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `page` | integer | No |  |
| `first_seen_at_from` | string | No |  |
| `first_seen_at_until` | string | No |  |
| `last_seen_at_from` | string | No |  |
| `last_seen_at_until` | string | No |  |
| `limit` | integer | No |  |

```bash
# Replace {company_id_or_domain} 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":"predictleads","path":"/v3/companies/{company_id_or_domain}/technology_detections","method":"GET","query":{"page":"<integer>","first_seen_at_from":"<string>","first_seen_at_until":"<string>","last_seen_at_from":"<string>","last_seen_at_until":"<string>","limit":"<integer>"}}'
```

### Discover Job Openings

Search and filter job openings across all companies

`GET /v3/discover/job_openings`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `onet_codes` | string | No | O*NET code (required if location not provided) |
| `location` | string | No | Location (required if onet_codes not provided) |
| `page` | integer | No |  |
| `limit` | integer | No |  |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"predictleads","path":"/v3/discover/job_openings","method":"GET","query":{"onet_codes":"<string>","location":"<string>","page":"<integer>","limit":"<integer>"}}'
```

### Get Technology

Get a specific technology by ID or name

`GET /v3/technologies/{id_or_fuzzy_name}`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id_or_fuzzy_name` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |

```bash
# Replace {id_or_fuzzy_name} 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":"predictleads","path":"/v3/technologies/{id_or_fuzzy_name}","method":"GET"}'
```

### Discover Financing Events

Search and filter financing events across all companies

`GET /v3/discover/financing_events`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No |  |
| `company_location` | string | No |  |
| `financing_types_normalized` | string | No |  |
| `limit` | integer | No |  |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"predictleads","path":"/v3/discover/financing_events","method":"GET","query":{"page":"<integer>","company_location":"<string>","financing_types_normalized":"<string>","limit":"<integer>"}}'
```

### Discover Portfolio Connections

Discover connections across portfolio companies

`GET /v3/discover/portfolio_companies/connections`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No |  |
| `first_seen_at_from` | string | No |  |
| `first_seen_at_until` | string | No |  |
| `last_seen_at_from` | string | No |  |
| `last_seen_at_until` | string | No |  |
| `limit` | integer | No |  |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"predictleads","path":"/v3/discover/portfolio_companies/connections","method":"GET","query":{"page":"<integer>","first_seen_at_from":"<string>","first_seen_at_until":"<string>","last_seen_at_from":"<string>","last_seen_at_until":"<string>","limit":"<integer>"}}'
```

### Discover Latest Products

Discover the latest products across all companies

`GET /v3/discover/products/latest`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No |  |
| `first_seen_at_from` | string | No |  |
| `first_seen_at_until` | string | No |  |
| `limit` | integer | No |  |
| `sources` | string | No |  |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"predictleads","path":"/v3/discover/products/latest","method":"GET","query":{"page":"<integer>","first_seen_at_from":"<string>","first_seen_at_until":"<string>","limit":"<integer>","sources":"<string>"}}'
```

### Discover Technology Detections

Find companies using a specific technology

`GET /v3/discover/technologies/{technology_id_or_fuzzy_name}/technology_detections`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `technology_id_or_fuzzy_name` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `page` | integer | No |  |
| `first_seen_at_from` | string | No |  |
| `first_seen_at_until` | string | No |  |
| `last_seen_at_from` | string | No |  |
| `last_seen_at_until` | string | No |  |
| `limit` | integer | No |  |

```bash
# Replace {technology_id_or_fuzzy_name} 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":"predictleads","path":"/v3/discover/technologies/{technology_id_or_fuzzy_name}/technology_detections","method":"GET","query":{"page":"<integer>","first_seen_at_from":"<string>","first_seen_at_until":"<string>","last_seen_at_from":"<string>","last_seen_at_until":"<string>","limit":"<integer>"}}'
```

### Discover Startup Platform Posts

Discover posts from startup platforms (Product Hunt, Hacker News, etc.)

`GET /v3/discover/startup_platform_posts`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No |  |
| `limit` | integer | No |  |
| `post_types` | string | No |  |
| `published_at_from` | string | No |  |
| `published_at_until` | string | No |  |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"predictleads","path":"/v3/discover/startup_platform_posts","method":"GET","query":{"page":"<integer>","limit":"<integer>","post_types":"<string>","published_at_from":"<string>","published_at_until":"<string>"}}'
```

### Company News Events

Get news events for a specific company

`GET /v3/companies/{company_id_or_domain}/news_events`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_id_or_domain` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `page` | integer | No |  |
| `categories` | string | No |  |
| `found_at_from` | string | No |  |
| `found_at_until` | string | No |  |
| `limit` | integer | No |  |

```bash
# Replace {company_id_or_domain} 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":"predictleads","path":"/v3/companies/{company_id_or_domain}/news_events","method":"GET","query":{"page":"<integer>","categories":"<string>","found_at_from":"<string>","found_at_until":"<string>","limit":"<integer>"}}'
```

### Discover News Events

Search and filter news events across all companies

`GET /v3/discover/news_events`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No |  |
| `categories` | string | No |  |
| `company_location` | string | No |  |
| `limit` | integer | No |  |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"predictleads","path":"/v3/discover/news_events","method":"GET","query":{"page":"<integer>","categories":"<string>","company_location":"<string>","limit":"<integer>"}}'
```

### Company Financing Events

Get financing/funding events for a specific company

`GET /v3/companies/{company_id_or_domain}/financing_events`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_id_or_domain` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `page` | integer | No |  |
| `first_seen_at_from` | string | No |  |
| `first_seen_at_until` | string | No |  |
| `limit` | integer | No |  |

```bash
# Replace {company_id_or_domain} 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":"predictleads","path":"/v3/companies/{company_id_or_domain}/financing_events","method":"GET","query":{"page":"<integer>","first_seen_at_from":"<string>","first_seen_at_until":"<string>","limit":"<integer>"}}'
```

### Company Job Openings

Get job openings for a specific company

`GET /v3/companies/{company_id_or_domain}/job_openings`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_id_or_domain` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `page` | integer | No |  |
| `active_only` | boolean | No |  |
| `categories` | string | No |  |
| `first_seen_at_from` | string | No |  |
| `first_seen_at_until` | string | No |  |
| `last_seen_at_from` | string | No |  |
| `last_seen_at_until` | string | No |  |
| `limit` | integer | No |  |
| `not_closed` | boolean | No |  |
| `with_description_only` | boolean | No |  |
| `with_location_only` | boolean | No |  |

```bash
# Replace {company_id_or_domain} 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":"predictleads","path":"/v3/companies/{company_id_or_domain}/job_openings","method":"GET","query":{"page":"<integer>","active_only":"<boolean>","categories":"<string>","first_seen_at_from":"<string>","first_seen_at_until":"<string>","last_seen_at_from":"<string>","last_seen_at_until":"<string>","limit":"<integer>","not_closed":"<boolean>","with_description_only":"<boolean>","with_location_only":"<boolean>"}}'
```

### Company Connections

Get business connections for a specific company

`GET /v3/companies/{company_id_or_domain}/connections`

**Estimated cost:** $0.04

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_id_or_domain` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |
| `page` | integer | No |  |
| `categories` | string | No |  |
| `first_seen_at_from` | string | No |  |
| `first_seen_at_until` | string | No |  |
| `limit` | integer | No |  |

```bash
# Replace {company_id_or_domain} 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":"predictleads","path":"/v3/companies/{company_id_or_domain}/connections","method":"GET","query":{"page":"<integer>","categories":"<string>","first_seen_at_from":"<string>","first_seen_at_until":"<string>","limit":"<integer>"}}'
```

---

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