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

Business data intelligence platform providing company, employee, and job data from multiple sources. Access 3B+ regularly updated records via simple filters and data collection endpoints.

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

### Employee Posts Search (Filter)

Search for professional network posts using filters like author profile URL or keywords. Pass filters in the request body (not a post URL). Returns an array of numeric post IDs (e.g., ["7431869637207928834", ...]). Use these IDs with the 'Employee Posts Collect' endpoint to get full post content.

`POST /v2/employee_post/search/filter`

**Estimated cost:** $0.021

**Docs:** https://docs.coresignal.com/employee-api/employee-posts-api

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `author_profile_url` | string | No | Professional network profile URL of the post author |
| `article_body` | string | No | Keywords to search within post content (e.g., 'artificial intelligence', 'hiring') |
| `date_published_gte` | string | No | Posts published on or after this date, format YYYY-MM-DD (e.g., '2025-01-01') |
| `date_published_lte` | string | No | Posts published on or before this date, format YYYY-MM-DD (e.g., '2025-12-31') |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"coresignal","path":"/v2/employee_post/search/filter","body":{"author_profile_url":"<string>","article_body":"<string>","date_published_gte":"<string>","date_published_lte":"<string>"}}'
```

### Clean Employee Collect

Get a cleaned, deduplicated employee profile by its Coresignal numeric ID. Use IDs returned by the search endpoints. Returns normalized professional data including name, headline, location, work experience, education, and skills.

`GET /v2/employee_clean/collect/{employee_id}`

**Estimated cost:** $0.042

**Docs:** https://docs.coresignal.com/employee-api/clean-employee-api

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

```bash
# Replace {employee_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":"coresignal","path":"/v2/employee_clean/collect/{employee_id}","method":"GET"}'
```

### Clean Company Enrich

Look up a company by its website domain and get a full cleaned company profile. This is the easiest way to get company data if you know the company's website. Returns deduplicated, normalized data including name, industry, size, location, social URLs, and technology stack.

`GET /v2/company_clean/enrich`

**Estimated cost:** $0.042

**Docs:** https://docs.coresignal.com/company-api/clean-company-api

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `website` | string | Yes | Company website domain (e.g., 'stripe.com', 'google.com'). Do not include https:// prefix. |

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

### Clean Company Collect

Get a cleaned, deduplicated company profile by its Coresignal numeric ID. Use IDs returned by the search endpoints or look up by website using the 'Clean Company Enrich' endpoint. Returns normalized company data including name, website, industry, size, location, social URLs, and technology stack.

`GET /v2/company_clean/collect/{company_id}`

**Estimated cost:** $0.042

**Docs:** https://docs.coresignal.com/company-api/clean-company-api

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

```bash
# Replace {company_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":"coresignal","path":"/v2/company_clean/collect/{company_id}","method":"GET"}'
```

### Multi-source Company Collect by ID

Get the most comprehensive company profile by its Coresignal numeric ID. Multi-source data is aggregated from professional networks, business databases, and other sources. Use IDs returned by the search endpoints or look up by website using the 'Multi-source Company Enrich' endpoint. Returns company name, website, industry, size, funding, social URLs, and more.

`GET /v2/company_multi_source/collect/{company_id}`

**Estimated cost:** $0.084

**Docs:** https://docs.coresignal.com/company-api/multi-source-company-api

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

```bash
# Replace {company_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":"coresignal","path":"/v2/company_multi_source/collect/{company_id}","method":"GET"}'
```

### Multi-source Company Collect by URL

Get a comprehensive multi-source company profile by its professional network URL. Pass the URL-encoded company page URL in the path. Returns the same data as collecting by ID.

`GET /v2/company_multi_source/collect/{profile_url}`

**Estimated cost:** $0.084

**Docs:** https://docs.coresignal.com/company-api/multi-source-company-api

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

```bash
# Replace {profile_url} 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":"coresignal","path":"/v2/company_multi_source/collect/{profile_url}","method":"GET"}'
```

### Multi-source Employee Collect by ID

Get the most comprehensive employee profile by its Coresignal numeric ID. Multi-source data is aggregated from multiple platforms. Use IDs returned by the search endpoints. Returns name, headline, location, full work experience history, education, skills, social URLs, and more.

`GET /v2/employee_multi_source/collect/{employee_id}`

**Estimated cost:** $0.084

**Docs:** https://docs.coresignal.com/employee-api/multi-source-employee-api

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

```bash
# Replace {employee_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":"coresignal","path":"/v2/employee_multi_source/collect/{employee_id}","method":"GET"}'
```

### Employee Posts Collect

Get a full professional network post by its numeric post ID. Use IDs returned by the 'Employee Posts Search (Filter)' endpoint (not a post URL or requestId). Returns the post author name, author profile URL, full post content, publish date, and engagement data.

`GET /v2/employee_post/collect/{post_id}`

**Estimated cost:** $0.042

**Docs:** https://docs.coresignal.com/employee-api/employee-posts-api

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

```bash
# Replace {post_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":"coresignal","path":"/v2/employee_post/collect/{post_id}","method":"GET"}'
```

### Base Employee Search (Filter) Preview

Preview employee search results with summary data. Pass filters in the request body. Returns matching professionals with key fields: id, full_name, headline, location, company, title, and relevance score. Use the 'id' field with the 'Base Employee Collect by ID' endpoint to get full profiles.

`POST /v2/employee_base/search/filter/preview`

**Estimated cost:** $0.021

**Docs:** https://docs.coresignal.com/employee-api/base-employee-api

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `full_name` | string | No | Full name of the person (e.g., 'Sundar Pichai') |
| `headline` | string | No | Professional headline or current job title (e.g., 'CEO') |
| `location` | string | No | Location (e.g., 'San Francisco') |
| `industry` | string | No | Industry (e.g., 'Software Development') |
| `skill` | string | No | Professional skill (e.g., 'Python', 'Machine Learning') |
| `country` | string | No | Country name (e.g., 'United States') |
| `experience_title` | string | No | Job title from work experience (e.g., 'Senior Engineer') |
| `experience_company_name` | string | No | Company name from work experience (e.g., 'Google') |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"coresignal","path":"/v2/employee_base/search/filter/preview","body":{"full_name":"<string>","headline":"<string>","location":"<string>","industry":"<string>","skill":"<string>","country":"<string>","experience_title":"<string>","experience_company_name":"<string>"}}'
```

### Base Jobs Search (Filter)

Search for job listings using filters passed in the request body. Returns an array of numeric Coresignal job IDs (e.g., [406480270, 405917646, ...]). Use these IDs with the 'Base Jobs Collect' endpoint to get full job details. All filters are optional; combine to narrow results.

`POST /v2/job_base/search/filter`

**Estimated cost:** $0.021

**Docs:** https://docs.coresignal.com/jobs-api/base-jobs-api

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `title` | string | No | Job title to search for (e.g., 'Software Engineer', 'Product Manager') |
| `location` | string | No | Job location (e.g., 'San Francisco, CA', 'Remote') |
| `country` | string | No | Country name (e.g., 'United States', 'Germany') |
| `employment_type` | string | No | Employment type: 'Full-time', 'Part-time', 'Contract', 'Temporary', 'Internship' |
| `company_domain` | string | No | Company website domain (e.g., 'google.com', 'stripe.com') |
| `created_at_gte` | string | No | Jobs created on or after this date, format YYYY-MM-DD (e.g., '2025-01-01') |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"coresignal","path":"/v2/job_base/search/filter","body":{"title":"<string>","location":"<string>","country":"<string>","employment_type":"<string>","company_domain":"<string>","created_at_gte":"<string>"}}'
```

### Base Jobs Search (Filter) Preview

Preview job search results with summary data. Pass filters in the request body. Returns matching jobs with key fields: id, title, location, company_name, posting date, and relevance score. Use the 'id' field with the 'Base Jobs Collect' endpoint to get full job details.

`POST /v2/job_base/search/filter/preview`

**Estimated cost:** $0.021

**Docs:** https://docs.coresignal.com/jobs-api/base-jobs-api

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `title` | string | No | Job title to search for (e.g., 'Software Engineer', 'Product Manager') |
| `location` | string | No | Job location (e.g., 'San Francisco, CA', 'Remote') |
| `country` | string | No | Country name (e.g., 'United States') |
| `employment_type` | string | No | Employment type: 'Full-time', 'Part-time', 'Contract', 'Temporary', 'Internship' |
| `company_domain` | string | No | Company website domain (e.g., 'google.com') |
| `created_at_gte` | string | No | Jobs created on or after this date, format YYYY-MM-DD (e.g., '2025-01-01') |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"coresignal","path":"/v2/job_base/search/filter/preview","body":{"title":"<string>","location":"<string>","country":"<string>","employment_type":"<string>","company_domain":"<string>","created_at_gte":"<string>"}}'
```

### Multi-source Employee Collect by URL

Get a comprehensive multi-source employee profile by their professional network URL. Pass the URL-encoded profile URL in the path. This is the easiest way to get the richest data on a person.

`GET /v2/employee_multi_source/collect/{profile_url}`

**Estimated cost:** $0.084

**Docs:** https://docs.coresignal.com/employee-api/multi-source-employee-api

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

```bash
# Replace {profile_url} 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":"coresignal","path":"/v2/employee_multi_source/collect/{profile_url}","method":"GET"}'
```

### Base Employee Collect by URL

Get a full employee profile by their professional network URL. Pass the URL-encoded profile URL in the path. Returns the same data as collecting by ID. This is the easiest way to look up a person if you have their profile URL.

`GET /v2/employee_base/collect/{profile_url}`

**Estimated cost:** $0.042

**Docs:** https://docs.coresignal.com/employee-api/base-employee-api

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

```bash
# Replace {profile_url} 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":"coresignal","path":"/v2/employee_base/collect/{profile_url}","method":"GET"}'
```

### Base Company Search (Filter)

Search for companies using filters passed in the request body. Returns an array of numeric Coresignal company IDs (e.g., [4744382, 1635599, ...]). Use these IDs with the 'Base Company Collect' endpoint to get full company profiles. All filters are optional; combine any number of them to narrow results.

`POST /v2/company_base/search/filter`

**Estimated cost:** $0.021

**Docs:** https://docs.coresignal.com/company-api/base-company-api

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | No | Company name to search for (e.g., 'Google', 'Stripe') |
| `website` | string | No | Company website domain (e.g., 'google.com', 'stripe.com') |
| `industry` | string | No | Industry filter (e.g., 'Software Development', 'Financial Services', 'Technology, Information and Internet') |
| `country` | string | No | Country name (e.g., 'United States', 'United Kingdom', 'Germany') |
| `employees_count_gte` | number | No | Minimum number of employees (e.g., 100) |
| `employees_count_lte` | number | No | Maximum number of employees (e.g., 5000) |
| `founded_year_gte` | number | No | Minimum founding year (e.g., 2010) |
| `founded_year_lte` | number | No | Maximum founding year (e.g., 2024) |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"coresignal","path":"/v2/company_base/search/filter","body":{"name":"<string>","website":"<string>","industry":"<string>","country":"<string>","employees_count_gte":"<number>","employees_count_lte":"<number>","founded_year_gte":"<number>","founded_year_lte":"<number>"}}'
```

### Base Employee Collect by ID

Get a full employee/professional profile by its Coresignal numeric ID. Use IDs returned by the 'Base Employee Search (Filter)' or Preview endpoints. Returns professional data including name, headline, location, work experience history, education, skills, and connections count.

`GET /v2/employee_base/collect/{employee_id}`

**Estimated cost:** $0.042

**Docs:** https://docs.coresignal.com/employee-api/base-employee-api

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

```bash
# Replace {employee_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":"coresignal","path":"/v2/employee_base/collect/{employee_id}","method":"GET"}'
```

### Base Jobs Collect

Get a full job listing by its Coresignal numeric ID. Use IDs returned by the 'Base Jobs Search (Filter)' or Preview endpoints. Returns job title, full description, company name, location, employment type, posting date, and application URL.

`GET /v2/job_base/collect/{job_id}`

**Estimated cost:** $0.042

**Docs:** https://docs.coresignal.com/jobs-api/base-jobs-api

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

```bash
# Replace {job_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":"coresignal","path":"/v2/job_base/collect/{job_id}","method":"GET"}'
```

### Base Company Collect

Get a full company profile by its Coresignal numeric ID. Use IDs returned by the 'Base Company Search (Filter)' or 'Base Company Search (Filter) Preview' endpoints. Returns company data including name, website, industry, size, description, specialties, headquarters location, and follower count.

`GET /v2/company_base/collect/{company_id}`

**Estimated cost:** $0.042

**Docs:** https://docs.coresignal.com/company-api/base-company-api

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

```bash
# Replace {company_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":"coresignal","path":"/v2/company_base/collect/{company_id}","method":"GET"}'
```

### Base Employee Search (Filter)

Search for professionals/employees using filters passed in the request body. Returns an array of numeric Coresignal employee IDs (e.g., [374311229, 958490751, ...]). Use these IDs with the 'Base Employee Collect by ID' endpoint to get full profiles. All filters are optional; combine any number of them to narrow results.

`POST /v2/employee_base/search/filter`

**Estimated cost:** $0.021

**Docs:** https://docs.coresignal.com/employee-api/base-employee-api

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `full_name` | string | No | Full name of the person (e.g., 'Sundar Pichai') |
| `headline` | string | No | Professional headline or current job title (e.g., 'CEO', 'Software Engineer') |
| `location` | string | No | Location (e.g., 'San Francisco', 'New York, NY') |
| `industry` | string | No | Industry (e.g., 'Software Development', 'Financial Services') |
| `skill` | string | No | Professional skill (e.g., 'Python', 'Machine Learning', 'Product Management') |
| `country` | string | No | Country name (e.g., 'United States', 'India') |
| `experience_title` | string | No | Job title from work experience (e.g., 'Senior Engineer', 'VP of Sales') |
| `experience_company_name` | string | No | Company name from work experience (e.g., 'Google', 'Meta') |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"coresignal","path":"/v2/employee_base/search/filter","body":{"full_name":"<string>","headline":"<string>","location":"<string>","industry":"<string>","skill":"<string>","country":"<string>","experience_title":"<string>","experience_company_name":"<string>"}}'
```

### Multi-source Company Enrich

Look up a company by its website domain and get the most comprehensive company profile. This is the easiest way to get rich company data if you know the company's website. Multi-source data is aggregated from professional networks, business databases, and other sources.

`GET /v2/company_multi_source/enrich`

**Estimated cost:** $0.084

**Docs:** https://docs.coresignal.com/company-api/multi-source-company-api

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `website` | string | Yes | Company website domain (e.g., 'stripe.com', 'google.com'). Do not include https:// prefix. |

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

### Base Company Search (Filter) Preview

Preview company search results with summary data. Pass filters in the request body. Returns matching companies with key fields: id, name, website, industry, size, country, and relevance score. Use the 'id' field with the 'Base Company Collect' endpoint to get full profiles.

`POST /v2/company_base/search/filter/preview`

**Estimated cost:** $0.021

**Docs:** https://docs.coresignal.com/company-api/base-company-api

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | No | Company name to search for (e.g., 'Google', 'Stripe') |
| `website` | string | No | Company website domain (e.g., 'google.com') |
| `industry` | string | No | Industry filter (e.g., 'Software Development') |
| `country` | string | No | Country name (e.g., 'United States') |

```bash
curl -X POST 'https://api.orth.sh/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"coresignal","path":"/v2/company_base/search/filter/preview","body":{"name":"<string>","website":"<string>","industry":"<string>","country":"<string>"}}'
```

### Base Company Collect by URL

Get a full company profile by its professional network URL. Pass the URL-encoded company page URL in the path. Returns the same data as collecting by ID.

`GET /v2/company_base/collect/{profile_url}`

**Estimated cost:** $0.042

**Docs:** https://docs.coresignal.com/company-api/base-company-api

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

```bash
# Replace {profile_url} 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":"coresignal","path":"/v2/company_base/collect/{profile_url}","method":"GET"}'
```

---

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