Comparably at a glance
Comparably is a ready-to-run Apify actor from abotapi for collecting lead generation data. Its documented output includes company, rating, grade, culture and culture grade, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.00 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Lead Generation, Developer Tools, Jobs
- Pricing
- $2.00 per 1,000 results (Free plan), from $1.00 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 17 options
From $1/1K. Extract rich company data from comparably.com using company names or profile URLs. Get ratings, culture scores, CEO approval, employee reviews, salary insights, awards, revenue, headquarters, and more in structured JSON, CSV, or Excel format.
What Comparably $1💰 Ratings, Culture, Reviews & Salaries Scraper can do
- One clean record per company. Profile, reviews and salaries all arrive in a single row, not scattered fragments across separate calls.
- Search by company name. Type "Google" and the actor derives its profile page directly. No need to hunt for URLs first.
- Deep profile coverage. Revenue, phone, headquarters address, website, 12 culture dimensions, metro area, awards and leadership data, all included.
- Salaries by job title. Department and amount attached to every company, with a page cap you control.
- Employee reviews with structure. The question answered, author label, date and a permalink to each review, walked across as many pages as you allow.
- Sections on demand. Switch reviews and salaries on or off per run, and pay only for what you use.
Choose what to collect
These inputs let you configure Comparably $1💰 Ratings, Culture, Reviews & Salaries Scraper. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | How to choose companies. 'Search by name' resolves each company name to its Comparably profile. 'Direct URLs' takes Comparably company URLs you already have. |
companiesarray | Search mode only. Company names to resolve, one per line (e.g. 'Google', 'Microsoft', 'Goldman Sachs'). Each is matched to its Comparably profile automatically. |
urlsarray | URL mode only. One company per line: a profile URL (/companies/google), a reviews URL (/companies/google/reviews), a reviews URL with ?page=N (the review walk starts at page N), a salaries URL (/companies/google/salaries), or a bare slug like 'netflix'. Every shape resolves to the company's single record. Leave untouched to scrape one example per shape. |
includeReviewsboolean | Attach employee reviews to each company record (text, question, author, date, permalink). |
maxReviewsinteger | Cap on reviews collected per company (default 100, maximum 15000). Set 0 to skip reviews. Bounded by Max review pages. |
maxReviewPagesinteger | Safety cap on review pages to walk per company (~75 reviews per page). |
includeSalariesboolean | Attach salary entries (job title, amount, department) to each company record. |
Show 10 more inputs
| Input | What it controls |
|---|---|
maxCompaniesinteger | Maximum number of companies to scrape across all inputs. Default 20. Set 0 for unlimited. |
resumeFromRunIdstring | Paste a previous run ID or dataset ID to continue an interrupted run without returning or charging for companies already collected there. For recurring monitoring of the same company list, use Incremental mode below instead. |
incrementalModeboolean | Turn this on for recurring monitoring of the same company list. The first run returns every company as NEW. Later runs normally return only NEW, UPDATED, and REAPPEARED companies. A company is UPDATED when anything in its record changes: ratings and scores, counts, or a review or salary entry being added, removed or edited (changedFields names the top-level fields). Relative-date text (the review "posted ago" text and the salary posted date) is excluded from the comparison but still returned in the output, and so are any fields you list in "Ignore fields when detecting changes". Review order never matters. Turn on "Emit unchanged" or "Emit expired" only when you also want those companies returned (and billed). EXPIRED is only produced after a complete scan: not when Max companies capped the run, a pasted URL starts at a later results page, or Resume was used, and never for a company whose fetch failed. State is kept separately per company list and section toggles; use State key when you want to name or deliberately share a monitoring campaign (a shared key only expires companies tracked under the same list and settings). To continue one specific interrupted run instead, use Resume from a previous run above. |
stateKeystring | Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the company list and section settings, different lists then never mix state with each other. |
emitUnchangedboolean | Off by default. Turn on to also return companies that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have, so leave it off unless you specifically want the full snapshot every run. |
emitExpiredboolean | Off by default. Turn on to also return companies that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked company list, not when Max companies capped it or when Resume was used. This returns, and bills, extra synthetic rows, so leave it off unless you need expiry tracking. |
ignoreFieldsForChangesarray | Incremental mode only. Fields that should never make a company UPDATED. They are still returned in the output. Use a top-level name such as cultureScore, or a nested path such as reviews[].author or salaries[].salary. Review posted-ago text and salary posted date are always ignored. |
mcpConnectorsarray | Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com). |
notionParentPageUrlstring | URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors. |
maxNotifyListingsinteger | Cap on items written to each connector per run. Does not affect the dataset. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
nameCompany (text)overallRatingRating (number)letterGradeGrade (text)cultureScoreCulture (number)cultureGradeCulture Grade (text)ceoNameCEO (text)ceoScoreCEO Score (text)employeeParticipantCountParticipants (number)totalRatingsCountRatings (number)metroNameMetro (text)websiteWebsite (link)urlComparably URL (link)Show 17 more fields
changeTypeChange (text)changedFieldsChanged Fields (text)firstSeenAtFirst Seen (date)lastSeenAtLast Seen (date)slugSlugreviews.reviewIdReview idreviews.authorAuthorreviews.dateDatereviews.departmentDepartmentreviews.questionQuestionreviews.textReviewreviews.urlReview URL (link)salaries.jobTitleJob titlesalaries.salarySalarysalaries.departmentDepartmentsalaries.postedDatePostedsalaries.urlSalary URL (link)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"companyId": 10000001,
"slug": "sample-company",
"url": "https://www.comparably.com/companies/sample-company",
"name": "Sample Company",
"fullName": "Sample Company",
"mission": "Sample company mission statement goes here.",
"website": "http://www.example.com/",
"phone": "+1-000-000-0000",
"address": "1 Example Plaza, Sample City, CA 00000, USA",
"revenue": 1000000000,
"employeeParticipantCount": 1000,
"totalRatingsCount": 10000,
"overallRating": 4.5,
"letterGrade": "A",
"cultureScore": 80,
"cultureGrade": "A",
"cultureScoreLabel": "Top 10%",
"ceoName": "Jane Doe",
"ceoScore": "Top 5%",
"ceoTotalScore": 80,
"metroName": "Sample Metro",
"topDimensions": [
{
"category": "CEO Rating",
"grade": "A",
"score": "Top 5%",
"percent": 5
}
],
"reviews": [
{
"reviewId": "00000001",
"url": "https://www.comparably.com/companies/sample-company/reviews/00000001/sample",
"question": "Briefly describe your overall experience at your company",
"text": "Great place to work, supportive team and good growth.",
"author": "Anonymous Review",
"date": "2026-01-01",
"postedAgo": "Posted 10 days ago",
"department": "Engineering"
}
],
"salaries": [
{
"jobTitle": "Senior Product Manager",
"salary": "$000,000 Salary + Bonus",
"department": "Product",
"postedDate": "Posted more than 30 days ago"
}
]
}Ways to use this data
- HR and recruiting research: compare culture scores, CEO ratings and salary bands across a shortlist of employers.
- Compensation benchmarking: collect salary-by-title entries across companies to build pay-band models.
- Competitive and market research: track how a competitor's public rating, reviews and awards move over time.
- Sales and lead enrichment: attach company size signals, headquarters and website to a target account list.
- Employer brand monitoring: watch your own company's rating, culture grade and new reviews on a schedule.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does Comparably return?
The documented output for Comparably includes company, rating, grade, culture, culture grade, ceo, ceo score and participants. Availability of each field depends on the source page and the selected mode.
How much does Comparably cost?
It costs $2.00 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Can I get only new or changed companies on a schedule?
Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new, updated and reappeared companies, and unchanged ones are not billed.
Why did my run fail instead of returning an empty dataset?
If no company name or URL resolves to a real profile, the run stops with a clear message so "nothing matched" is never confused with "the site returned nothing to read". Check your company names or URLs and run it again.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.
