# Clutch.co Scraper (`solidcode/clutch-scraper`) Actor

\[💰 $1.80 / 1K] Extract company profiles from Clutch.co — agencies, developers, marketers, IT services. Get name, rating, reviews, location, hourly rate, employees, services, and contact info. Filter by category or country, or paste Clutch.co URLs directly.

- **URL**: https://apify.com/solidcode/clutch-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Features:** Limited permissions
- **Stats:** 23 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.80 / 1,000 results

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/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

Extract B2B service-provider company profiles from [Clutch.co](https://clutch.co) — agencies, developers, marketers, and IT service firms — at scale. Get names, ratings, review counts, hourly rates, employee bands, locations, services, websites, social links, and full client reviews with quality, schedule, and cost sub-ratings. Built for sales teams, analysts, and procurement researchers who need an entire Clutch category as one spreadsheet instead of opening hundreds of profiles by hand.

### Why This Scraper?

- **Transparent pay-per-event pricing from $1.80 per 1,000 companies** — plus from $0.50 per 1,000 reviews, billed only when reviews are switched on. No compute charges, no run-time surprises.
- **Up to 100,000 results per run** — directory-scale data extraction across every Clutch category.
- **7 categories x 23 countries from dropdowns** — no URL hacking, or paste any Clutch listing or profile URL and mix both in one run. When a country and category have no regional page on Clutch, the run falls back to that category's global listing instead of coming back empty.
- **Embedded client reviews, including the full interview** — every review carries its engagement headline, Clutch's own project summary, the reviewer's results paragraph, and `fullReview`: the complete Q\&A behind the review, around 12 questions covering goals, vendor selection, scope, measurable outcomes, and areas to improve.
- **Every review dated twice** — Clutch's own `"Nov 2, 2022"` string plus a sortable `dateIso` (`"2022-11-02"`) on the same review, so "reviews since 2024" or newest-first ordering is a filter, not a chore. Clutch's archive runs back to 2015.
- **Ready-to-use contact block on every company** — website, phone number, logo, and up to four social profiles (LinkedIn, X/Twitter, Facebook, Instagram), taken from the company's own profile rather than Clutch's site-wide accounts.
- **Tunable review depth** — cap at 20 reviews per company (default), set to 0 to take everything that fits on one row (around 1,500 reviews per company, well past what all but a handful of Clutch profiles carry), or disable reviews entirely so you pay only the company-row price.
- **Three location fields per company** — the office that matches the directory you searched, the registered global head office, and a full `offices` list with street address and postal code for every location Clutch publishes.
- **Three percentage breakdowns on every row** — work by service line, client base by industry, and client base by company size (enterprise / midmarket / small business). Each set sums to 100%, so you can rank and weight providers, not just read them.

### Use Cases

**Lead Generation & Sales**

- Build prospect lists of every web-development agency in the UK
- Find IT-services firms in your region for partnership outreach
- Pull every Clutch profile in a niche with website + LinkedIn + phone for cold outreach campaigns

**Competitor Research**

- Track your competitors' Clutch ratings, review counts, and hourly-rate bands over time
- Snapshot the entire competitive set for a category and rerun monthly to see who's gaining momentum
- Read every published review of a competitor to understand their positioning, strengths, and recurring complaints

**Agency Discovery & Procurement**

- Build a shortlist of design agencies in Germany with full review histories
- Compare hourly rates across hundreds of similar firms in seconds
- Pull full review feedback to vet vendors before sending an RFP

**Market Sizing & Industry Analysis**

- Count how many marketing agencies are listed in each country to size regional B2B services markets
- Aggregate hourly-rate bands, employee counts, and review-volume distributions across a category
- Build datasets for analyst reports on the global agency landscape

**M\&A & Investment Due Diligence**

- Pull a target company's full Clutch profile, founding year, employee count, and every public review in one row
- Benchmark a target against its category peers on rating, review velocity, and price band
- Identify acquisition candidates by category and country, then sort the dataset by rating or review count yourself

**Directory Building & Data Enrichment**

- Power your own B2B services directory with 350,000+ Clutch providers
- Enrich a CRM with rating, review count, employee count, and HQ for every account
- Build "best of" listicles backed by real review data, not guesses

### Getting Started

#### Top US Developers, No Reviews

The fastest way to pull a directory snapshot — listing data only, no review pages.

```json
{
    "category": "development",
    "country": "us",
    "includeReviews": false,
    "maxResults": 50
}
```

#### UK Marketing Agencies, With Reviews

Lead list for the UK marketing space, with up to 20 reviews per company for context. Sort the resulting dataset by `rating` or `reviewCount` to surface the strongest candidates.

```json
{
    "category": "marketing",
    "country": "uk",
    "includeReviews": true,
    "maxReviewsPerCompany": 20,
    "maxResults": 200
}
```

#### Mixed URLs + Filter — Power-User Run

Combine a Clutch listing URL with a single profile URL, take the deepest review history each company allows, and run unbounded.

```json
{
    "searchUrls": [
        "https://clutch.co/us/agencies/creative",
        "https://clutch.co/profile/simform"
    ],
    "includeReviews": true,
    "maxReviewsPerCompany": 0,
    "maxResults": 0
}
```

`maxResults: 0` removes the cap (an internal safety limit of 100,000 still applies). `maxReviewsPerCompany: 0` takes every review that fits on a single company row — around 1,500, which covers the full history of all but a handful of Clutch profiles.

### Input Reference

#### What to Scrape

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchUrls` | string\[] | `[]` | One or more Clutch.co URLs. Accepts category listings (`/agencies`, `/developers`), country-scoped listings (`/us/agencies/creative`, `/agencies/uk`), and individual company profiles (`/profile/<slug>`). Any URL filters are honored as-is. |

#### Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `category` | string (select) | `"all"` | Top-level category — All, Development, Design, Marketing, Advertising, Business Services, IT Services. Ignored when `searchUrls` is set. |
| `country` | string (select) | `"all"` | Country scope — 23 supported countries plus "All countries". When a country / category combo has no regional page, the actor falls back to the global listing for that category. |

#### Output

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeReviews` | boolean | `true` | Embed each company's client reviews on the result row, with quality / schedule / cost sub-ratings. Disable for faster, cheaper runs that return only company-card data. |
| `maxReviewsPerCompany` | integer | `20` | Cap on reviews captured per company (most recent first). Set to `0` to take every review that fits on one company row — around 1,500, more than all but a handful of Clutch profiles have. Ignored when `includeReviews` is off. |

#### Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | Hard cap on total company rows across all sources. Set to `0` for no cap (an internal safety limit of 100,000 still applies). The run stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots. |

### Output

Each result is a **company profile** with all profile details and (optionally) a nested array of client reviews. Example:

```json
{
    "name": "Ignite Visibility",
    "profileUrl": "https://clutch.co/profile/ignite-visibility",
    "slug": "ignite-visibility",
    "clutchPid": "25800",
    "tagline": "ROI-Driven Digital Marketing Agency ⭐️⭐️⭐️⭐️⭐️",
    "description": "BEYOND VISIBILITY IS WHERE REAL GROWTH HAPPENS\nIgnite Visibility is an award-winning digital marketing agency engineered for enterprise, franchise, and multi-location growth...",
    "rating": 4.8,
    "reviewCount": 175,
    "verified": true,
    "minProjectSize": "$1,000+",
    "hourlyRate": "$100 - $149",
    "employeeCount": "250 - 999",
    "foundedYear": 2013,
    "headquartersLocation": "San Diego, CA, United States",
    "globalHeadquarters": "San Diego, CA, United States",
    "offices": [
        {
            "city": "San Diego",
            "region": "CA",
            "country": "United States",
            "address": "4250 Executive Square Suite #100",
            "postalCode": "92037"
        },
        {
            "city": "Irvine",
            "region": "CA",
            "country": "United States",
            "address": null,
            "postalCode": null
        }
    ],
    "website": "https://ignitevisibility.com",
    "socialLinks": {
        "linkedin": "https://www.linkedin.com/company/ignite-visibility/",
        "twitter": "http://twitter.com/ignitev",
        "facebook": "https://www.facebook.com/ignitevisibility/",
        "instagram": "https://www.instagram.com/ignitevisibility/?hl=en"
    },
    "phone": "6197521955",
    "logo": "https://img.shgstatic.com/clutch-static-prod/image/scale/50x50/s3fs-public/logos/ignite.jpg",
    "services": [
        "Search Engine Optimization",
        "Advertising",
        "Email Marketing",
        "Pay Per Click",
        "Social Media Marketing",
        "Web Design",
        "Web Development"
    ],
    "serviceFocus": [
        { "service": "Search Engine Optimization", "percentage": 40 },
        { "service": "Advertising", "percentage": 10 },
        { "service": "Email Marketing", "percentage": 10 },
        { "service": "Pay Per Click", "percentage": 10 },
        { "service": "Social Media Marketing", "percentage": 10 }
    ],
    "industries": [
        { "industry": "Automotive", "percentage": 10 },
        { "industry": "Education", "percentage": 10 },
        { "industry": "Franchises", "percentage": 10 },
        { "industry": "Home Services", "percentage": 10 },
        { "industry": "Insurance", "percentage": 10 }
    ],
    "clientFocus": [
        { "segment": "Midmarket ($10M - $1B)", "percentage": 50 },
        { "segment": "Enterprise (>$1B)", "percentage": 30 },
        { "segment": "Small Business (<$10M)", "percentage": 20 }
    ],
    "languagesCount": 9,
    "sponsored": true,
    "sourceUrl": "https://clutch.co/us/agencies/digital-marketing",
    "scrapedAt": "2026-08-15T17:56:39+00:00",
    "reviews": [
        {
            "reviewId": "165016",
            "headline": "Web Dev for Recruitment Company",
            "reviewer": "Lori Mabe",
            "role": "Senior Director, SelectQuote",
            "company": "SelectQuote",
            "reviewerIndustry": "Other industries",
            "reviewerLocation": "Overland Park, Kansas",
            "reviewerSize": "1,001-5,000 Employees",
            "date": "Nov 2, 2022",
            "dateIso": "2022-11-02",
            "rating": 5,
            "qualityRating": 5,
            "scheduleRating": 5,
            "costRating": 5,
            "willingToRefer": 5,
            "projectType": "Custom Software Development",
            "projectServices": [
                "Custom Software Development"
            ],
            "projectSummary": "Ignite Visibility (Formerly Outliant) has been hired to build a new CMS using Next.js and rebuilt a customer-facing website using WordPress. They have also managed the client's SEO, rebuilt the Zapier connections, and Supported QA.",
            "quote": "\"Their communication style is awesome.\"",
            "feedback": "Thanks to Ignite Visibility's (Formerly Outliant) work, the client expects to revamp around 20 websites in 17 months. Ignite Visibility's (Formerly...",
            "fullReview": [
                {
                    "section": "BACKGROUND",
                    "question": "Please describe your company and your position there.",
                    "answer": "I'm the Senior Director of Website Operations. My team and I manage approximately 20 different websites for our company. We work closely with our Ma..."
                },
                {
                    "section": "SOLUTION",
                    "question": "Describe the scope of work in detail, including the project steps, key deliverables, and technologies used.",
                    "answer": "Outliant will be providing support in the following key areas: Working with Infrastructure / DevOps to set up environments and workflow (i.e. bitbuc..."
                },
                {
                    "section": "RESULTS & FEEDBACK",
                    "question": "Can you share any measurable outcomes of the project or general feedback about the deliverables?",
                    "answer": "We expect to be able to completely revamp ~20 websites in 17 months. This is an extremely aggressive timeline, which we believe would not have been..."
                },
                {
                    "section": "RESULTS & FEEDBACK",
                    "question": "What did you find most impressive or unique about this company?",
                    "answer": "How knowledgeable the team is with regard to successfully setting up web platforms as well as the ease with which you can communicate with their tea..."
                }
            ],
            "projectCost": "$1,000,000 to $9,999,999",
            "projectDuration": "Nov. 2022 - Ongoing"
        }
    ]
}
```

#### All Available Fields

##### Core Company Fields

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Company name |
| `profileUrl` | string | Canonical Clutch profile URL |
| `slug` | string | Profile slug |
| `clutchPid` | string | null | Clutch's internal provider ID |
| `tagline` | string | null | Short positioning line shown on the company card |
| `description` | string | null | Full company bio from the profile page |
| `rating` | number | null | Overall star rating (0–5) |
| `reviewCount` | integer | Total reviews on Clutch |
| `verified` | boolean | Whether Clutch has verified the company |

##### Firmographics & Pricing

| Field | Type | Description |
|-------|------|-------------|
| `minProjectSize` | string | null | Minimum engagement the company accepts, e.g. `"$5,000+"` |
| `hourlyRate` | string | null | Published hourly-rate band, e.g. `"$150 - $199"` |
| `employeeCount` | string | null | Headcount band, e.g. `"10 - 49"`, `"1,000 - 9,999"` |
| `foundedYear` | integer | null | Year the company was founded |
| `languagesCount` | integer | null | Number of languages the company works in |

##### Location

| Field | Type | Description |
|-------|------|-------------|
| `headquartersLocation` | string | null | The office behind this listing — on a country-scoped search, the company's office in that country. Comma-separated and always ending in the country: `"San Diego, CA, United States"` where Clutch publishes a state or region, `"Warszawa, Poland"` where it doesn't. Roughly 4 in 10 addresses worldwide are the two-part form, so split from the right, not the left |
| `globalHeadquarters` | string | null | The company's registered head office, which can sit in another country entirely. Same two-or-three-part form |
| `offices` | object\[] | Every office Clutch publishes for the company: `{city, region, country, address, postalCode}`. Street address and postal code are filled in for the head office. `region` follows whatever Clutch itself publishes: the two-letter state or province code in the US and Canada, the constituent country in the UK (`"England"`, `"Scotland"`), and `null` elsewhere, because Clutch carries no region for most of the world. `city` and `country` are on every office |

##### Contact & Services

| Field | Type | Description |
|-------|------|-------------|
| `website` | string | null | Company website (de-tracked) |
| `phone` | string | null | Company phone number |
| `socialLinks` | object | The company's own accounts: `{linkedin, twitter, facebook, instagram}`, with `null` for any platform it doesn't list. Companies that publish none get an empty object `{}`, so you can tell "no accounts" apart from "has accounts" at a glance |
| `logo` | string | null | Company logo URL |
| `services` | string\[] | Services offered, e.g. `"Pay Per Click"`, `"Custom Software Development"` |

##### Percentage Breakdowns

| Field | Type | Description |
|-------|------|-------------|
| `serviceFocus` | object\[] | Share of the company's work by service line `[{service, percentage}]`, summing to 100% |
| `industries` | object\[] | Share of the client base by industry `[{industry, percentage}]`, summing to 100% |
| `clientFocus` | object\[] | Share of the client base by company size `[{segment, percentage}]` — `Enterprise (>$1B)`, `Midmarket ($10M - $1B)`, `Small Business (<$10M)` |

##### Row Metadata

| Field | Type | Description |
|-------|------|-------------|
| `sponsored` | boolean | `true` for paid / sponsored placements, `false` for organic |
| `sourceUrl` | string | The listing or profile URL that produced this row |
| `scrapedAt` | string | ISO-8601 timestamp when the row was captured |
| `reviews` | object\[] | Embedded reviews when `includeReviews=true` (see below) |

##### Review Fields (when `includeReviews=true`)

| Field | Type | Description |
|-------|------|-------------|
| `reviewId` | string | null | Clutch internal review ID, when surfaced |
| `headline` | string | null | The one-line engagement headline Clutch prints on the review card, naming the service and the client's sector, e.g. `"Digital Marketing Services for Sports Card Company"` |
| `reviewer` | string | null | Reviewer name (`"Anonymous"` or `null` for anonymous reviews) |
| `role` | string | null | Reviewer's job title plus their organisation, exactly as Clutch prints it, e.g. `"Digital Marketing Manager, DECKED"` |
| `company` | string | null | The reviewer's organisation on its own, split out of `role` for filtering and matching, e.g. `"DECKED"` |
| `reviewerIndustry` | string | null | Industry of the reviewer's company |
| `reviewerLocation` | string | null | Location of the reviewer's company |
| `reviewerSize` | string | null | Employee band of the reviewer's company, e.g. `"11-50 Employees"` |
| `date` | string | null | Review date exactly as Clutch displays it, e.g. `"Nov 2, 2022"` |
| `dateIso` | string | null | The same date as `YYYY-MM-DD`, e.g. `"2022-11-02"` — sort newest-first, cut "reviews since 2024", or join to your own data with no date conversion at your end |
| `rating` | number | null | Overall review rating (0–5) |
| `qualityRating` | number | null | "Quality" sub-rating (0–5) |
| `scheduleRating` | number | null | "Schedule" sub-rating (0–5) |
| `costRating` | number | null | "Cost" sub-rating (0–5) |
| `willingToRefer` | number | null | "Willing to refer" sub-rating (0–5) |
| `projectType` | string | null | Top-line project category, e.g. `"Custom Software Development"` |
| `projectServices` | string\[] | All services tagged on the project |
| `projectSummary` | string | null | What the provider actually did, in Clutch's own words: scope and deliverables in one paragraph, e.g. `"Ignite Visibility provided SEO and digital PR services for a pest control products company."` |
| `quote` | string | null | Reviewer's pull quote |
| `feedback` | string | null | The results-and-outcomes paragraph of the review: what changed for the client, in their words |
| `fullReview` | object\[] | The complete interview behind the review, as `{section, question, answer}` entries: roughly 12 per review, grouped into Background, Opportunity / Challenge, Solution and Results & Feedback. Covers project goals, why this vendor was picked, team size assigned, the full scope of work, measurable outcomes and areas for improvement |
| `projectCost` | string | null | Budget band where the client disclosed it, e.g. `"$10,000 to $49,999"`. Roughly 4 in 10 reviewers withhold it, and those read `"Confidential"` |
| `projectDuration` | string | null | Project dates as reported, e.g. `"July 2021 - Ongoing"` |

### Tips for Best Results

- **Filters first, URLs second.** The `category` + `country` dropdowns cover most lead-list use cases without ever touching a URL. Reach for `searchUrls` only when you need a Clutch sub-category page that isn't in the dropdown (e.g. `/agencies/digital-marketing`) or when you already have a list of profile slugs to enrich.
- **Match the country and category for best volume.** `category=development` + `country=us` will return the largest pool. Some country / sub-category combos have no regional page on Clutch — when that happens the actor automatically falls back to the global listing for that category. For pulls in the 10,000-row range, splitting into per-country runs is easier to QA than one giant run.
- **Free-text search isn't supported.** Clutch's own keyword search box returns nothing that can be collected, so the actor works from category, country, and direct URLs instead. To target a niche, paste the closest Clutch sub-category URL into `searchUrls`.
- **Turn reviews off when you only want the directory.** With `includeReviews=false` you still get names, ratings, hourly rates, websites, phone numbers, offices, and all three percentage breakdowns, and you pay only the company-row price. Reviews are the one part of a run that costs extra.
- **Rank on the percentage breakdowns, not just the star rating.** Because `serviceFocus`, `industries`, and `clientFocus` each sum to 100%, you can shortlist on things a rating can't express — "agencies putting 30%+ of their work into SEO", or "firms whose client base is majority enterprise" — straight from the dataset.
- **Sort the dataset, don't pre-filter.** Every row carries `rating` and `reviewCount`, and every review carries `dateIso`, so quality and recency cuts (≥ 4-star, ≥ 50 reviews, nothing older than 2024) are one click away in the Apify dataset viewer or one line of code downstream. The actor itself only filters at the URL level so you never pay for rows that get thrown away.
- **Reviews come nested, not as separate rows.** One row per company with the reviews embedded, so unpack the `reviews` array downstream if you need a flat table for BI tools. Two things Clutch never publishes: reviewer email, which is redacted on every card, and the name of anyone who posted anonymously — those come through as `"Anonymous"` or `null`.

### Pricing

**From $1.80 per 1,000 results — pay-per-event. No compute charges, no run-time surprises.**

A result is one company profile. From October 25, 2026, the price drops as your Apify loyalty tier goes up (until then every plan pays the flat $1.80 per 1,000):

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.21 | $0.20 | $0.19 | $0.18 |
| 1,000 | $2.15 | $2.05 | $1.90 | $1.80 |
| 10,000 | $21.50 | $20.50 | $19.00 | $18.00 |
| 100,000 | $215.00 | $205.00 | $190.00 | $180.00 |

Client reviews are the only add-on: from $0.50 per 1,000 reviews on Gold ($0.53 Silver, $0.56 Bronze, $0.60 with no discount), charged only when **Include Client Reviews** is switched on. Leave it off and a run costs the company-row price alone. If a run returns zero rows, you pay nothing.

### Integrations

Export your data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **API** — Access results programmatically via the Apify API
- **Webhooks** — Get notified when a run completes
- **Google Sheets** — Direct spreadsheet export
- **Zapier / Make / n8n** — Automate workflows with 1,000+ app integrations
- **Slack / Email** — Notifications on new results
- **Datasets** — Download as JSON, CSV, XML, or Excel

### Legal & Ethical Use

This actor extracts publicly visible data from Clutch.co for legitimate B2B research, lead generation, market intelligence, and competitor analysis. Users are responsible for complying with applicable laws, Clutch.co's Terms of Service, and data-protection regulations (GDPR, CCPA) in their jurisdiction. Do not use the extracted data for spam, harassment, or any illegal purpose. When publishing or redistributing review content, attribute Clutch.co and respect the original reviewer's contribution.

# Actor input Schema

## `searchUrls` (type: `array`):

Paste one or more Clutch.co URLs. Accepts category listings (e.g. https://clutch.co/agencies, https://clutch.co/developers), country-scoped listings (e.g. https://clutch.co/us/agencies/creative), or individual company profiles (https://clutch.co/profile/<slug>). Filters in the URL are honored as-is.

## `category` (type: `string`):

Top-level Clutch category to search. Ignored when you provide URLs above (the URL already specifies the category).

## `country` (type: `string`):

Restrict results to companies in a specific country. Some country/category combinations don't have a regional listing — in that case the actor falls back to the global listing for that category.

## `includeReviews` (type: `boolean`):

Embed each company's client reviews (with quality, schedule, and cost sub-ratings) on the result row. Disable for faster, cheaper runs that return only the company-card data.

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

Cap on the number of reviews captured per company (most recent first). Set to 0 to take every review that fits on one company row — around 1,500, which is more reviews than all but a handful of Clutch profiles have. Ignored when 'Include Client Reviews' is off.

## `maxResults` (type: `integer`):

Hard cap on total company rows across all sources. Default 100 — increase for bigger runs, or set to 0 for no cap (an internal upper limit of 100,000 still applies to prevent infinite pagination). The actor stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots.

## Actor input object example

```json
{
  "searchUrls": [],
  "category": "all",
  "country": "all",
  "includeReviews": true,
  "maxReviewsPerCompany": 20,
  "maxResults": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of scraped companies with the most useful columns at a glance. 'Office (this listing)' is the office in the country you searched; 'Global HQ' is the registered head office.

## `mix` (type: `string`):

Each company's three percentage breakdowns side by side: share of work by service line, share of client base by industry, and share of client base by company size (enterprise, midmarket, small business). Every set sums to 100%.

# 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 = {
    "searchUrls": [],
    "category": "all",
    "country": "all",
    "includeReviews": true,
    "maxReviewsPerCompany": 20,
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/clutch-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 = {
    "searchUrls": [],
    "category": "all",
    "country": "all",
    "includeReviews": True,
    "maxReviewsPerCompany": 20,
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/clutch-scraper").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 '{
  "searchUrls": [],
  "category": "all",
  "country": "all",
  "includeReviews": true,
  "maxReviewsPerCompany": 20,
  "maxResults": 100
}' |
apify call solidcode/clutch-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,solidcode/clutch-scraper"
        }
    }
}
```

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/bgcyg36LCEliweSA4/builds/MA2gTUPI8Jlw0665D/openapi.json
