# TeamBlind Reviews Scraper: Employer Monitor (`getascraper/teamblind-reviews-scraper`) Actor

Export public TeamBlind company reviews, ratings, pros and cons, reviewer context, and company aggregates. Monitor new or updated review changes for employer-brand and talent-intelligence workflows. Built for n8n, Make, Zapier, and API data pipelines. $0.0022 per review.

- **URL**: https://apify.com/getascraper/teamblind-reviews-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Lead generation, Social media, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.65 / 1,000 reviews

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## 💬 TeamBlind Reviews Scraper: Employer Monitor

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#F0FDFA;border:1px solid #99F6E4;border-top:4px solid #0F766E;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Track employer sentiment without re-reading the same reviews.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Export verified public TeamBlind review text, rating components, reviewer context, and company aggregates for employer-brand and talent-intelligence work.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td width="25%" style="padding:14px 12px;background:#FFFFFF;border:1px solid #99F6E4;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#115E59">📝 Full review text</span><br><span style="font-size:12px;color:#57534E">Recover published text or skip the row.</span></td>
<td width="25%" style="padding:14px 12px;background:#FFFFFF;border:1px solid #99F6E4;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#115E59">📊 Six ratings</span><br><span style="font-size:12px;color:#57534E">Compare culture, pay, career, balance, and management.</span></td>
<td width="25%" style="padding:14px 12px;background:#FFFFFF;border:1px solid #99F6E4;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#115E59">🏢 Company context</span><br><span style="font-size:12px;color:#57534E">Keep ratings and review counts in a separate dataset.</span></td>
<td width="25%" style="padding:14px 12px;background:#FFFFFF;border:1px solid #99F6E4;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#115E59">🔄 Change-only feed</span><br><span style="font-size:12px;color:#57534E">Receive new and updated reviews without unchanged rows.</span></td>
</tr>
</table>

Start with a company snapshot. Then reuse a state key to receive only new or materially updated reviews.

### 🔍 What it does

Use company names, public TeamBlind company URLs, or individual review URLs. The Actor returns full-text employer reviews when the source publishes them, with rating components, employment context, dates, and source links.

Company aggregates are available in a separate output when TeamBlind publishes them. They can include overall and sub-ratings, review count, industry, headquarters, and review distributions by city and country.

Monitoring mode remembers a named scope. Later successful runs return only `NEW` or `UPDATED` reviews. Unchanged reviews are not saved or charged.

### 💡 Who it helps

- Employer-brand teams comparing public employee sentiment across competitors.
- Recruiting and people-analytics teams tracking review volume, ratings, and recurring concerns.
- HR-tech and data-product teams that need source-linked employer-review records.
- Investment and competitive-intelligence teams researching company reputation over time.

It is focused on public company reviews. Posts, salary feeds, benefits, private profiles, and authenticated content are outside this Actor's scope.

### 🚀 How it works

<table width="100%">
<tr>
<td width="33%" style="padding:16px 14px;background:#F0FDFA;border:1px solid #99F6E4;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 1</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Choose companies</span><br><span style="font-size:12px;color:#57534E">Use company names, public company URLs, or individual review URLs.</span></td>
<td width="33%" style="padding:16px 14px;background:#F0FDFA;border:1px solid #99F6E4;border-left:none;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 2</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Set review filters</span><br><span style="font-size:12px;color:#57534E">Focus on dates, ratings, roles, locations, and employment status.</span></td>
<td width="33%" style="padding:16px 14px;background:#F0FDFA;border:1px solid #99F6E4;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 3</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Schedule changes</span><br><span style="font-size:12px;color:#57534E">Reuse a state key to return new and updated reviews only.</span></td>
</tr>
</table>

### ⚙️ Input

| Field                                    | Type          | Required | Description                                                                                 |
| ---------------------------------------- | ------------- | -------- | ------------------------------------------------------------------------------------------- |
| `targets`                                | array of text | Yes      | Company names, TeamBlind company URLs, or individual review URLs.                           |
| `minRating`, `maxRating`                 | number        | No       | Keep reviews within an overall rating range.                                                |
| `employeeStatus`                         | enum          | No       | Limit results to current or former employees when available.                                |
| `jobTitles`, `locations`, `countryCodes` | array of text | No       | Keep reviews matching any selected role, location, or country code.                         |
| `dateFrom`, `dateTo`                     | date          | No       | Filter by source review date with the calendar date picker.                                 |
| `includeCompanyData`                     | boolean       | No       | Save available company aggregates to a separate dataset.                                    |
| `fetchReviewDetails`                     | boolean       | No       | Recheck complete review pages. Gated or incomplete rows are always recovered before saving. |
| `maxItems`                               | integer       | No       | Exact global review cap for the run.                                                        |
| `maxReviewsPerCompany`                   | integer       | No       | Optional cap for each company target.                                                       |
| `runMode`                                | enum          | No       | Choose a one-time snapshot or a new-and-updated review monitor.                             |
| `stateKey`                               | text          | No       | Stable name used to continue the same monitoring scope.                                     |
| `resetState`                             | boolean       | No       | Start that monitoring scope from a clean state.                                             |
| `proxyConfiguration`                     | proxy         | No       | Optional connection settings.                                                               |

### 📊 Data table

| Field                                                                                                | Type               | Description                                                                                    |
| ---------------------------------------------------------------------------------------------------- | ------------------ | ---------------------------------------------------------------------------------------------- |
| `id`, `urlAlias`, `sourceUrl`                                                                        | integer, text, URL | Stable review identity and direct source link.                                                 |
| `companyName`, `companySlug`                                                                         | text               | Source-published company identifiers.                                                          |
| `rating`, `ratingCareer`, `ratingBalance`, `ratingCompensation`, `ratingCulture`, `ratingManagement` | number             | Overall and component ratings when published.                                                  |
| `pros`, `cons`, `summary`                                                                            | text               | Verified full review text and headline.                                                        |
| `jobTitle`, `memberLocation`, `memberLocationCountryIsoCode`, `isCurrentEmployee`                    | text, boolean      | Employment context when published.                                                             |
| `reviewDate`, `updatedAt`, `approvedAt`                                                              | date and time      | Source publication, edit, and approval dates when published.                                   |
| `reasonResign`, `companyResponse`                                                                    | text               | Source-published resignation reason and employer response.                                     |
| `changeType`, `changedFields`                                                                        | text, array        | Snapshot, new, or updated monitoring state and changed fields.                                 |
| `firstSeenAt`, `lastSeenAt`, `scrapedAt`                                                             | date and time      | Collection and monitoring provenance.                                                          |
| Company dataset                                                                                      | dataset            | Company ratings, review count, firm context, and city or country distributions when published. |

Missing source values are omitted. Reviews without recoverable full pros and cons text are skipped and recorded in the run summary.

### 💰 Pricing

This Actor uses pay-per-event pricing through its primary **Employer review** event. Each verified review saved to the default dataset is billed once. Monitoring emits and bills only new or materially updated reviews. Empty runs, unchanged reviews, duplicates, invalid rows, and failed text recovery are free. There is no subscription.

### ⭐ Enjoying TeamBlind Reviews Scraper?

<table width="100%">
<tr>
<td style="padding:20px 24px 14px;background:#F0FDFA;border:1px solid #99F6E4;border-left:5px solid #0F766E;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Spend less time rebuilding employer-review research.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating helps HR, recruiting, and research teams find this TeamBlind workflow.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#0F766E;border:1px solid #99F6E4;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/teamblind-reviews-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ❓ FAQ

**Can I monitor only new TeamBlind reviews?** Yes. Choose monitoring mode and reuse the same state key on each scheduled run. Only new or materially updated reviews are returned.

**Does it save placeholder review text?** No. If complete review text cannot be recovered, that row is skipped instead of being presented as complete.

**Can I compare companies?** Yes. Enable company aggregates to receive a separate dataset with source-published ratings, review counts, and distributions when available.

**Does it collect posts or salaries?** No. This Actor is for public company reviews only.

### 🔗 Other actors

- [Job Bank Canada Scraper](https://apify.com/getascraper/jobbank-scraper) ↗: Monitor structured Canadian job and LMIA signals.
- [CutShort Scraper](https://apify.com/getascraper/cutshort-scraper) ↗: Collect India tech jobs and hiring data.
- [Apna Jobs Scraper](https://apify.com/getascraper/apna-co-scraper) ↗: Build structured feeds from public Apna job listings.
- [HN Who is Hiring Scraper](https://apify.com/getascraper/hn-hiring-scraper) ↗: Collect hiring posts from Hacker News threads.

# Actor input Schema

## `targets` (type: `array`):

Enter TeamBlind company names, company review URLs, or individual review URLs. Each value is collected as a separate target.

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

Hard cap across the full run. The Actor never saves more than this many reviews.

## `maxReviewsPerCompany` (type: `integer`):

Optional cap for each company target.

## `minRating` (type: `number`):

Keep reviews with this overall rating or higher.

## `maxRating` (type: `number`):

Keep reviews with this overall rating or lower.

## `employeeStatus` (type: `string`):

Limit output to current or former employees when that source field is available.

## `jobTitles` (type: `array`):

Keep reviews whose reported job title contains any supplied term.

## `locations` (type: `array`):

Keep reviews whose reported location contains any supplied term.

## `countryCodes` (type: `array`):

Keep reviews with a matching two-letter country code, such as US or IN.

## `dateFrom` (type: `string`):

Keep reviews published on or after this calendar date.

## `dateTo` (type: `string`):

Keep reviews published on or before this calendar date.

## `runMode` (type: `string`):

Use monitoring to save and charge only new or materially updated reviews for the same state key.

## `stateKey` (type: `string`):

Optional name for this saved monitoring scope. Use the same key on each scheduled run.

## `resetState` (type: `boolean`):

Forget previously seen reviews for the selected state key before this run.

## `includeCompanyData` (type: `boolean`):

Save source-published company ratings, review counts, and location distributions to a separate dataset when available.

## `fetchReviewDetails` (type: `boolean`):

Also recheck reviews that already contain complete text. Incomplete or gated reviews are always recovered before they can be saved.

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

Optional connection settings for reliable collection from TeamBlind.

## Actor input object example

```json
{
  "targets": [
    "Twilio"
  ],
  "maxItems": 100,
  "employeeStatus": "any",
  "jobTitles": [],
  "locations": [],
  "countryCodes": [],
  "runMode": "snapshot",
  "stateKey": "default",
  "resetState": false,
  "includeCompanyData": true,
  "fetchReviewDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `reviews` (type: `string`):

Saved full-text TeamBlind reviews. Monitoring saves only new or materially updated reviews.

## `companies` (type: `string`):

Source-backed company ratings, review counts, and location distributions when published by TeamBlind.

## `runSummary` (type: `string`):

Counts for emitted, changed, skipped, duplicate, and failed records.

# 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 = {
    "targets": [
        "Twilio"
    ],
    "maxItems": 100,
    "employeeStatus": "any",
    "jobTitles": [],
    "locations": [],
    "countryCodes": [],
    "runMode": "snapshot",
    "stateKey": "default",
    "resetState": false,
    "includeCompanyData": true,
    "fetchReviewDetails": false,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/teamblind-reviews-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 = {
    "targets": ["Twilio"],
    "maxItems": 100,
    "employeeStatus": "any",
    "jobTitles": [],
    "locations": [],
    "countryCodes": [],
    "runMode": "snapshot",
    "stateKey": "default",
    "resetState": False,
    "includeCompanyData": True,
    "fetchReviewDetails": False,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/teamblind-reviews-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 '{
  "targets": [
    "Twilio"
  ],
  "maxItems": 100,
  "employeeStatus": "any",
  "jobTitles": [],
  "locations": [],
  "countryCodes": [],
  "runMode": "snapshot",
  "stateKey": "default",
  "resetState": false,
  "includeCompanyData": true,
  "fetchReviewDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call getascraper/teamblind-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/ovcYWZcfp1dFuK2NG/builds/YjCdnyuwuzkwg1hkC/openapi.json
