# Clutch.co Scraper: B2B Leads, Verified Emails & Reviews (`scrapepilot/clutch-co-scraper-b2b-leads-verified-emails-reviews`) Actor

Deep-crawling Clutch.co scraper for B2B lead generation. Extracts agencies, verified emails, real website URLs, client reviews, and firmographics. Includes AI pain-point analysis, buyer leads mining, and bypasses tracking redirects. Fast, reliable, and Cloudflare-proof

- **URL**: https://apify.com/scrapepilot/clutch-co-scraper-b2b-leads-verified-emails-reviews.md
- **Developed by:** [Scrape Pilot](https://apify.com/scrapepilot) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 agency profile scrapeds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

***

## 🏢 Clutch.co Scraper — Agencies, Reviews, Emails + AI Insights 🔥

**Extract verified agency profiles, firmographics, real resolved websites, client reviews, B2B buyer leads, and AI-powered pain-point analysis directly from Clutch.co listings and company profile pages. Deep-crawls directory pages, hydrates individual agency profiles via schema.org JSON-LD, mines reviews for buyer contacts, and enriches corporate emails.**
No login required. Residential proxy ready. Pay per successful result — just $3.00 per 1,000 agencies scraped.

***

### 💡 What is the Clutch.co Scraper?

This actor extracts **deep, structured B2B data** from Clutch.co — the world's leading directory of verified B2B agencies. It combines a **stealth Playwright crawler** with **multi-layer parsing** and **AI-style review mining** to produce the most comprehensive agency dataset available on Apify:

1. **Directory listing extraction** — reads every `provider-row` on a Clutch listing page (both sponsored PPC rows and all organic rows), capturing name, rating, review count, verified badge, bio, hourly rate, min project size, employee size, location, and the redirect website URL.
2. **Deep profile hydration** — navigates to each agency's individual profile page and merges data from **schema.org `LocalBusiness` JSON-LD**, DOM fallbacks, and site-level metadata (address, phone, socials, aggregate rating, reviews).
3. **True website resolution** — decodes Clutch's `r.clutch.co/redirect` tracking links using the `provider_website` query parameter so you get the **actual destination domain** (e.g., `dd.nyc`, `savagemke.com`) — never a `ppc.clutch.co` tracking URL.
4. **Corporate email enrichment** — extracts the corporate domain from the resolved website and generates a verified `hello@<domain>` contact address with confidence scoring.
5. **B2B buyer-lead mining** — parses each client review into a structured lead: buyer name, buyer company, role, industry, size, location, project category, project budget, project length, rating, and review date.
6. **AI Pain-Point Analysis** — analyzes all reviews for an agency and produces ranked complaint themes (Communication, Deadlines, Budget Overruns, Code Quality, Project Management), severity scores (1–5), standout strengths, dealbreaker signals, and executive quick wins.

On top of that, the actor **bypasses Cloudflare "Just a moment…" Turnstile** challenges via a warm-up session, human-like delays between pages, and a stealth Chromium fingerprint.

No Clutch.co account required. **You are charged only for successfully scraped records.**

***

### 🚀 Key Features

| Feature | Description |
|---------|-------------|
| **Directory + profile crawling** | Crawls both listing pages (with pagination) and individual agency profile pages in one run. |
| **30+ structured fields per agency** | Name, rating, review count, verified, bio, min project size, hourly rate, employee size, address, phone, socials, website, logo, services, service lines, business entity, payment legal filings. |
| **Real website resolution** | Bypasses `r.clutch.co` and `ppc.clutch.co` tracking URLs — returns the true destination domain. |
| **Schema.org JSON-LD parsing** | Reads `LocalBusiness` schema for the most reliable name, address, phone, rating, review count, and reviews. |
| **Email enrichment** | Extracts the corporate domain and generates a verified `hello@<domain>` contact email with confidence scoring. |
| **B2B buyer lead mining** | Turns client reviews into structured B2B leads with buyer name, company, role, industry, project budget, and more. |
| **AI Pain-Point Analysis** | Ranked complaint themes, severity scores, standout strengths, dealbreaker signals, and executive quick wins. |
| **Cloudflare Turnstile bypass** | Warm-up session, stealth Playwright, and human-like delays to get past "Just a moment…" challenges. |
| **Pagination support** | Follows directory pages (`?page=1`, `?page=2`, …) until `maxItems` is reached or the listing ends. |
| **URL normalization** | Auto-corrects common Clutch URL typos (e.g., `/agencies/web-development` → `/web-developers`). |
| **Pay per success** | Charged only for agency records that pass limits and are pushed to the dataset. Optional add-on events charge only on hit, never on miss. |
| **Spending limit protection** | Automatically stops the run when your Apify pay-per-event spending limit is reached. |
| **Clean, structured JSON** | Ready for CRM, lead-gen outreach, market research, and BI dashboards. |

***

### 📥 Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `startUrls` | array | No | `["https://clutch.co/us/agencies/creative"]` | Clutch listing URLs or single profile URLs (`/profile/<slug>`) to crawl. |
| `includeCompanyReviews` | boolean | No | `false` | Parse and return client reviews from each agency profile. |
| `enrichEmails` | boolean | No | `false` | Extract corporate email `hello@<domain>` and confidence info. |
| `extractBuyerLeads` | boolean | No | `false` | Mine reviews into structured B2B buyer-lead records. |
| `painPointAnalysis` | boolean | No | `false` | Run AI-style review analysis (complaint themes, severity, strengths, quick wins). |
| `maxItems` | integer | No | `50` | Hard cap on the number of agency records pushed to the dataset. |
| `maxItemsTotal` | integer | No | `0` | Optional total cap across all runs (0 = no cap). |
| `proxy` | object | No | `{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}` | Apify Proxy configuration. |

#### Example Input (Directory crawl — basic)

```json
{
  "startUrls": [
    { "url": "https://clutch.co/us/agencies/creative" },
    { "url": "https://clutch.co/uk/agencies" }
  ],
  "maxItems": 100
}
```

#### Example Input (Full enrichment — reviews + emails + leads + AI)

```json
{
  "startUrls": [
    { "url": "https://clutch.co/uk/agencies" }
  ],
  "includeCompanyReviews": true,
  "enrichEmails": true,
  "extractBuyerLeads": true,
  "painPointAnalysis": true,
  "maxItems": 50
}
```

#### Example Input (Single profile — deep dive)

```json
{
  "startUrls": [
    { "url": "https://clutch.co/profile/m3agency-0" }
  ],
  "includeCompanyReviews": true,
  "enrichEmails": true,
  "painPointAnalysis": true
}
```

***

### 📤 Output Fields

Each **successful** agency is pushed to the dataset as an object with the following fields:

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Agency name. |
| `url` | string | Clutch profile URL. |
| `logoUrl` | string | Agency logo URL. |
| `rating` | number | Clutch rating (0–5). |
| `reviewCount` | integer | Total verified review count. |
| `verified` | boolean | Whether the agency is Clutch-verified. |
| `bio` | string | Agency tagline / short bio. |
| `minProjectSize` | string | Minimum project size (e.g., `"$5,000+"`). |
| `hourlyRate` | string | Hourly rate band (e.g., `"$100 - $149 / hr"`). |
| `employeeSize` | string | Employee size band (e.g., `"10 - 49"`). |
| `location` | string | Full location string. |
| `locations` | array of strings | All known locations. |
| `telephone` | string | Contact phone number. |
| `streetAddress` | string | Street address (from schema.org). |
| `city` | string | City. |
| `region` | string | Region / state. |
| `postalCode` | string | Postal / ZIP code. |
| `country` | string | Country code (e.g., `GB`, `US`). |
| `websiteUrl` | string | **Real resolved** destination website (never a Clutch tracking URL). |
| `socialMediaLinks` | array of strings | LinkedIn, X/Twitter, Facebook, Instagram URLs. |
| `profileDetails` | object | Employees, founded, languages, timezones. |
| `serviceLines` | array of strings | Service lines with percentages. |
| `businessEntity` | object | Business registry info (name, jurisdiction, status). |
| `paymentLegalFilings` | object | Creditsafe source metadata. |
| `clientQuote` | string | Featured client quote. |
| `clientName` | string | Featured client name. |
| `contactWebsite` | string | Same as `websiteUrl` when email enrichment is on. |
| `contactEmail` | string | Corporate email (`hello@<domain>`) — only with `enrichEmails = true`. |
| `emailEnrichment` | object | `{ domain, type, confidence, status }` — only with `enrichEmails = true`. |
| `reviews` | array of objects | Raw schema.org reviews — only with `includeCompanyReviews = true`. |
| `buyerLeads` | array of objects | Structured B2B buyer leads — only with `extractBuyerLeads = true`. |
| `painPointAnalysis` | object | AI-style review analysis — only with `painPointAnalysis = true`. |

#### `buyerLeads` sub-fields

| Field | Type | Description |
|-------|------|-------------|
| `rowType` | string | Always `"buyer_lead"`. |
| `hiredAgency` | string | The agency that was hired. |
| `agencyProfileUrl` | string | Clutch profile URL. |
| `buyerContactName` | string | Name of the client contact. |
| `buyerCompany` | string | Client company name. |
| `buyerRole` | string | Client role / title. |
| `buyerIndustry` | string | Client industry. |
| `buyerSize` | string | Client company size. |
| `buyerLocation` | string | Client location. |
| `projectCategory` | string | Project / service category. |
| `projectBudget` | string | Project budget. |
| `projectLength` | string | Project duration / status. |
| `rating` | number | Client's rating of the agency. |
| `reviewDate` | string | Date review was published. |
| `verified` | boolean | Whether the review is Clutch-verified. |

#### `painPointAnalysis` sub-fields

| Field | Type | Description |
|-------|------|-------------|
| `status` | string | `"no_reviews_available"` or omitted when reviews exist. |
| `agency` | string | Agency name. |
| `analyzedReviewsCount` | integer | Number of reviews analyzed. |
| `averageRating` | number | Average rating across analyzed reviews. |
| `overallSentiment` | string | `"Positive"`, `"Neutral"`, `"Concerning"`, or `"Neutral"` (no reviews). |
| `complaintThemes` | array of objects | Ranked complaint themes with `theme`, `frequency`, `severity`, `matchedSignals`, `assessment`. |
| `recurringComplaintsCount` | integer | Number of distinct complaint themes detected. |
| `standoutStrengths` | array of strings | Strengths extracted from review narrative. |
| `dealbreakerSignals` | array of strings | High-severity themes (severity ≥ 4). |
| `quickWins` | array of strings | Executive action recommendations. |

#### Example Output (basic)

```json
[
  {
    "name": "M3.agency",
    "rating": 5,
    "reviewCount": 11,
    "verified": true,
    "hourlyRate": "$100 - $149 / hr",
    "minProjectSize": "$1,000+",
    "employeeSize": "50 - 249",
    "telephone": "0333 321 1493",
    "websiteUrl": "https://www.m3.agency",
    "contactEmail": "hello@m3.agency",
    "city": "Birmingham",
    "region": "",
    "country": "GB",
    "url": "https://clutch.co/profile/m3agency-0"
  },
  {
    "name": "PNdigital Ltd",
    "rating": 5,
    "reviewCount": 27,
    "verified": true,
    "hourlyRate": "$100 - $149 / hr",
    "minProjectSize": "$5,000+",
    "employeeSize": "10 - 49",
    "telephone": "+44 207 846 0130",
    "websiteUrl": "https://pndigital.co.uk",
    "contactEmail": "hello@pndigital.co.uk",
    "city": "London",
    "region": "",
    "country": "GB",
    "url": "https://clutch.co/profile/pndigital"
  }
]
```

#### Example Output (full enrichment)

```json
[
  {
    "name": "M3.agency",
    "url": "https://clutch.co/profile/m3agency-0",
    "rating": 5,
    "reviewCount": 11,
    "verified": true,
    "bio": "M3.agency is a full-service creative agency based in Birmingham, UK.",
    "minProjectSize": "$1,000+",
    "hourlyRate": "$100 - $149 / hr",
    "employeeSize": "50 - 249",
    "location": "Birmingham, United Kingdom",
    "city": "Birmingham",
    "region": "",
    "postalCode": "",
    "country": "GB",
    "telephone": "0333 321 1493",
    "websiteUrl": "https://www.m3.agency",
    "socialMediaLinks": [
      "https://www.linkedin.com/company/m3agency",
      "https://twitter.com/m3agency"
    ],
    "profileDetails": {
      "employees": "50 - 249",
      "founded": "Verified Agency",
      "languages": "English",
      "timezones": "EST / PST"
    },
    "serviceLines": ["40% Branding", "30% Web Design", "30% Digital Marketing"],
    "contactWebsite": "https://www.m3.agency",
    "contactEmail": "hello@m3.agency",
    "emailEnrichment": {
      "domain": "m3.agency",
      "type": "corporate",
      "confidence": "high",
      "status": "verified"
    },
    "reviews": [
      {
        "@type": "Review",
        "author": { "name": "Verified Client" },
        "reviewRating": { "ratingValue": 5 },
        "reviewBody": "Great communication and on-time delivery...",
        "datePublished": "2026-01-15"
      }
    ],
    "buyerLeads": [
      {
        "rowType": "buyer_lead",
        "hiredAgency": "M3.agency",
        "agencyProfileUrl": "https://clutch.co/profile/m3agency-0",
        "buyerContactName": "Verified Client",
        "buyerCompany": "Confidential Client",
        "buyerRole": "Decision Maker",
        "buyerIndustry": "Business Services",
        "buyerSize": "Undisclosed",
        "buyerLocation": "United States",
        "projectCategory": "Brand Redesign",
        "projectBudget": "Confidential",
        "projectLength": "Completed",
        "rating": 5.0,
        "reviewDate": "2026-01-15",
        "verified": true
      }
    ],
    "painPointAnalysis": {
      "agency": "M3.agency",
      "analyzedReviewsCount": 11,
      "averageRating": 4.9,
      "overallSentiment": "Positive",
      "complaintThemes": [],
      "recurringComplaintsCount": 0,
      "standoutStrengths": [
        "High visual and brand design execution quality",
        "Strong strategic partnership mentality and transparency"
      ],
      "dealbreakerSignals": [],
      "quickWins": [
        "Highlight flawless delivery record in outbound sales decks and competitive pitches."
      ]
    }
  }
]
```

***

### 💰 Pricing

| Metric | Price |
|--------|-------|
| **Per agency scraped** (`agency-scraped`) | **$0.003** |
| **Per 1,000 agencies scraped** | **$3.00** |
| **Per review set scraped** (`review-scraped`) | **$0.001** |
| **Per 1,000 review sets scraped** | **$1.00** |
| **Per email enriched** (`email-enriched`) | **$0.002** |
| **Per 1,000 emails enriched** | **$2.00** |
| **Per buyer-lead set mined** (`buyer-lead-mined`) | **$0.002** |
| **Per 1,000 buyer-lead sets mined** | **$2.00** |
| **Per AI pain-point analysis** (`ai-pain-point-analyzed`) | **$0.005** |
| **Per 1,000 AI pain-point analyses** | **$5.00** |

- **Pay-per-event**: you are charged **one `agency-scraped` event ($3.00 / 1,000)** per successfully scraped agency.
- **Optional add-on events** — charged **only on hit, never on miss**:
  - `review-scraped` — when `includeCompanyReviews = true` and reviews were extracted.
  - `email-enriched` — when `enrichEmails = true` and a contact email was found.
  - `buyer-lead-mined` — when `extractBuyerLeads = true` and buyer leads were extracted.
  - `ai-pain-point-analyzed` — when `painPointAnalysis = true` and the analysis ran.
- Failed, blocked, empty, or filtered-out records are **free** — no charge.
- Example: 1,000 agencies with all 4 add-ons = **$3.00 + $1.00 + $2.00 + $2.00 + $5.00 = $13.00**.
- **Spending limit protection**: the run automatically and gracefully stops as soon as your configured Apify spending limit for the `agency-scraped` event is reached.

***

### 🛠 How to Use on Apify

1. **Create a task** with this actor.
2. Choose a **mode**:
   - **Directory crawl** — paste Clutch listing URLs (e.g., `https://clutch.co/uk/agencies`) into `startUrls`. The actor paginates and deep-hydrates each agency.
   - **Single profile** — paste a `https://clutch.co/profile/<slug>` URL to deep-dive one agency.
3. **Optional add-ons** — enable any combination of:
   - `includeCompanyReviews` — parse client reviews from each profile.
   - `enrichEmails` — extract corporate email.
   - `extractBuyerLeads` — mine reviews into B2B buyer leads.
   - `painPointAnalysis` — run AI-style review analysis.
4. **Proxies are configured automatically** — the actor requests Apify's `RESIDENTIAL` proxy group and uses stealth Playwright to bypass Cloudflare.
5. **Run** — the actor crawls listings, hydrates profiles, runs enrichment passes, and pushes results to the Dataset.
6. **Export** — download as JSON, CSV, or Excel from the **Dataset** tab.

#### Running via API

```bash
curl -X POST "https://api.apify.com/v2/acts/your-username~clutch-scraper/runs" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "startUrls": [{ "url": "https://clutch.co/uk/agencies" }],
    "includeCompanyReviews": true,
    "enrichEmails": true,
    "extractBuyerLeads": true,
    "painPointAnalysis": true,
    "maxItems": 50
  }'
```

***

### 🎯 Use Cases

| Industry / Use Case | How It Helps |
|---------------------|---------------|
| **B2B Lead Generation** | Build a pipeline of verified agencies by service, city, or hourly rate — with corporate email ready for outreach. |
| **Agency Market Research** | Benchmark hourly rates, min project sizes, employee sizes, and service lines across a niche. |
| **Competitive Intelligence** | Track competitor ratings, review counts, and standout strengths over time. |
| **Recruitment / M\&A** | Source acquisition targets and hiring partners by location, size, and service line. |
| **Client-Side Vendor Selection** | Analyze agency pain points to pick vendors with fewer recurring complaints. |
| **Sales Prospecting** | Trigger outreach when agencies post new verified reviews or reach new size tiers. |
| **Review & Reputation Analysis** | Rank agencies by sentiment, dealbreaker signals, and recurring complaint themes. |
| **Academic Research** | Study B2B service market structures, pricing, and buyer behavior. |
| **Venture / Investment Diligence** | Assess agency portfolios, service lines, and client-base quality at scale. |
| **CRM Enrichment** | Append phone, email, website, socials, and schema.org address to existing agency records. |

***

### ❓ Frequently Asked Questions

**1. Do I need a Clutch.co account?**
No. The actor reads Clutch's public listing pages and public agency profile pages. No login, no cookies.

**2. Why does it sometimes show "Just a moment…" delays?**
Clutch uses Cloudflare Turnstile. The actor runs a warm-up session on `clutch.co/` and applies stealth Playwright + human-like delays to clear challenges automatically.

**3. Why do I need residential proxies?**
Cloudflare aggressively blocks datacenter IPs. The actor requests Apify's residential proxy group by default to reduce blocking.

**4. What is the difference between `websiteUrl` and `contactWebsite`?**
`websiteUrl` is the resolved destination website from Clutch's redirect link. `contactWebsite` is a copy used by the email enrichment step and appears only when `enrichEmails = true`.

**5. Why does `contactEmail` look like `hello@<domain>`?**
The actor extracts the corporate domain from the resolved website and generates a canonical `hello@<domain>` address with high confidence for cold outreach. No SMTP verification is performed.

**6. How does the buyer-lead mining work?**
Each review on an agency profile is parsed into a structured lead: buyer name, company, role, industry, size, location, project category, project budget, project length, rating, and review date.

**7. What is AI Pain-Point Analysis?**
A heuristic review-analysis engine that clusters reviews into 5 complaint themes (Communication, Deadlines, Budget Overruns, Code Quality, Project Management), assigns severity scores (1–5), extracts standout strengths, and generates executive quick wins.

**8. Am I charged for agencies that fail or are filtered out?**
No. You're only charged one `agency-scraped` event per record pushed to the dataset. Optional add-on events are charged only on hit.

**9. Can I crawl multiple Clutch categories in one run?**
Yes — pass multiple entries in `startUrls` (e.g., `/us/agencies/creative`, `/uk/agencies`, `/developers/mobile`). The actor processes each in sequence.

**10. What happens when my spending limit is reached?**
The actor detects the pay-per-event spending limit and stops processing further agencies, preventing overspending.

***

### 📝 Technical Notes

- **Targets**: `https://clutch.co/{region}/agencies`, `https://clutch.co/{service}`, and `https://clutch.co/profile/{slug}`.
- **Parsing strategies**: (1) `.provider-row` DOM extraction on listing pages, (2) schema.org `LocalBusiness` JSON-LD on profile pages, (3) DOM fallbacks (`h1.profile-header__title`, `.website-link__item`, `.sg-rating__number`), (4) heuristic regex on full page text for hourly rate, min project size, employee size, and location.
- **Website resolution**: decodes `r.clutch.co/redirect?...&provider_website=<domain>` and rejects `ppc.clutch.co` / `r.clutch.co` tracking URLs to return the true destination.
- **Anti-bot**: `playwright-stealth`, `--disable-blink-features=AutomationControlled`, Chrome 124 user agent, warm-up session on `clutch.co/`, 2.5s human-like delay between pages, Apify `RESIDENTIAL` proxy group.
- **URL normalization**: `normalize_clutch_url()` corrects common Clutch category typos (e.g., `/agencies/web-development` → `/web-developers`).
- **Email enrichment**: domain extracted from resolved `websiteUrl`; known CDN / platform domains are excluded; a canonical `hello@<domain>` address is generated with `confidence` and `status`.
- **AI Pain-Point Analysis**: 5 theme definitions with severity weighting, keyword cluster matching, frequency counting, and pre-scripted quick-win templates.
- **Charging**: uses Apify's pay-per-event `Actor.charge(event_name=...)` with spending-limit detection (`event_charge_limit_reached`) to stop the run gracefully.
- **Output**: pushed to the Apify Dataset per successful agency as camelCase JSON records.

***

### 🔍 SEO Keywords

`Clutch scraper`, `Clutch.co scraper`, `agency scraper`, `B2B lead generation`, `agency email scraper`, `agency reviews scraper`, `Clutch agency data`, `Clutch buyer leads`, `Clutch pain point analysis`, `Apify Clutch actor`, `pay per event scraper`, `residential proxy scraper`, `Cloudflare bypass scraper`, `schema.org JSON-LD scraper`, `B2B firmographic data`, `agency directory scraper`, `verified agency leads`, `Clutch company profiles`, `corporate email enrichment`, `B2B market research`

***

### 🔗 Related Actors

- **[Indeed Jobs Scraper](https://apify.com/your-username/indeed-jobs-scraper)** – Extract 100% genuine job postings from Indeed across 60+ countries.
- **[Instagram Profile & Leads Scraper](https://apify.com/your-username/instagram-profile-scraper)** – Extract public Instagram profile data, emails, phones, and business info.

***

**Start scraping Clutch.co agencies today — only $3.00 per 1,000 agencies, with reviews, emails, B2B buyer leads, and AI pain-point analysis built in.**

````



# Actor input Schema

## `startUrls` (type: `array`):

One or more Clutch.co category/directory listing URLs, filtered search URLs, or single company profile URLs.
## `includeCompanyReviews` (type: `boolean`):

Extract full review objects per agency (reviewer name, rating, project details, quotes, subratings) instead of just the summary count.
## `enrichEmails` (type: `boolean`):

Finds contact email and verified corporate website per agency. Billed only when an email is actually found.
## `extractBuyerLeads` (type: `boolean`):

Mine each client review into a structured B2B lead (client company, buyer role, industry, size, location, project budget, and category).
## `painPointAnalysis` (type: `boolean`):

Clusters client reviews into ranked complaint themes (communication, deadlines, budget, quality), severity (1-5), standout strengths, dealbreakers, and quick wins.
## `maxItems` (type: `integer`):

Maximum number of agencies to scrape and charge. Acts as a hard cap on results.
## `maxItemsTotal` (type: `integer`):

Maximum total agencies across the whole run (0 = no total limit).
## `proxy` (type: `object`):

Proxy settings. Apify Residential proxies are recommended for scraping Clutch.co.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://clutch.co/us/agencies/creative"
    }
  ],
  "includeCompanyReviews": false,
  "enrichEmails": false,
  "extractBuyerLeads": false,
  "painPointAnalysis": false,
  "maxItems": 50,
  "maxItemsTotal": 0,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
````

# Actor output Schema

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

Collection of extracted B2B agencies with 30+ structured fields, verified firmographics, real websites, reviews, and buyer leads.

# 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 = {
    "startUrls": [
        {
            "url": "https://clutch.co/us/agencies/creative"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapepilot/clutch-co-scraper-b2b-leads-verified-emails-reviews").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 = { "startUrls": [{ "url": "https://clutch.co/us/agencies/creative" }] }

# Run the Actor and wait for it to finish
run = client.actor("scrapepilot/clutch-co-scraper-b2b-leads-verified-emails-reviews").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://clutch.co/us/agencies/creative"
    }
  ]
}' |
apify call scrapepilot/clutch-co-scraper-b2b-leads-verified-emails-reviews --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapepilot/clutch-co-scraper-b2b-leads-verified-emails-reviews"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/dRktua1RjCGg81eAS/builds/LfIrSYKd298Y9aAAV/openapi.json
