Company API
Find Companies
Search companies with industry, location, size, funding, and hiring filters. Metering matches the Position API: one credit per returned row, with same-day replays of the same company free.
This is distinct from GET /companies/search, which is a free name/domain lookup.
POST https://api.theorg.com/v1.1/companies| Parameter | Value |
|---|---|
| Url | https://api.theorg.com/v1.1/companies  |
| Method | POST |
| Body | Request body |
| Cost | One credit pr. returned row |
| Result sorting | Highest company score first |
POST /v1.1/prospect/companies is an alias for the same endpoint.
Request body
| Parameter | Type | Description | Required |
|---|---|---|---|
limit | integer | The maximum number of results to return (max: 1000) | true |
offset | integer | The offset of the results (max: 10,000) | true |
filters | object | true | |
filters.companyIds | array of strings | Company IDs (UUIDs) | false |
filters.companyDomains | array | Company website or email domains | false |
filters.keywords | array | Keywords matched against company name and domains | false |
filters.companyName | array | Company names | false |
filters.industries | array of Industry | Industries to search for | false |
filters.locations | array | HQ locations with country and optional state | false |
filters.locations.country | string | Two-letter country code (ISO 3166-1 alpha-2) | true |
filters.locations.state | string | Either two letter code or plain text | false |
filters.regions | array of europe, north_america, other | Company HQ regions | false |
filters.employeeRanges | array of EmployeeRange | Company size ranges | false |
filters.companyLegalStatuses | array of LegalStatus | Legal statuses of companies | false |
filters.latestFundingStages | array of FundingStage | Latest funding stages | false |
filters.isHiring | boolean | Whether the company currently has open jobs | false |
Example
Return hiring SaaS companies in the United States with 50–200 employees:
curl --location 'https://api.theorg.com/v1.1/companies' \
--header 'X-Api-Key: **********************a02e' \
--header 'Content-Type: application/json' \
--data '{
"limit": 1,
"offset": 0,
"filters": {
"isHiring": true,
"employeeRanges": ["50-200"],
"locations": [{ "country": "US" }]
}
}'Show response
{
"data": {
"items": [
{
"id": "5a8fbc82-c357-11e7-abc4-cec278b6b50a",
"slug": "the-org",
"name": "The Org",
"logoUrl": "https://cdb.theorg.com/1243da72-2ea0-4425-bc87-febd505d1528.jpg",
"domains": ["theorg.com"],
"industries": ["professional_networking"],
"legalStatus": "company",
"employeeRange": "50-200",
"latestFundingStage": "series_a",
"linkedInUrl": "https://www.linkedin.com/company/theorg",
"websiteUrl": "https://theorg.com",
"url": "https://theorg.com/org/the-org",
"embedUrl": "https://theorg.com/embeds/org-chart/...",
"location": {
"country": "US",
"state": "NY",
"city": "New York",
"street": null,
"postalCode": null
},
"isHiring": true,
"positionCount": 42,
"publishedJobCount": 3,
"followerCount": 1200,
"verified": true
}
],
"totalCreditsUsed": 1,
"totalResults": 214
}
}Credit Check Utility
The company finding endpoint deducts one credit pr. row returned. Use this endpoint to estimate the cost of a search without charging credits.
POST https://api.theorg.com/v1.1/companies/credit-usage| Parameter | Value |
|---|---|
| Url | https://api.theorg.com/v1.1/companies/credit-usage  |
| Method | POST |
| Body | Request body |
| Cost | Free |
POST /v1.1/prospect/companies/credit-usage is an alias for the same endpoint.
Example
curl --location 'https://api.theorg.com/v1.1/companies/credit-usage' \
--header 'X-Api-Key: **********************a02e' \
--header 'Content-Type: application/json' \
--data '{
"limit": 1000,
"offset": 0,
"filters": {
"isHiring": true,
"employeeRanges": ["50-200"],
"locations": [{ "country": "US" }]
}
}'Show response
{
"data": {
"creditCost": 214,
"remainingCredits": 100
}
}A specific row can be returned multiple times at no additional cost within 24 hours of the initial return.
Find Org Chart
Returns the full org chart for the company in a flat list as ChartNodes.
GET https://api.theorg.com/v1.2/companies/org-chart| Parameter | Value |
|---|---|
| Url | https://api.theorg.com/v1.2/companies/org-chart  |
| Method | GET |
| Parameters | Query parameters |
| Cost | 10 credits pr. successful request |
The endpoint does not support the unplaced section. Node objects in the response do not include linkedinUrl or workEmail.
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
linkedInUrl | query | LinkedIn company URL or slug | false |
domain | query | Company website or email domain | false |
section | query | Section to filter by: orgChart or board. Defaults to orgChart. | false |
Nodes can be enriched by their id using the Position API. Use the node id (e.g. p-47185) to fetch full position details including contact information such as linkedinUrl and workEmail.
Example
curl --location 'https://api.theorg.com/v1.2/companies/org-chart?domain=theorg.com' \
--header 'X-Api-Key: **********************a02e'Show response
{
"data": [
{
"id": "p-12287726",
"jobId": "6e2407a1-7a26-443e-8762-1cde48daf8a9",
"jobTitle": "Tell Us Your Dream Job",
"managerId": "p-47185",
"nodeType": "job",
"section": "orgChart"
},
{
"id": "p-47185",
"positionId": 47185,
"fullName": "Christian Wylonis",
"title": "CEO & co-Founder",
"managerId": null,
"nodeType": "position",
"section": "orgChart"
},
{
"id": "p-2",
"positionId": 2,
"fullName": "Andreas Jarbol",
"title": "CTO & co-Founder",
"managerId": "p-47185",
"nodeType": "position",
"section": "orgChart"
}
]
}Find Executives
Returns the top of the org chart: level-1 nodes, their direct reports (level 2), and the board. This is the same slice as the MCP get_company_executive_positions preview. Nodes are ChartNodes — the same model as Find Org Chart. A node can be a person, a job, or a co-manager group.
GET https://api.theorg.com/v1.2/companies/org-chart/executives| Parameter | Value |
|---|---|
| Url | https://api.theorg.com/v1.2/companies/org-chart/executives  |
| Method | GET |
| Parameters | Query parameters |
| Cost | 1 credit per successful request |
The node objects do not include linkedinUrl or workEmail. Enrich a node by its id with the Position API.
An unknown company is not charged. Repeating a successful call is charged again.
Parameters
Identify the company with one of the following. When more than one is sent, companyId is used.
| Parameter | Type | Description | Required |
|---|---|---|---|
companyId | query | Company UUID from company search | false |
linkedInUrl | query | LinkedIn company URL or slug | false |
domain | query | Company website or email domain | false |
Example
curl --location 'https://api.theorg.com/v1.2/companies/org-chart/executives?domain=theorg.com' \
--header 'X-Api-Key: **********************a02e'Show response
{
"data": {
"l1": [
{
"id": "p-47185",
"positionId": 47185,
"fullName": "Christian Wylonis",
"title": "CEO & co-Founder",
"managerId": null,
"nodeType": "position",
"section": "orgChart"
}
],
"l2": [
{
"id": "p-2",
"positionId": 2,
"fullName": "Andreas Jarbol",
"title": "CTO & co-Founder",
"managerId": "p-47185",
"nodeType": "position",
"section": "orgChart"
}
],
"advisers": []
}
}Find Reports
Returns the direct reports of one chart node. Pass parentId, the chart node id from Find Executives or Find Org Chart (p-… for a person or job, g-… for a co-manager group). This is the same walk as the MCP get_company_position_reports tool. Reports are ChartNodes.
GET https://api.theorg.com/v1.2/companies/org-chart/reports| Parameter | Value |
|---|---|
| Url | https://api.theorg.com/v1.2/companies/org-chart/reports  |
| Method | GET |
| Parameters | Query parameters |
| Cost | 1 credit per successful request |
At most 50 reports are returned per call. totalReports is the full count, and hasMore is true when another page remains. An unknown company or parent is not charged. Each page, and each repeat of the same page, costs 1 credit.
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
parentId | query | Chart node id of the manager (p-… or g-…) | true |
companyId | query | Company UUID. Used when more than one company identifier is sent | false |
linkedInUrl | query | LinkedIn company URL or slug | false |
domain | query | Company website or email domain | false |
limit | query | Page size. Default 50, maximum 50 | false |
offset | query | Number of reports to skip. Default 0 | false |
One of companyId, linkedInUrl, or domain is required.
Example
curl --location 'https://api.theorg.com/v1.2/companies/org-chart/reports?domain=theorg.com&parentId=p-47185' \
--header 'X-Api-Key: **********************a02e'Show response
{
"data": {
"node": {
"id": "p-47185",
"positionId": 47185,
"fullName": "Christian Wylonis",
"title": "CEO & co-Founder",
"managerId": null,
"nodeType": "position",
"section": "orgChart"
},
"reports": [
{
"id": "p-2",
"positionId": 2,
"fullName": "Andreas Jarbol",
"title": "CTO & co-Founder",
"managerId": "p-47185",
"nodeType": "position",
"section": "orgChart"
}
],
"totalReports": 1,
"limit": 50,
"offset": 0,
"hasMore": false
}
}Find Manager
Returns the manager of a position in the org chart.
GET https://api.theorg.com/v1.1/companies/org-chart/managers| Parameter | Value |
|---|---|
| Url | https://api.theorg.com/v1.1/companies/org-chart/managers  |
| Method | GET |
| Parameters | Query parameters |
| Cost | 1 credit per successful find |
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
email | query | Email address of the person | false |
linkedInUrl | query | LinkedIn profile URL | false |
Examples
curl --location 'https://api.theorg.com/v1.1/companies/org-chart/managers?email=andreas@theorg.com' \
--header 'X-Api-Key: **********************a02e'Show response
{
"data": {
"position": {
"id": "p-2",
"positionId": 2,
"fullName": "Andreas Jarbol",
"title": "CTO & co-Founder",
"linkedInUrl": "https://linkedin.com/in/ajarbol",
"workEmail": "andreas@theorg.com",
"nodeType": "position",
"section": "orgChart"
},
"manager": {
"id": "p-47185",
"positionId": 47185,
"fullName": "Christian Wylonis",
"title": "CEO & co-Founder",
"linkedInUrl": "https://linkedin.com/in/christianwylonis/",
"workEmail": "christian@theorg.com",
"nodeType": "position",
"section": "orgChart"
}
}
}curl --location 'https://api.theorg.com/v1.1/companies/org-chart/managers?email=dhyman@netflix.com' \
--header 'X-Api-Key: **********************a02e'Show response
{
"data": {
"position": {
"id": "p-4446",
"positionId": 4446,
"fullName": "David Hyman",
"title": "Chief Legal Officer",
"workEmail": "dhyman@netflix.com",
"linkedInUrl": "https://www.linkedin.com/in/dhymansf/",
"nodeType": "position",
"section": "orgChart"
},
"manager": {
"id": "g-12403",
"name": "Co-CEOs",
"members": [
{
"id": "p-4448",
"positionId": 4448,
"fullName": "Ted Sarandos",
"title": "Co-CEO",
"workEmail": "tsarandos@netflix.com",
"linkedInUrl": "https://www.linkedin.com/in/tedsarandos",
"nodeType": "position",
"section": "orgChart"
},
{
"id": "p-4448",
"positionId": 4448,
"fullName": "Greg Peters",
"title": "Co-CEO",
"workEmail": "gpeters@netflix.com",
"linkedInUrl": "https://linkedin.com/in/petersgreg",
"nodeType": "position",
"section": "orgChart"
}
],
"nodeType": "coManager"
}
}
}