# People Data Labs — Orthogonal API > Pay-per-use API on Orthogonal. Each call is billed to your Orthogonal balance. > Base API: `https://api.orthogonal.com/v1/run` · [llms.txt](https://orthogonal.com/llms.txt) · [browse all APIs](https://orthogonal.com/discover) Access the world's largest people and company dataset. Enrich, search, and clean person, company, school, location, job title, and IP data. **Verified:** yes ## Access **Run API:** `POST https://api.orthogonal.com/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": "", "data": { ... } }`. ## Endpoints ### Person Identify Broad person lookup returning up to 20 candidate matches with confidence scores. Useful when you have partial info and want multiple possible matches. `GET /v5/person/identify` **Estimated cost:** $0.7 | Field | Type | Required | Description | |-------|------|----------|-------------| | `name` | string | No | Full name | | `first_name` | string | No | First name | | `last_name` | string | No | Last name | | `email` | string | No | Email address | | `phone` | string | No | Phone number | | `lid` | string | No | LinkedIn ID or URL | | `profile` | string | No | Social profile URL | | `company` | string | No | Current company name | | `location` | string | No | Location string | | `pretty` | boolean | No | Pretty print JSON response | ```bash curl -X POST 'https://api.orthogonal.com/v1/run' \ -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"api":"peopledatalabs","path":"/v5/person/identify","method":"GET","query":{"name":"","first_name":"","last_name":"","email":"","phone":"","lid":"","profile":"","company":"","location":"","pretty":""}}' ``` ### IP Enrichment Enrich an IP address with associated company, location, and metadata. `GET /v5/ip/enrich` **Estimated cost:** $0.09 | Field | Type | Required | Description | |-------|------|----------|-------------| | `ip` | string | Yes | IP address to enrich | | `return_if_unmatched` | boolean | No | Return location data even if no company match | | `pretty` | boolean | No | Pretty print JSON response | ```bash curl -X POST 'https://api.orthogonal.com/v1/run' \ -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"api":"peopledatalabs","path":"/v5/ip/enrich","method":"GET","query":{"ip":"","return_if_unmatched":"","pretty":""}}' ``` ### Person Enrichment Enrich a person by name, email, phone, LinkedIn URL, or other identifiers. Returns full profile with work history, education, skills, and social profiles. `GET /v5/person/enrich` **Estimated cost:** $0.35 | Field | Type | Required | Description | |-------|------|----------|-------------| | `name` | string | No | Full name (e.g. Jennifer C. Jackson) | | `first_name` | string | No | First name | | `last_name` | string | No | Last name | | `email` | string | No | Email address | | `phone` | string | No | Phone number | | `lid` | string | No | LinkedIn ID or URL | | `profile` | string | No | Social profile URL | | `company` | string | No | Current company name | | `location` | string | No | Location string | | `min_likelihood` | number | No | Minimum match confidence (1-10, default 2) | | `required` | string | No | Required fields in response (e.g. experience AND emails) | | `pretty` | boolean | No | Pretty print JSON response | ```bash curl -X POST 'https://api.orthogonal.com/v1/run' \ -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"api":"peopledatalabs","path":"/v5/person/enrich","method":"GET","query":{"name":"","first_name":"","last_name":"","email":"","phone":"","lid":"","profile":"","company":"","location":"","min_likelihood":"","required":"","pretty":""}}' ``` ### Company Enrichment Enrich a company by name, website, ticker, or LinkedIn URL. Returns full company profile with industry, size, location, funding, and more. `GET /v5/company/enrich` **Estimated cost:** $0.11 | Field | Type | Required | Description | |-------|------|----------|-------------| | `name` | string | No | Company name | | `website` | string | No | Company website URL | | `ticker` | string | No | Stock ticker symbol | | `profile` | string | No | LinkedIn or other social profile URL | | `location` | string | No | Company HQ location | | `pretty` | boolean | No | Pretty print JSON response | ```bash curl -X POST 'https://api.orthogonal.com/v1/run' \ -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"api":"peopledatalabs","path":"/v5/company/enrich","method":"GET","query":{"name":"","website":"","ticker":"","profile":"","location":"","pretty":""}}' ``` ### Person Search Search and filter people using Elasticsearch or SQL queries. Find people by job title, company, location, skills, education, and more. `POST /v5/person/search` **Estimated cost:** Dynamic — use `"dryRun": true` in the Run API request to check the exact cost before calling. | Field | Type | Required | Description | |-------|------|----------|-------------| | `query` | object | No | Elasticsearch DSL query | | `sql` | string | No | SQL query (alternative to Elasticsearch) | | `size` | number | Yes | Number of results to return (max 100, cost is ) | | `from` | number | No | Offset for pagination | | `scroll_token` | string | No | Pagination token from previous response | | `dataset` | string | No | Dataset to search (all, resume, email, phone, mobile_phone) | | `titlecase` | boolean | No | Title case text fields in response | | `pretty` | boolean | No | Pretty print JSON response | ```bash curl -X POST 'https://api.orthogonal.com/v1/run' \ -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"api":"peopledatalabs","path":"/v5/person/search","query":{"pretty":""},"body":{"query":"","sql":"","size":"","from":"","scroll_token":"","dataset":"","titlecase":""}}' ``` ### Company Search Search and filter companies using Elasticsearch or SQL queries. Find companies by industry, size, location, funding, and more. `POST /v5/company/search` **Estimated cost:** Dynamic — use `"dryRun": true` in the Run API request to check the exact cost before calling. | Field | Type | Required | Description | |-------|------|----------|-------------| | `query` | object | No | Elasticsearch DSL query | | `sql` | string | No | SQL query (alternative to Elasticsearch) | | `size` | number | Yes | Number of results to return (max 100) | | `from` | number | No | Offset for pagination | | `scroll_token` | string | No | Pagination token from previous response | | `titlecase` | boolean | No | Title case text fields in response | | `pretty` | boolean | No | Pretty print JSON response | ```bash curl -X POST 'https://api.orthogonal.com/v1/run' \ -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"api":"peopledatalabs","path":"/v5/company/search","query":{"pretty":""},"body":{"query":"","sql":"","size":"","from":"","scroll_token":"","titlecase":""}}' ``` --- Full details and an interactive quickstart: https://orthogonal.com/discover/peopledatalabs