# Comparably Company Culture, Ratings & CEO Scraper (`scrapersdelight/comparably-scraper`) Actor

Scrape Comparably company profiles into structured rows — culture score (0-100), overall letter grade & percentile, star rating, CEO score, 12 culture-dimension grades, awards, website & phone. Feed URLs or slugs. For GTM, HR-tech & comp benchmarking. No login. Export JSON/CSV.

- **URL**: https://apify.com/scrapersdelight/comparably-scraper.md
- **Developed by:** [Scrapers Delight](https://apify.com/scrapersdelight) (community)
- **Categories:** Automation, Lead generation, Agents
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 per company returneds

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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## 🏢 Comparably Company Culture, Ratings & CEO Scraper

**Turn any Comparably company page into one clean, structured intel record — culture score, overall letter grade, 12 culture-dimension grades, star rating, CEO score, awards, website & phone. Feed URLs or slugs; get flat JSON back.**

> 🕒 Updated: 2026-07-11 · 📊 ~27 fields per company · 🌐 Website + phone + socials · 🧠 Single-fetch structured data · 🚫 No login or API key

Point it at a list of Comparably companies and get a **ready-to-use company-intelligence row** for each — the overall culture score (0-100), letter grade and percentile, the 4.x-star employer rating, the CEO name + CEO approval score, review counts, the full 12-dimension culture breakdown (Compensation, Leadership/Executive Team, Work Culture, eNPS, Perks, Professional Development…), plus firmographics (website, phone, HQ metro, revenue) and social links. Export to JSON, CSV, Excel or Google Sheets, or pull it via API into your data product or CRM.

---

### What it does

- 🎯 **One record per company** — paste company profile URLs (e.g. `https://www.comparably.com/companies/google`) or bare slugs (`google`, `salesforce`, `8th-light`).
- 🅰️ **Culture scores & grades** — overall culture score (0-100), overall letter grade (`A+`…`F`) and percentile band (`Top 10%`).
- 📊 **12-dimension breakdown** — a grade + percentile for CEO Rating, Compensation, Executive Team, Happiness, Meetings, Perks & Benefits, Team, Work Culture, eNPS, Environment, Professional Development and Office Culture.
- ⭐ **Employer star rating & reviews** — the 4.x-star rating and total review/rating counts.
- 👔 **CEO signal** — CEO name, CEO approval score and percentile.
- 🏆 **Awards** — Comparably "Best Company" badges the firm has earned.
- 🌐 **Firmographics** — website, phone, HQ city, revenue, and Twitter/LinkedIn/Facebook links.
- 🧱 **Bulk-friendly** — feed hundreds of companies; budget-aware billing means you only pay for records actually returned.

### 📊 Output — one flat record per company

| Field | Type | Example |
|---|---|---|
| 🏷️ `company_name` | text | `Google` |
| 🔖 `slug` | text | `google` |
| 🌐 `website` | link | `http://www.google.com/` |
| 🅰️ `overall_grade` / `overall_percentile` | text | `A` / `Top 10%` |
| 🧮 `culture_score` | number | `78` |
| ⭐ `star_rating` | number | `4.6` |
| 👔 `ceo_name` / `ceo_score` / `ceo_percentile` | text/number | `Sundar Pichai` / `79` / `Top 5%` |
| 🗣️ `review_count` / `total_ratings` | number | `78638` |
| 📊 `dimensions` | object | `{ "Compensation": {"grade":"A+","percentile":"Top 5%"}, … }` |
| 🏆 `awards` | array | `["Best Company Compensation 2024 (Large Companies)", …]` |
| 🏙️ `hq_city` / `address` / `phone` | text | `San Francisco` / `1600 Amphitheatre Pkwy…` / `1-650-253-0000` |
| 💵 `revenue_usd` | number | `110855000000` |
| 🔗 `twitter` / `linkedin` | link | `https://www.linkedin.com/company/Google` |
| 🔗 `url` | link | `https://www.comparably.com/companies/google` |
| 🕒 `scraped_at` | date | `2026-07-11T…Z` |

<details><summary>🏢 Sample company record</summary>

```json
{
  "company_name": "Google",
  "slug": "google",
  "url": "https://www.comparably.com/companies/google",
  "website": "http://www.google.com/",
  "hq_city": "San Francisco",
  "revenue_usd": 110855000000,
  "culture_score": 78,
  "overall_grade": "A",
  "overall_percentile": "Top 10%",
  "star_rating": 4.6,
  "review_count": 78638,
  "ceo_name": "Sundar Pichai",
  "ceo_score": 79,
  "ceo_percentile": "Top 5%",
  "dimensions": {
    "Compensation": { "grade": "A+", "percentile": "Top 5%" },
    "Work Culture": { "grade": "A", "percentile": "Top 10%" },
    "eNPS": { "grade": "A-", "percentile": "Top 15%" }
  },
  "awards": ["Best Company Compensation 2024 (Large Companies)"],
  "linkedin": "https://www.linkedin.com/company/Google",
  "scraped_at": "2026-07-11T12:00:00.000Z"
}
````

</details>

***

### Who it's for

- 🧲 **GTM & sales-intelligence tools** enriching target-account lists with employer-brand and culture signals.
- 🧑‍💼 **HR-tech & recruiting platforms** benchmarking employer reputation and CEO approval.
- 💰 **Compensation-benchmarking & people-analytics** products layering culture/comp grades onto their datasets.
- 📈 **Investors & analysts** tracking culture, leadership and employee-sentiment trends across a portfolio.

### How to use it

1. Click **Try for free**.
2. Paste one or more **Company URLs** (e.g. `https://www.comparably.com/companies/google`) — or add bare **Company slugs**.
3. *(Optional)* set **Max results**, tune **Request concurrency**, or flip on **Diagnostic mode** to preview one record.
4. Click **Start**. Export from the **Dataset** tab (JSON, CSV, Excel, Google Sheets) or via API.

#### Examples

A few companies by URL:

```json
{ "companyUrls": ["https://www.comparably.com/companies/google", "https://www.comparably.com/companies/salesforce"] }
```

By slug:

```json
{ "companySlugs": ["stripe", "hubspot", "zapier"] }
```

***

### ❓ FAQ

**Do I need a login or API key?** No. It reads Comparably's public company profile pages.

**How much does it cost?** Pay-per-company — **$0.01 per company** returned (about **$10 per 1,000**). Budget-aware: you only pay for records actually delivered. Free to try.

**Does it scrape individual salaries by role?** Not in this version — it returns the company-level culture/rating/CEO/grade record from the profile page. (Per-role salary tables live on a separate page.)

**Is the data reliable?** It reads two stable structured data sources embedded in each page (Angular state + JSON-LD), and rotates to a fresh residential IP if the site's bot defense challenges a request.

**Can I export to Excel or Google Sheets?** Yes — JSON, CSV, Excel, Google Sheets, or via API.

### Notes & fair use

You are responsible for complying with Comparably's Terms of Service. This Actor reads publicly available, factual company-reputation data.

# Actor input Schema

## `companyUrls` (type: `array`):

Comparably company profile URLs, e.g. https://www.comparably.com/companies/google . One structured intel record is returned per company.

## `companySlugs` (type: `array`):

Optional. Bare Comparably slugs (e.g. "google", "salesforce", "8th-light") — an alternative to pasting full URLs. The slug is the last path segment of a comparably.com/companies/<slug> URL.

## `maxItems` (type: `integer`):

Cap on companies returned this run (cost/speed guard). Default 0 = every company you provided.

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

Proxy settings. Comparably uses PerimeterX bot defense — Apify RESIDENTIAL (US) is recommended and used by default.

## `requestConcurrency` (type: `integer`):

Max parallel company requests. Keep modest — PerimeterX is behavioral/velocity-aware.

## `diagnose` (type: `boolean`):

Scrape only the first company and log the full record (not billed). Use to preview the output shape.

## Actor input object example

```json
{
  "companyUrls": [
    "https://www.comparably.com/companies/google"
  ],
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  },
  "requestConcurrency": 3,
  "diagnose": false
}
```

# Actor output Schema

## `records` (type: `string`):

The dataset of scraped Comparably companies (one item per company).

# 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 = {
    "companyUrls": [
        "https://www.comparably.com/companies/google"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapersdelight/comparably-scraper").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 = { "companyUrls": ["https://www.comparably.com/companies/google"] }

# Run the Actor and wait for it to finish
run = client.actor("scrapersdelight/comparably-scraper").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 '{
  "companyUrls": [
    "https://www.comparably.com/companies/google"
  ]
}' |
apify call scrapersdelight/comparably-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapersdelight/comparably-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Comparably Company Culture, Ratings & CEO Scraper",
        "description": "Scrape Comparably company profiles into structured rows — culture score (0-100), overall letter grade & percentile, star rating, CEO score, 12 culture-dimension grades, awards, website & phone. Feed URLs or slugs. For GTM, HR-tech & comp benchmarking. No login. Export JSON/CSV.",
        "version": "0.1",
        "x-build-id": "nPvc6Vizpqc2VdVUe"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapersdelight~comparably-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapersdelight-comparably-scraper",
                "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/scrapersdelight~comparably-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapersdelight-comparably-scraper",
                "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/scrapersdelight~comparably-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapersdelight-comparably-scraper",
                "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",
                "properties": {
                    "companyUrls": {
                        "title": "Company URLs",
                        "type": "array",
                        "description": "Comparably company profile URLs, e.g. https://www.comparably.com/companies/google . One structured intel record is returned per company.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "companySlugs": {
                        "title": "Company slugs (convenience)",
                        "type": "array",
                        "description": "Optional. Bare Comparably slugs (e.g. \"google\", \"salesforce\", \"8th-light\") — an alternative to pasting full URLs. The slug is the last path segment of a comparably.com/companies/<slug> URL.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Cap on companies returned this run (cost/speed guard). Default 0 = every company you provided.",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Proxy settings. Comparably uses PerimeterX bot defense — Apify RESIDENTIAL (US) is recommended and used by default.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    },
                    "requestConcurrency": {
                        "title": "Request concurrency",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Max parallel company requests. Keep modest — PerimeterX is behavioral/velocity-aware.",
                        "default": 3
                    },
                    "diagnose": {
                        "title": "Diagnostic mode",
                        "type": "boolean",
                        "description": "Scrape only the first company and log the full record (not billed). Use to preview the output shape.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
