# Glassdoor Company Profile (`schesds/glassdoor-company-profile-graph`) Actor

Fast, low-cost Glassdoor company profile enrichment from Glassdoor employer IDs or company URLs. Extracts structured profile facts, ratings, CEO fields, review/salary counts, and canonical URLs.

- **URL**: https://apify.com/schesds/glassdoor-company-profile-graph.md
- **Developed by:** [Tedd Shesden](https://apify.com/schesds) (community)
- **Categories:** Business, Jobs
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$0.35 / 1,000 company profiles

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Glassdoor Company Profile

Glassdoor Company Profile enriches company lists with structured Glassdoor profile data. Provide Glassdoor employer IDs or direct Glassdoor company URLs, and get clean records with company facts, ratings, review counts, salary counts, CEO information, canonical URLs, and match confidence.

It is built for fast, low-cost company profile enrichment at scale. The public form is intentionally ID/URL-first because direct Glassdoor identifiers are faster, cheaper, and less ambiguous than name search.

### What can you use it for?

- Enrich company, account, portfolio, or market-map datasets with Glassdoor profile data.
- Compare employer reputation signals such as ratings, review counts, salary counts, and CEO approval fields.
- Prepare a clean company list before running a deeper employee reviews scraper.
- Build repeatable company intelligence workflows through the Apify API, schedules, webhooks, or dataset exports.

### What data does it extract?

The main output is one `company_profile` record per matched company. Depending on what Glassdoor exposes for a company, the profile can include:

- Glassdoor employer ID
- Company name and short name
- Glassdoor overview and reviews URLs
- Website
- Headquarters
- Industry and sector
- Company size
- Revenue range
- Year founded
- Logo URL
- Review count
- Salary count
- Overall rating and subratings
- CEO name, title, photo URL, and approval fields

When a company cannot be safely matched or extracted, the Actor emits a `scrape_error` row instead of a profile row. Error rows include the input company, failure stage, message, and retry guidance.

Successful `company_profile` rows include match fields such as `matchedName`, `glassdoorEmployerId`, `confidence`, `overviewUrl`, and `reviewsUrl`, so you do not need to join them with a separate resolution table.

Some Glassdoor profile fields are not available for every employer. Fields such as `description`, `mission`, or `coverPhotoUrl` may be missing because they are not consistently exposed by Glassdoor's profile data.

### Input

Add one item per line in the form. You can paste large lists with Bulk edit.

Each item can be:

- a Glassdoor employer ID, for example `1138`
- a direct Glassdoor overview or reviews URL
- a company name as a fallback, when you do not have an ID or URL

Example input:

```json
{
  "companies": [
    "1138",
    "https://www.glassdoor.com/Reviews/Microsoft-Reviews-E1651.htm"
  ]
}
````

Tips for better matching:

- Prefer `employerId` when available.
- Use a direct Glassdoor overview or reviews URL when you do not know the employer ID.
- Company names are accepted as a fallback, but resolving names to Glassdoor URLs or employer IDs first gives better speed and accuracy.

### Output

Results are stored in the run's default dataset. You can view them in Apify Console and export them as JSON, CSV, Excel, XML, or HTML.

Example `company_profile` record:

```json
{
  "recordType": "company_profile",
  "inputId": "aapl",
  "inputName": "Apple Inc.",
  "companyName": "Apple",
  "glassdoorEmployerId": "1138",
  "overviewUrl": "https://www.glassdoor.com/Overview/Working-at-Apple-EI_IE1138.11,16.htm",
  "reviewsUrl": "https://www.glassdoor.com/Reviews/Apple-Reviews-E1138.htm",
  "website": "https://www.apple.com",
  "headquarters": "Cupertino, CA",
  "primaryIndustry": "Computer Hardware Development",
  "size": "10000+ Employees",
  "revenue": "$10+ billion (USD)",
  "reviewCount": 45000,
  "salaryCount": 120000,
  "overallRating": 4.1,
  "cultureAndValuesRating": 4.2,
  "workLifeBalanceRating": 3.8,
  "compensationAndBenefitsRating": 4.3,
  "careerOpportunitiesRating": 3.9,
  "seniorManagementRating": 3.6,
  "diversityAndInclusionRating": 4.2,
  "recommendToFriendRating": 0.8,
  "ceoRating": 0.92,
  "ceoName": "Tim Cook",
  "scrapedAt": "2026-06-17T00:00:00.000Z"
}
```

### How to run it

1. Open the Actor in Apify Console.
2. Add one Glassdoor employer ID or company URL per line.
3. Start the run.
4. Review `company_profile` rows and any `scrape_error` rows.
5. Export the dataset.

For large lists, run a small sample first and confirm that the matched companies are correct before scaling the job.

### Pricing

This Actor uses pay-per-event pricing. It charges once for each delivered `company_profile` record. The current public price is shown in the Apify Store pricing header.

### Notes and limitations

- This Actor extracts company profile data, not deep employee review pagination.
- A separate reviews Actor is recommended for employee review text, keyword filters, role filters, location filters, and review history.
- Company matching is conservative. Ambiguous matches are surfaced as `scrape_error` rows instead of silently forcing a low-confidence result.
- Output fields can be null when Glassdoor does not expose a value for a company.
- This Actor is not affiliated with, endorsed by, or sponsored by Glassdoor. Use the extracted data responsibly and make sure your use case complies with applicable laws and platform terms.

# Actor input Schema

## `companies` (type: `array`):

Add one Glassdoor employer ID or company URL per line. Use Bulk edit to paste large lists. Company names are accepted as a fallback, but IDs or direct URLs are faster and more accurate.

## `groups` (type: `array`):

Advanced JSON/API fallback only. Optional user-defined groups for internal batch analysis.

## `matching` (type: `object`):

Advanced company resolution controls.

## `requestStrategy` (type: `object`):

Advanced live request controls for proxy/session and Graph request behavior.

## `sourceMode` (type: `string`):

Use LIVE for real Glassdoor data.

## `proxyConfiguration` (type: `object`):

Apify proxy configuration used by live runs.

## `includeResolutionRecords` (type: `boolean`):

Advanced diagnostics only. When enabled, the dataset also includes company\_resolution records in addition to the main company\_profile rows.

## Actor input object example

```json
{
  "companies": [
    "1138",
    "https://www.glassdoor.com/Reviews/Microsoft-Reviews-E1651.htm"
  ],
  "groups": [],
  "matching": {
    "autoResolve": true,
    "requireConfidenceAbove": 0.85,
    "returnAlternatives": true,
    "allowLowConfidenceScrape": false
  },
  "requestStrategy": {
    "maxConcurrentCompanies": 1,
    "companyProfileSource": "GRAPH_ONLY",
    "useProxy": true,
    "proxySessionMode": "PER_REQUEST",
    "graphRequestTimeoutMillis": 25000,
    "graphMaxRequestRetries": 2,
    "retryIncompleteProfilesWithProxy": false,
    "retryIncompleteProfilesMaxConcurrentCompanies": 10
  },
  "sourceMode": "LIVE",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  },
  "includeResolutionRecords": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companies": [
        "1138",
        "https://www.glassdoor.com/Reviews/Microsoft-Reviews-E1651.htm"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("schesds/glassdoor-company-profile-graph").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "companies": [
        "1138",
        "https://www.glassdoor.com/Reviews/Microsoft-Reviews-E1651.htm",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("schesds/glassdoor-company-profile-graph").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companies": [
    "1138",
    "https://www.glassdoor.com/Reviews/Microsoft-Reviews-E1651.htm"
  ]
}' |
apify call schesds/glassdoor-company-profile-graph --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=schesds/glassdoor-company-profile-graph",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Glassdoor Company Profile",
        "description": "Fast, low-cost Glassdoor company profile enrichment from Glassdoor employer IDs or company URLs. Extracts structured profile facts, ratings, CEO fields, review/salary counts, and canonical URLs.",
        "version": "0.1",
        "x-build-id": "ZohX49MK8eEMEfm5B"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/schesds~glassdoor-company-profile-graph/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-schesds-glassdoor-company-profile-graph",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/schesds~glassdoor-company-profile-graph/runs": {
            "post": {
                "operationId": "runs-sync-schesds-glassdoor-company-profile-graph",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/schesds~glassdoor-company-profile-graph/run-sync": {
            "post": {
                "operationId": "run-sync-schesds-glassdoor-company-profile-graph",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "companies"
                ],
                "properties": {
                    "companies": {
                        "title": "Glassdoor company URLs or employer IDs",
                        "minItems": 1,
                        "type": "array",
                        "description": "Add one Glassdoor employer ID or company URL per line. Use Bulk edit to paste large lists. Company names are accepted as a fallback, but IDs or direct URLs are faster and more accurate.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "groups": {
                        "title": "Groups",
                        "type": "array",
                        "description": "Advanced JSON/API fallback only. Optional user-defined groups for internal batch analysis.",
                        "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "id": {
                                    "title": "Group ID",
                                    "description": "Group ID used by companies.",
                                    "type": "string",
                                    "editor": "textfield"
                                },
                                "name": {
                                    "title": "Group name",
                                    "description": "Human-readable group name.",
                                    "type": "string",
                                    "editor": "textfield"
                                }
                            },
                            "required": [
                                "id",
                                "name"
                            ]
                        },
                        "default": []
                    },
                    "matching": {
                        "title": "Matching",
                        "type": "object",
                        "description": "Advanced company resolution controls.",
                        "default": {
                            "autoResolve": true,
                            "requireConfidenceAbove": 0.85,
                            "returnAlternatives": true,
                            "allowLowConfidenceScrape": false
                        }
                    },
                    "requestStrategy": {
                        "title": "Request strategy",
                        "type": "object",
                        "description": "Advanced live request controls for proxy/session and Graph request behavior.",
                        "default": {
                            "maxConcurrentCompanies": 1,
                            "companyProfileSource": "GRAPH_ONLY",
                            "useProxy": true,
                            "proxySessionMode": "PER_REQUEST",
                            "graphRequestTimeoutMillis": 25000,
                            "graphMaxRequestRetries": 2,
                            "retryIncompleteProfilesWithProxy": false,
                            "retryIncompleteProfilesMaxConcurrentCompanies": 10
                        }
                    },
                    "sourceMode": {
                        "title": "Source mode",
                        "type": "string",
                        "description": "Use LIVE for real Glassdoor data.",
                        "default": "LIVE"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy configuration used by live runs.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    },
                    "includeResolutionRecords": {
                        "title": "Include resolution records",
                        "type": "boolean",
                        "description": "Advanced diagnostics only. When enabled, the dataset also includes company_resolution records in addition to the main company_profile rows.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
