Clutch Real-Time Data: Agencies, Rates & Reviews
Pricing
from $2.50 / 1,000 results
Clutch Real-Time Data: Agencies, Rates & Reviews
Collect Clutch B2B agency and vendor data at scale: companies by service and market, full profiles with hourly rates, minimum project size and team size, published client reviews, and lead enrichment with websites, emails, and social profiles. Structured JSON streamed to your dataset in real time.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Emmanuel
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Clutch Real-Time Data
Collect Clutch B2B agency and vendor data at scale. Point it at a service and a market — software developers in New York, marketing agencies in Chicago, SEO firms in the UK — and get a clean, structured stream of companies with their rates, minimum project size, team size, location, ratings, and verification status. Turn on the detail pass and the same rows gain the company's full profile: description, website, complete service list, credentials, founding year, every office, and the published rating breakdown. Turn on reviews and each company carries its published client reviews — title, rating, date, reviewer role, metric scores, services bought, project size and length, plus the client summary and pull quote. Turn on lead details and each company gains contact emails and social profiles for outreach.
Everything streams to your dataset as it is collected, so rows appear in seconds and you can wire the same stream to your CRM with a webhook.
Free-trial notice: on a free Apify plan this Actor exports a 2-result sample per run so you can verify the output before paying. Upgrade to any paid Apify plan for full, unlimited results. Owners can change the sample size or switch to a hard block with
FREE_TIER_MAX_ITEMSandFREE_TIER_MODE.
Who this is for
- B2B sales and outbound teams building agency/vendor prospect lists with verified contact routes.
- Marketing and procurement teams shortlisting agencies by rate, engagement size, team size, and rating.
- B2B market researchers mapping who serves which service in which market, and how the market is priced.
- Local SEO and directory agencies comparing vendor density and positioning city by city.
- Review and reputation analysts studying client sentiment, project outcomes, and vendor quality signals.
- AI agents and data pipelines that need a fresh, structured vendor feed on demand.
What you can do with it
- Vendor shortlisting — pull 100 software development firms in Texas with hourly rates, minimum project size, team size, and ratings, then sort by cost and score.
- Territory mapping — run the same service across 20 cities and see where vendor density and pricing differ.
- Outreach at scale — add lead details to get company websites, contact emails, and LinkedIn/Instagram/Facebook/X/YouTube profiles, then push straight into your CRM.
- Review intelligence — collect published client reviews per vendor and track ratings, project sizes, and the services clients actually bought.
- Competitive benchmarking — compare a set of vendors on verification level, credentials, founding year, and service mix.
- Enrich an existing list — paste company links you already have and get the same rows back, fully detailed, in seconds.
Feature matrix
| Checkbox | What it does | Default | Adds time per run |
|---|---|---|---|
| Company search | Finds companies by service and market | On | — |
| Company URLs | Collects full details for specific company links | Off | Fast per company |
| Full company details | Adds description, website, services, credentials, founding year, offices, rating breakdown | Off | Adds a little extra time per company |
| Client reviews | Adds published client reviews, with a per-company depth control | Off | Adds a little extra time per company |
| Lead details (email discovery) | Adds contact emails and social profiles from the company's own website | Off | Adds a little extra time per company |
| Webhook delivery | Pushes every row to your own URL as it is collected | Off | None |
All three enrichments are independent and fill the same row. They never create a second row and never drop a partial result. Companies with no published website are still exported.
Input reference
Company search
| Field | Type | Default | Notes |
|---|---|---|---|
enableCompanySearch | boolean | true | Primary discovery feature. |
searchTasks[].service | string | — | What to browse. A service path like developers, agencies/digital-marketing, or a full Clutch directory link. The Console shows 35 suggestions with friendly names; any service path is accepted. |
searchTasks[].location | string | — | Optional market. City, state, province or country as a plain name (New York, Texas, Chicago, London, India, uk). Industry and ownership segments work too (healthcare-industry, women-owned, startups, enterprise, small-business). |
searchTasks[].maxResults | integer | 10 | Rows this one lookup may return. Larger numbers are collected across further directory pages. |
Prefilled on first run:
{"enableCompanySearch": true,"searchTasks": [{ "service": "developers", "location": "New York", "maxResults": 10 }]}
A multi-market run — lookups run side by side, so it takes as long as the slowest lookup rather than the sum:
{"enableCompanySearch": true,"searchTasks": [{ "service": "developers", "location": "Texas", "maxResults": 60 },{ "service": "web-designers", "location": "Chicago", "maxResults": 60 },{ "service": "seo-firms", "location": "uk", "maxResults": 20 }]}
If a service or market does not exist in the directory, that lookup reports it by name and the others continue.
Company URLs
| Field | Type | Default | Notes |
|---|---|---|---|
enableScrapeByUrl | boolean | false | Collect specific company pages. |
scrapeUrls | string[] | [] | Company links: https://clutch.co/profile/simform. Extra tracking parameters and anchors are stripped for you. |
{"enableCompanySearch": false,"enableScrapeByUrl": true,"scrapeUrls": ["https://clutch.co/profile/simform", "https://clutch.co/profile/bairesdev"]}
Details & enrichment
| Field | Type | Default | Notes |
|---|---|---|---|
enableCompanyDetails | boolean | false | Full company profile. |
enableReviews | boolean | false | Published client reviews on the same row. |
reviewsPerCompany | integer | 10 | Review depth per company (1–200). |
enableLeadDetails | boolean | false | Contact emails and social profiles from the company's own website. |
{"enableCompanySearch": true,"searchTasks": [{ "service": "agencies/digital-marketing", "location": "Chicago", "maxResults": 25 }],"enableCompanyDetails": true,"enableReviews": true,"reviewsPerCompany": 25,"enableLeadDetails": true,"concurrency": 3}
Output & limits
| Field | Type | Default | Notes |
|---|---|---|---|
concurrency | integer | 2 | How many company pages are enriched in parallel (1–4). |
Webhook delivery
| Field | Type | Default | Notes |
|---|---|---|---|
webhookUrl | string | "" | Every record is always saved to the dataset; a webhook is an additional real-time push. |
webhookFormat | json | slack | json | json posts the full record object; slack posts a Slack-friendly message payload. |
Connection
| Field | Type | Default | Notes |
|---|---|---|---|
proxyConfiguration | object | Apify Residential, US | Change only if you need another country or your own proxy links. |
Output
Each row is one company. Every field is optional except the identity fields, because enrichment fills only what exists.
| Field | Type | Description |
|---|---|---|
type | "company" | Record type. |
platform | "clutch" | Always clutch. |
featureType | "company_search" | "scrape_by_url" | Which feature produced the row. |
name | string | Company name. |
profileUrl | string | Company link. |
profileId | string | The directory's own company identifier — the dedupe key. |
tagline | string | Headline the company publishes above its description. (details) |
description | string | Company description, or the listing summary when details are off. |
website | string | Company website. (details) |
phone | string | Published phone. |
email, emails | string, string[] | Contact emails. (lead details) |
socials, linkedin, facebook, instagram, twitter, youtube | string[] / string | Social profiles. (lead details) |
hourlyRate, hourlyRateMin, hourlyRateMax | string, number, number | Published average hourly rate, e.g. $25 - $49 / hr → 25 / 49. |
minProjectSize, minProjectSizeValue | string, number | Published minimum engagement, e.g. $25,000+ → 25000. |
employees, employeesMin, employeesMax | string, number, number | Team-size band, e.g. 10 - 49 → 10 / 49. |
rating, reviewCount | number, integer | Aggregate client rating and how many reviews it is based on. |
reviewBreakdown | object | overall, quality, schedule, cost, willingToRefer. (details) |
services | string[] | Services the company is listed under. |
certifications | string[] | Verification and service credentials. (details) |
verified, verificationLevel | boolean, string | e.g. "Premier Verified". |
sponsored | boolean | Whether the row appeared as a paid placement. |
address | object | street, city, state, postalCode, country. (details) |
location | string | Headline location, e.g. Orlando, FL. |
offices | object[] | Every office: city, state, country, postalCode, address, phone, employees, isHeadquarters. (details) |
foundedYear | integer | Founded year. (details) |
logoUrl | string | Company logo. |
reviews | object[] | Published client reviews — see below. (reviews) |
detailsFetched / reviewsFetched / leadDetails | boolean | Which passes ran for this row. |
searchService, searchLocation, searchTaskIndex, searchTaskLabel | string / integer | Which lookup produced the row. |
source | "search" | "url" | Row origin. |
scrapedAt | string | ISO-8601 collection time. |
Each entry in reviews:
| Field | Type | Description |
|---|---|---|
reviewId | string | Review identifier when published. |
title | string | Review headline. |
rating | number | Overall score (0–5). |
date | string | Publication date. |
reviewer | string | Reviewer's role and company, e.g. CTO, Fintech Startup. |
reviewerName | string | Reviewer name when published. |
verified | boolean | Whether the review carries a verification badge. |
metrics | object | quality, schedule, cost, willingToRefer. |
services | string[] | Services the client bought. |
projectSize | string | Published project budget band. |
projectLength | string | Published project timeline. |
summary | string | Client's summary of the engagement. |
quote | string | Pull quote. |
Example row (trimmed):
{"type": "company","platform": "clutch","featureType": "company_search","name": "Simform","profileUrl": "https://clutch.co/profile/simform","profileId": "17572","location": "Orlando, FL","hourlyRate": "$25 - $49 / hr","hourlyRateMin": 25,"hourlyRateMax": 49,"minProjectSize": "$25,000+","minProjectSizeValue": 25000,"employees": "1,000 - 9,999","rating": 4.8,"reviewCount": 88,"verificationLevel": "Premier Verified","services": ["AI Development", "Custom Software Development", "Mobile App Development"],"website": "https://www.simform.com","detailsFetched": true,"searchTaskLabel": "developers | New York","scrapedAt": "2026-10-02T11:43:49.186Z"}
Webhooks
Set webhookUrl and every row is POSTed the moment it is collected — in addition to the dataset. Delivery is best-effort: a URL that does not answer never stops the run and never blocks a dataset write.
JSON
webhookFormat: "json" posts the full record object as the request body.
{ "webhookUrl": "https://hooks.zapier.com/hooks/catch/123/abc", "webhookFormat": "json" }
Slack
webhookFormat: "slack" posts a Slack incoming-webhook payload:
{"text": ":office: *Simform*\n*Location:* Orlando, FL\n*Services:* AI Development, Custom Software Development\n*Hourly rate:* $25 - $49 / hr\n*Min. project:* $25,000+\n*Team size:* 1,000 - 9,999\n*Rating:* 4.8 (88 reviews)\n*Website:* https://www.simform.com\n<https://clutch.co/profile/simform|View company>"}
{ "webhookUrl": "https://hooks.slack.com/services/T000/B000/XXXX", "webhookFormat": "slack" }
Use it from an AI agent (MCP)
This Actor is a standard Apify Actor, so any MCP-capable client can call it through the Apify MCP server. Add the server, point your client at clutch-real-time-data, and ask in plain language.
Example questions an agent can answer with it:
- "Find 40 digital marketing agencies in Chicago with hourly rates and review scores, and tell me which three are the best value."
- "Which software development firms in Texas charge under $100/hour and have at least 20 published reviews?"
- "Collect the 25 most recent client reviews for these five agencies and summarise what clients complain about."
- "Give me a list of UK SEO firms with a verified listing and a contact email."
A typical MCP call passes the same input object documented above:
{"enableCompanySearch": true,"searchTasks": [{ "service": "agencies/digital-marketing", "location": "Chicago", "maxResults": 40 }],"enableCompanyDetails": true,"enableReviews": true,"reviewsPerCompany": 10}
FAQ
Do I need a proxy? No. Apify's residential proxy is configured by default because it keeps results reliable at volume. Leave the Connection section alone unless you specifically need another country or your own proxy links.
How fresh is the data? Every run collects live data at the moment it runs. Servings, rates, ratings, and reviews reflect what is published right now — schedule the Actor to keep a feed current.
Why is a free run only 2 results? That is the free-trial sample, so you can verify the output shape before paying. Change FREE_TIER_MAX_ITEMS (owner setting) or upgrade to any paid plan for full output.
Why did a company come back without an email? Not every company publishes one. Lead details only add what the company's own website actually carries; the row is still exported with everything else.
Why are some rows missing details or reviews? Those passes add what exists. A company with no published description, no offices, or no client reviews simply contributes fewer fields — the row is never dropped.
What happens if a market does not exist? That lookup reports it by name and the other lookups continue. Check the service and market spelling — markets use plain names like Austin or texas, and countries use their short form where the directory does (uk, not united-kingdom).
Can I cap the cost of a run? Yes. Per-lookup maxResults is the main control, and the Actor always respects your Apify spending limit — it stops cleanly and writes its summary rather than overshooting.
How many rows can one run produce? Thousands. Rows stream to the dataset as they are collected, so memory stays flat on long runs.
Notes on fairness
This Actor collects only information the directory publishes publicly. Respect the target site's terms, your local regulations, and any applicable outreach and privacy law when you use the data — especially for contact details.