Clutch.co Companies & Reviews Scraper — Agency Leads & Pricing
Pricing
from $2.00 / 1,000 company results
Clutch.co Companies & Reviews Scraper — Agency Leads & Pricing
Scrape Clutch.co companies and agencies: ratings, reviews, hourly rates, project sizes, services, locations and full company profiles for lead generation, competitor research and automation. Filter by rating, size, price and service. Export agency leads to CSV, Excel, JSON or API.
Pricing
from $2.00 / 1,000 company results
Rating
0.0
(0)
Developer
Zapticx
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
🏢 Clutch.co Companies & Reviews Scraper — Agency Leads, Pricing & Services
Clutch.co scraper for B2B lead generation, competitor research and agency sourcing. Point it at any Clutch directory — web development companies in Austin, SEO and marketing agencies in London, software development agencies across the US — and get a clean list of Clutch companies: rating, review count, verification badge, hourly rate, minimum project size, team size, services, location, website and Clutch profile link, plus whether each listing is sponsored or organic and where it ranks.
Two optional extras: profile enrichment adds full company profiles (description, founding year, offices, social profiles, industries, client focus, focus areas), and reviews collects agency reviews written by real clients (ratings breakdown, project details, reviewer role, interview Q&A) into a separate reviews dataset.
Pricing: $2.00 per 1,000 companies, $4.00 per 1,000 enriched profiles, $0.50 per 1,000 reviews (details). Reviews require profile enrichment, so companies processed for reviews also incur the profile-enrichment charge.
Export to CSV, Excel or JSON, use the Apify API, schedule runs, or connect Make, Zapier, n8n, CRMs and AI workflows.
Data source: Clutch.co
What can you do with this Actor?
- 🎯 Build agency and company lead lists — every company in a Clutch category, country or city, with website, phone and Clutch profile.
- 🥊 Compare competitors — ratings, review counts, pricing bands, team size and service mix side by side.
- 💲 Research agency pricing — hourly-rate bands and minimum project sizes, normalized to numbers you can sort and chart.
- ⭐ Find highly rated firms — filter by rating, number of reviews and verification badge.
- 🤝 Source vendors — shortlist agencies that match your budget, team-size and service requirements.
- 💬 Analyze client reviews — what clients say, project sizes, durations and industries, with per-category ratings.
- 🧩 Compare service focus — the share of work each company puts into each service, plus industries and client focus.
- 🗺️ Find companies by geography — any Clutch city or country directory, plus country, city and state filters.
- 📇 Populate CRMs — export to CSV/Excel or push rows into your CRM through the API or an automation tool.
- 🤖 Feed AI and BI workflows — structured JSON ready for dashboards, enrichment pipelines and LLM analysis.
How to use this Actor
- 👉 Register for a free Apify account: no credit card required.
- 🎉 Just click Sign up free on Apify → and complete a quick signup.
- 💰 Apify's free plan includes $5 of usage every month, enough to try this Actor.
- 🔗 Open the Actor and add one or more Clutch URLs: a directory (
https://clutch.co/web-developers/austin) and/or company profiles (https://clutch.co/profile/...). - ⚙️ Choose the mode: directory data only (default, cheapest), profile enrichment, and optionally client reviews.
- 🔍 Add filters if you want (rating, reviews, team size, hourly rate, project size, location, services, verification, organic/sponsored).
- 📏 Set limits: maximum companies, pages per URL and requests per run.
- ▶️ Click Start. The default run (15 companies, directory data only) finishes in well under a minute.
- 📥 Export to CSV, Excel or JSON (tip: export the Companies view for a clean spreadsheet), or use the API and integrations.
Features
- Clutch directory scraping — service categories, country and city directories, followed page by page until your limits.
- Direct company profile URLs — scrape specific companies by their Clutch profile link.
- Profile enrichment — description, tagline, founding year, every office, languages, timezones, social profiles and Clutch Certified services.
- Client reviews — title, date, overall and Quality / Schedule / Cost / Willing to Refer ratings, quote, project size and length, services, reviewer role, industry, location and company size, verification and the interview Q&A.
- Sponsored vs organic detection — paid "Sponsor" placements are flagged; ad-only blocks are not mixed into the ranking.
- Stable ranking — overall rank, organic rank and page position computed by the Actor.
- Service percentages — each company's service mix with the share of work per service.
- Industry, client-size and focus data — industries, client focus, technologies, frameworks, platforms and other focus areas (with enrichment).
- Multiple offices — every office with address, phone and size, plus the headquarters (with enrichment).
- Pricing and team-size normalization — "$50 - $99 / hr" →
hourlyRateMin50,hourlyRateMax99; "$10,000+" → 10000; "50 - 249" → 50 and 249. - Filters before enrichment — filtered-out companies are never enriched, reviewed or charged.
- Deduplication — a company that appears in several of your URLs is returned once.
- Resume and checkpointing — if a run is migrated or aborted and resurrected, it continues where it stopped without repeating results.
- Request-budget protection — a hard cap on requests per run.
- Spending-limit protection — the run stops cleanly before a result your maximum cost per run cannot pay for.
- API, scheduling and webhooks — everything the Apify platform offers.
- Separate reviews dataset — companies and reviews never mix in one table.
Data fields
Company rows always contain the same set of fields; fields Clutch does not publish for a company are null (or an empty list).
| Group | Main fields |
|---|---|
| Company identity | companyName, companyId, companySlug, clutchProfileUrl, website, websiteDomain, logoUrl, phone |
| Ratings & verification | rating, reviewCount, verificationStatus, isVerified, isPremierVerified, clutchSummary |
| Pricing | hourlyRateText, hourlyRateMin, hourlyRateMax, minProjectSizeText, minProjectSizeAmount |
| Company size | employeeCountText, employeeMin, employeeMax |
| Location | locationText (location shown on the listing); streetAddress, city, region, postalCode, countryCode (company address, often the headquarters) |
| Services | primaryService, services (name, percentage of work, Clutch Certified) |
| Profile enrichment | tagline, description, foundedYear, headquarters, offices, officeCount, languages, timezones, linkedinUrl, facebookUrl, twitterUrl, instagramUrl, socialProfiles, clutchCertifiedServices |
| Focus areas | industries, clientFocus, focusAreas, frameworks, programmingLanguages, cmsPlatforms, ecommercePlatforms, applicationPlatforms, mobilePlatforms |
| Ranking | sponsored, featuredListing, overallRank, organicRank, pagePosition, pageNumber, rankContinuity |
| Source metadata | directoryTitle, directoryTotalCompanies, sourceUrl, sourcePageUrl, recordSource, profileStatus, profileError, scrapedAt, profileScrapedAt |
Reviews (separate dataset): companyId, companyName, reviewId, reviewUrl, reviewTitle, reviewDate, overallRating, qualityRating, scheduleRating, costRating, willingToReferRating, quote, projectSummary, feedbackSummary, servicesProvided, projectSize, projectLength, reviewerPosition, reviewerCompany, reviewerIndustry, reviewerLocation, reviewerCompanySize, reviewType, reviewVerified, reviewQA and more.
The datasets include ready-made table views: Companies, Ranking & sponsorship, Pricing & size (numeric), Enriched profiles, Services & focus and Reviews.
Input
| Field | What it does |
|---|---|
startUrls | Clutch directory URLs and/or company profile URLs. |
enableProfileEnrichment | Add full company profiles (default off). |
includeReviews | Collect client reviews into the reviews dataset (default off; also counts each company as an enriched profile). |
maxReviewsPerCompany | Reviews per company (default 10, max 1000). |
minRating / maxRating, minReviews / maxReviews | Rating and review-count filters. |
minEmployees / maxEmployees, minHourlyRate / maxHourlyRate | Team-size and hourly-rate filters (band overlap). |
minProjectSize / maxProjectSize | Minimum-project-size filters (USD). |
countryCodes, cities, regions, services | Location and service filters. |
verificationStatus | any, verified, premierVerified, unverified. |
listingType | all, organic, sponsored. |
maxItems | Maximum unique companies in total (default 100; 0 = no limit). |
maxPagesPerUrl | Directory pages per URL (0 = follow every page). |
maxRequestsPerRun | Safety cap on requests (default 2,000). |
failRunIfUnhealthyPercentAbove | Optionally fail the run if too many pages fail. |
deduplicate | Return each company once across all URLs (default on). |
Example A — listing only (fast, cheapest)
15 web development companies in Austin, directory data only. Cost: 15 company results = $0.03.
{"startUrls": [{ "url": "https://clutch.co/web-developers/austin" }],"maxItems": 15}
Example B — companies with full profiles
100 SEO agencies in London with profile enrichment. Cost: up to 100 × ($0.002 + $0.004) = up to $0.60.
{"startUrls": [{ "url": "https://clutch.co/seo-firms/uk/england/london" }],"enableProfileEnrichment": true,"maxItems": 100}
Example C — companies, profiles and reviews
50 app developers in Seattle with up to 10 reviews each. Reviews require visiting each profile, so every company is also an enriched profile. Cost: up to 50 × ($0.002 + $0.004) + 500 × $0.0005 = up to $0.55.
{"startUrls": [{ "url": "https://clutch.co/app-developers/seattle" }],"enableProfileEnrichment": true,"includeReviews": true,"maxReviewsPerCompany": 10,"maxItems": 50}
Example D — market research with filters
Organic (non-sponsored) US web development companies rated 4.5+, with at least 10 reviews, 10–249 people, charging up to $99/hr. Filters run before any profile is opened, so only matching companies are enriched and charged.
{"startUrls": [{ "url": "https://clutch.co/us/web-developers" }],"enableProfileEnrichment": true,"minRating": 4.5,"minReviews": 10,"minEmployees": 10,"maxEmployees": 249,"maxHourlyRate": 99,"services": ["Web Development"],"listingType": "organic","maxItems": 200,"maxPagesPerUrl": 20}
Output
Real output, shortened for readability; the full rows contain all fields listed above.
Company (directory data only)
{"resultType": "company","companyId": "54510","companyName": "Coalition Technologies","clutchProfileUrl": "https://clutch.co/profile/coalition-technologies","website": "https://coalitiontechnologies.com/contact/","rating": 4.8,"reviewCount": 167,"verificationStatus": "Premier Verified","minProjectSizeText": "$1,000+","minProjectSizeAmount": 1000,"hourlyRateText": "$50 - $99 / hr","hourlyRateMin": 50,"hourlyRateMax": 99,"employeeCountText": "50 - 249","employeeMin": 50,"employeeMax": 249,"locationText": "Austin, TX","city": "Los Angeles","region": "CA","countryCode": "US","primaryService": "Search Engine Optimization","services": [{ "name": "Search Engine Optimization", "percentage": 70, "clutchCertified": true },{ "name": "Web Development", "percentage": 10, "clutchCertified": true }],"sponsored": false,"pagePosition": 4,"overallRank": 4,"organicRank": 2,"directoryTitle": "Top Web Development Companies in Austin","profileStatus": "notRequested"}
locationText is the location shown on the Clutch listing (in a city directory, the office in that city). city, region and countryCode come from the company address Clutch publishes, which is often the headquarters — that is why this Austin listing has city: "Los Angeles". The default Companies table shows locationText.
Enriched company (profile enrichment on)
{"companyName": "Imaginovation","tagline": "Trusted Partner in Software, AI, & App Development","foundedYear": 2011,"website": "https://imaginovation.net/","linkedinUrl": "https://www.linkedin.com/company/imaginovation-llc/","officeCount": 1,"headquarters": {"city": "Raleigh", "region": "NC", "countryCode": "US","phone": "919-568-1256", "employeeCountText": "16 - 20"},"languages": ["English"],"timezones": ["Eastern Standard Time (EST)"],"clientFocus": [{ "name": "Midmarket ($10M - $1B)", "percentage": 40 },{ "name": "Small Business (<$10M)", "percentage": 35 },{ "name": "Enterprise (>$1B)", "percentage": 25 }],"focusAreas": [{ "group": "AI Expertise", "name": "Machine Learning", "percentage": 20 },{ "group": "CMS Focus", "name": "WordPress CMS", "percentage": 100 }],"recordSource": "profile","profileStatus": "enriched"}
Review (reviews dataset)
{"resultType": "review","companyId": "87062","companyName": "Imaginovation","reviewId": "306912","reviewTitle": "Custom Software Development for Healthcare Company","reviewDate": "2024-08-12","overallRating": 5.0,"qualityRating": 5.0,"scheduleRating": 5.0,"costRating": 5.0,"willingToReferRating": 5.0,"quote": "Imaginovation aligns with our company culture, and there's a lot of mutual respect amongst their team members.","servicesProvided": ["Custom Software Development"],"projectSize": "Confidential","projectLength": "Jan. 2023 - Ongoing","reviewerPosition": "COO & Product Manager, Everflex Health","reviewerIndustry": "Other industries","reviewerCompanySize": "201-500 Employees","reviewType": "Phone Interview","reviewVerified": true,"reviewQA": [{ "section": "BACKGROUND", "question": "Introduce your business and what you do there.", "answer": "…" }]}
Where are the reviews?
Company records are stored in the run's default dataset. When review extraction is enabled, review records are stored in a separate run-scoped reviews dataset that belongs to that run (it is not a shared, globally named dataset). You find it:
- in the run's Output tab, under Reviews;
- in the run's Storage tab, among the run's datasets;
- through the API: the run object lists it as
storageIds.datasets.reviews(it is also in the run'sRUN_SUMMARYrecord asreviews.datasetId).
Join reviews to companies with companyId. When reviews are off, the run's reviews dataset still exists but stays empty.
Exporting
For a clean spreadsheet with the most useful columns, export the Companies view. The full dataset export includes all available fields (useful for the API and advanced analysis).
Pricing
This Actor uses pay-per-event pricing. You pay for successfully delivered results.
- Company result:
$0.002each — $2.00 / 1,000 - Profile enrichment:
$0.004per successfully enriched company — $4.00 / 1,000 - Review result:
$0.0005each — $0.50 / 1,000
Reviews include profile enrichment: when reviews are enabled, each processed company is also charged one profile-enrichment event because its Clutch profile must be visited to collect the reviews. Example: 3 companies with 5 reviews each = 3 × $0.002 + 3 × $0.004 + 15 × $0.0005 = $0.0255.
| Example | Price |
|---|---|
| 1,000 listing companies | $2.00 |
| 1,000 enriched companies | $2 + $4 enrichment = $6.00 |
| 1,000 companies with 10 reviews each | $2 + $4 enrichment + $5 reviews = $11.00 |
| 100 companies with up to 10 reviews each | up to $1.10 |
Actual charges depend on the results actually delivered. Filtered-out companies, duplicates, failed profiles and repeated reviews are never charged; a profile that could not be read leaves the company as a directory-only row with no enrichment charge. Apify also charges a tiny standard Actor-start fee per run.
Maximum cost per run. You can set a maximum cost for each run in Apify. Before delivering each paid result, the Actor checks that the remaining limit can pay for the complete result (for example, both the company and its enrichment). If it cannot, the run stops cleanly with the stop reason maxTotalChargeReached. Everything already delivered stays in your datasets, and a company is never delivered half-priced.
Filtering
Filters are checked on directory results before any profile or review is requested, so rejected companies cost nothing.
- Filters combine with AND. A company must match every filter you set (e.g. rating + reviews + employees + service).
- Values within one list combine with OR.
"services": ["Web Development", "Web Design"]keeps companies offering either. - Unknown values fail an active filter. A company with an undisclosed hourly rate is excluded while an hourly-rate filter is set.
- "Not yet reviewed" companies have
rating= unknown (they fail any rating filter) andreviewCount= 0. - Employee and hourly-rate bands use overlap. Clutch publishes bands, so a company matches when its band overlaps your range:
10 - 49employees matchesminEmployees: 20;$50 - $99 / hrmatchesmaxHourlyRate: 75. - Minimum project size compares Clutch's single threshold (
$10,000+= 10000) withminProjectSize/maxProjectSize. - Services use Clutch's service names exactly, case-insensitive, with no fuzzy matching (e.g.
Web Development,Search Engine Optimization). - Cities ignore case and accents (
Poznan=Poznań). Countries use two-letter ISO codes (US,GB,CA;UKis accepted forGB). Regions use the codes Clutch shows (CA,NY,ON). - Location filters use the address Clutch publishes in its structured data (often the headquarters). In a city directory this can differ from the office shown in
locationText. - Listing type:
all(default),organic(skip paid placements) orsponsored(only paid placements). Profile URLs have no listing position, so this filter does not apply to them.
With filters on and maxPagesPerUrl 0, each directory is limited to 20 pages (1,000 companies examined); set a higher value to search deeper.
Sponsored vs organic ranking
Clutch shows paid Sponsor listings at the top of a directory's first page. Every directory row has sponsored (true/false). Separate ad blocks (featured carousels, Leaders Matrix) are not returned as ranked rows; a ranked company that also appears in a featured block gets featuredListing: true.
The Actor computes its own ranks because Clutch's position numbering is not reliable across pages: overallRank (all rows, 1, 2, 3…), organicRank (non-sponsored rows only) and pagePosition (position on its page). If a directory page cannot be loaded at all, ranks after the gap are left null (and rankContinuity is false) instead of guessing.
Reviews behaviour
- The first page of reviews (usually about 10) comes with the company profile, so no extra request is needed for it.
- More reviews require review pagination;
maxReviewsPerCompanysets how many you get per company (up to 1,000). - Reviews come in Clutch's default order; the Actor does not offer sorting options Clutch does not provide.
- Each review is returned once, identified by its Clutch review ID (a pinned/featured review that appears again on a later page is not duplicated).
- The interview Q&A (
reviewQA) and the four rating categories are included where Clutch publishes them. - Companies with no reviews return no review rows.
API — Clutch data through the Apify API
Run the Actor and get the companies in one call (replace YOUR_APIFY_TOKEN):
curl -X POST "https://api.apify.com/v2/acts/zapticx~clutch-companies-scraper/run-sync-get-dataset-items" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls":[{"url":"https://clutch.co/web-developers/austin"}],"maxItems":15}'
Python
# pip install apify-client (version 3.x)from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("zapticx/clutch-companies-scraper").call(run_input={"startUrls": [{"url": "https://clutch.co/web-developers/austin"}],"enableProfileEnrichment": True,"includeReviews": True,"maxReviewsPerCompany": 10,"maxItems": 20,})for company in client.dataset(run.default_dataset_id).iterate_items():print(company["companyName"], company["rating"], company["hourlyRateText"])# Reviews live in the run's separate "reviews" dataset.for review in client.dataset(run.storage_ids.datasets.reviews).iterate_items():print(review["companyName"], review["overallRating"], review["reviewTitle"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('zapticx/clutch-companies-scraper').call({startUrls: [{ url: 'https://clutch.co/web-developers/austin' }],enableProfileEnrichment: true,includeReviews: true,maxReviewsPerCompany: 10,maxItems: 20,});const { items: companies } = await client.dataset(run.defaultDatasetId).listItems();console.log(companies.map((c) => `${c.companyName} ${c.rating}`));// Reviews are in the run's separate "reviews" dataset.const { items: reviews } = await client.dataset(run.storageIds.datasets.reviews).listItems();console.log(`${reviews.length} reviews`);
Make, Zapier, n8n and automation
Connect Actor runs and datasets to other tools through Apify's integrations, webhooks and API:
- Make / Zapier / n8n — trigger a run on a schedule or event, then read the dataset and send new companies to Google Sheets, HubSpot, Airtable or Slack.
- Webhooks — call your endpoint when a run finishes and import the dataset automatically.
- AI workflows — pass companies and reviews to an LLM to summarize client feedback, score vendors or draft outreach.
Scheduling
Use Apify Schedules to run the Actor automatically:
- Weekly competitor monitoring — track ratings, review counts and pricing bands of the agencies you compete with.
- Monthly agency discovery — refresh a city or category directory to catch new companies.
- Periodic review research — collect new client reviews for a shortlist of companies.
- Recurring lead-list refreshes — keep your CRM's agency data current.
Limitations
- The fields available vary by company: Clutch does not publish every value for every firm.
- Some directory listings show no website; profile enrichment fills it from the company profile when available.
- No email extraction: this Actor does not collect email addresses.
- Results depend on Clutch pages remaining publicly accessible; temporary access problems can slow or stop a run, and the run keeps everything collected.
- Clutch can change its site; the Actor is maintained to follow such changes.
- Companies with no reviews return no review rows.
- Coverage (which companies and locations exist) is whatever Clutch lists.
FAQ
Can I scrape Clutch reviews? Yes. Turn on Include client reviews and set Maximum reviews per company. Reviews go to the run's separate reviews dataset.
Can I scrape multiple Clutch URLs? Yes. Add as many directory and profile URLs as you like; maxItems is the total across all of them, and duplicates are removed.
Can I scrape direct company profiles? Yes. Add https://clutch.co/profile/... URLs; they are always returned with full profile details.
Can I filter by rating? Yes, with minRating / maxRating (and minReviews / maxReviews for review counts).
Can I filter by hourly rate? Yes, with minHourlyRate / maxHourlyRate in USD (band overlap).
Can I filter by company size? Yes, with minEmployees / maxEmployees (band overlap).
Are sponsored listings identified? Yes. Every directory row has sponsored (true/false), and organicRank ranks only non-sponsored rows (company profile URLs have no listing position, so these fields are empty for them). Use listingType: "organic" to skip paid placements.
Where are reviews stored? In the run's separate reviews dataset (Output tab → Reviews), linked to companies by companyId.
Does enabling reviews cost profile enrichment? Yes. Reviews require visiting company profile pages, so companies processed for reviews are returned as enriched profiles and incur the profile-enrichment charge in addition to review-result charges.
Can I export CSV or Excel? Yes, from the run's Output/Storage tab, or through the API.
Can I use the API? Yes. See the API section for curl, Python and JavaScript.
Can I schedule runs? Yes, with Apify Schedules (daily, weekly, monthly or a custom cron).
Why are some fields null? Clutch does not publish every value for every company, and profile-only fields stay empty unless profile enrichment is on (profileStatus tells you whether a profile was read).
Does this scrape email addresses? No, this Actor does not extract email addresses. You get websites, phone numbers and social profiles where Clutch lists them.
What happens if my spending limit is reached? The run stops cleanly before any result it cannot fully charge. Everything already delivered stays available, and the run summary shows maxTotalChargeReached.
Troubleshooting
- No companies found — check that the URL is a Clutch directory or profile that opens in your browser, and that your filters are not excluding everything (see
RUN_SUMMARY→filters.rejectionsByReason). - Unsupported Clutch URL — Clutch search pages are not supported; use a category, country or city directory, or profile URLs.
- Missing optional fields — turn on profile enrichment; some values are simply not published by Clutch.
- Spending limit reached — raise the maximum cost per run, or lower
maxItems/ reviews per company. - Request budget reached — raise Maximum requests per run; the run kept everything collected so far.
- Source temporarily unavailable — the run stops early and keeps its data; try again later.
- Can't find the reviews — open the run's Output tab → Reviews, or use the run's
storageIds.datasets.reviewsthrough the API. It is empty unless Include client reviews is on. - Filter too restrictive — check
RUN_SUMMARY→filtersfor how many companies each filter rejected.
About Zapticx
Built and maintained by Zapticx. Need another field or a custom dataset? Open an issue on the Actor's Issues tab.
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Clutch.co or its operator, Clutch Co LLC.