Use this Clutch scraper to export Clutch company listings from service-category and location URLs into a clean dataset for lead generation, vendor sourcing, market research, and competitor tracking. The current route queries Clutch's authorized, read-only MCP directory interface instead of waiting on Cloudflare-protected HTML pages.
Use it when you need a structured list of agencies or service providers from Clutch directory pages such as software developers, web developers, SEO agencies, or location-filtered categories. The Actor works as a Clutch company scraper for listings and as a practical Clutch.co scraper when you need data through Apify API, MCP, schedules, or integrations.
What data can it export?
Each company record includes structured provider fields returned by Clutch:
- Company name and Clutch profile URL
- Explicit Clutch source attribution and provider-profile link
- Website and employee fields retained as nullable compatibility fields
- Logo URL and verified badge status
- Rating and review count
- Minimum project size and hourly rate
- Location
- Listing description/summary
- Services and service-focus text
- Source URL, page URL, result position, scrape timestamp, and diagnostics
Profile-only fields such as full reviews, phone numbers, detailed postal address, legal filings, social links, websites, and employee counts are not included in this listing route.
Input recipes
Quick software-development lead sample
{
"startUrls": [{ "url": "https://clutch.co/developers" }],
"maxResults": 5,
"maxPagesPerUrl": 1
}
Compare two service categories
{
"startUrls": [
{ "url": "https://clutch.co/developers" },
{ "url": "https://clutch.co/web-developers" }
],
"maxResults": 100,
"maxPagesPerUrl": 2
}
Input example
{
"startUrls": [
{ "url": "https://clutch.co/developers" },
{ "url": "https://clutch.co/web-developers" }
],
"maxResults": 50,
"maxPagesPerUrl": 2,
"proxyConfiguration": { "useApifyProxy": true }
}
Input settings
| Field | Type | Required | Description |
|---|---|---|---|
startUrls |
array | yes | Clutch service-category URLs and supported human-readable location paths. |
maxResults |
integer | no | Maximum company records to save across all input URLs. |
maxPagesPerUrl |
integer | no | Maximum pagination depth per input URL. |
proxyConfiguration |
object | no | Retained so existing saved tasks remain valid. The official Clutch MCP route does not use a proxy. |
includeProfileDetails |
boolean | no | Advanced option kept off by default because this version focuses on category/search listing exports. |
Output example
{
"dataSource": "Clutch",
"sourceAttributionUrl": "https://clutch.co/profile/example-company",
"searchUrl": "https://clutch.co/developers",
"pageUrl": "https://clutch.co/developers",
"position": 1,
"companyId": "123456",
"name": "Example Company",
"profileUrl": "https://clutch.co/profile/example-company",
"websiteUrl": null,
"logoUrl": "https://img.shgstatic.com/clutch-static-prod/...png",
"isVerified": true,
"rating": 4.8,
"reviewCount": 86,
"reviewCountText": "86 reviews",
"minProjectSize": "$25,000+",
"hourlyRate": "$25 - $49 / hr",
"employees": null,
"location": "Lisbon, Portugal",
"description": "A software development company...",
"services": ["Custom Software Development"],
"serviceFocus": ["Custom Software Development", "Web Development"],
"tags": ["Custom Software Development", "Web Development"],
"allProjectsText": null,
"allProjectsUrl": null,
"sourceCategory": "developers",
"scrapedAt": "2026-08-02T17:46:01.472Z",
"diagnostics": { "status": "ok", "inputIndex": 0, "pageNumber": 1, "cardsOnPage": 5, "duplicate": false, "warnings": [], "route": "official-clutch-mcp" }
}
Who is it for?
This Actor is useful for sales teams building agency lead lists, marketers mapping service-provider categories, procurement teams shortlisting vendors, founders researching competitors, and analysts monitoring Clutch directory changes over time.
Tips for best results
- Start with one Clutch category URL and a small
maxResultsvalue to verify your filters. - Increase
maxPagesPerUrlfor deeper exports. - Use Clutch service-category URLs and human-readable location paths. Opaque numeric browser-filter parameters may not map to the official directory filters.
- De-duplication is based on Clutch profile URLs, so overlapping categories will not create duplicate rows.
Source attribution and responsible use
Every record identifies Clutch as its source and includes a direct provider-profile link. Preserve those fields when displaying or exporting the data. Use the Actor for authorized provider research and discovery, respect applicable data-retention and usage requirements, and do not remove source attribution.
Limits and troubleshooting
The Actor uses Clutch's official read-only MCP provider search. It retries transient failures within a shared four-minute work deadline, checkpoints unfinished pages, and fails loudly if no valid provider records are available. Profile reviews, contact details, outbound websites, and arbitrary browser-only filters are outside the current listing contract.
API usage
Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/clutch-companies-scraper').call({
startUrls: [{ url: 'https://clutch.co/developers' }],
maxResults: 25,
maxPagesPerUrl: 1,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
Python
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fetch_cat/clutch-companies-scraper").call(run_input={
"startUrls": [{"url": "https://clutch.co/developers"}],
"maxResults": 25,
"maxPagesPerUrl": 1,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~clutch-companies-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"startUrls":[{"url":"https://clutch.co/developers"}],"maxResults":25,"maxPagesPerUrl":1}'
MCP and agents
Use the Apify MCP server with this tool enabled:
https://mcp.apify.com/?tools=fetch_cat/clutch-companies-scraper
Add it to Claude Desktop or Claude Code with a command like:
claude mcp add apify-clutch "https://mcp.apify.com/?tools=fetch_cat/clutch-companies-scraper"
Example MCP JSON configuration:
{
"mcpServers": {
"apify-clutch": {
"url": "https://mcp.apify.com/?tools=fetch_cat/clutch-companies-scraper"
}
}
}
Example prompts:
- "Export 25 software development companies from Clutch and summarize the top-rated vendors."
- "Run the Clutch Companies Scraper for this category URL and return names, locations, ratings, and profile URLs."
Support
If you need a Clutch category route that does not work, open an issue on the Actor page and include the input URL, run ID, and expected result count.