Clutch Agencies Scraper — Ratings, Services & Pricing avatar

Clutch Agencies Scraper — Ratings, Services & Pricing

Pricing

from $4.00 / 1,000 agency scrapeds

Go to Apify Store
Clutch Agencies Scraper — Ratings, Services & Pricing

Clutch Agencies Scraper — Ratings, Services & Pricing

Scrape public Clutch.co agency directories for B2B leads and vendor research. Get validated agency names, profiles, websites, ratings, review counts, services, locations, pricing, team sizes, verification, sponsorship, and rank. Listing cards only; no full review text. $0.004/agency + usage.

Pricing

from $4.00 / 1,000 agency scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Share

Clutch Agencies Scraper is an Apify Actor for public Clutch.co agency directory pages. It accepts one or more listing URLs, or a single directory URL, and returns one validated record per agency card with the company name, Clutch profile URL, external website, rating, review count, services, location, pricing, team size, verification state, sponsorship state, result position, source page number, source URL, and scrape timestamp.

The one record in the dataset corresponds to one visible agency listing card from Clutch. That makes the output useful for B2B lead generation, vendor research, procurement shortlisting, and downstream enrichment. The actor is usable through Apify Console, API, schedules, integrations, and Apify MCP.

Best fit and connected workflows

This actor fits workflows that start from a Clutch category, service, or location directory and end with structured agency rows for analysis or follow-up. It is a natural fit when you want to:

  • collect agencies from one directory page or several related pages in a single run,
  • narrow a shortlist using visible card signals such as rating, reviews, services, or location,
  • keep verified agencies in view or route sponsored placements separately,
  • pass agency records into enrichment, CRM, procurement, or review-collection workflows,
  • capture public agency data for vendor comparison and market research.

For public review text and reviewer details, use Clutch Reviews Scraper after this Actor when the next step needs profile-linked review content. For a related Clutch workflow that uses a different detail contract, see Clutch.co Scraper - Agency Leads, Ratings & Pricing when your next step is focused on that actor's agency-detail output.

Practical scenario

Maya is building a procurement shortlist for a marketing team. She starts with https://clutch.co/agencies/seo and wants agencies in London with at least aa bounded number of rating, at least 10 visible reviews, and a verified badge. She runs the actor with location: "London", minRating: 4.5, minReviews: 10, and verifiedOnly: true.

The returned rows include company_name, website, star_rating, review_count, services, and is_verified. Maya compares the agency cards, opens the Clutch profile URLs for the strongest matches, and passes the websites into her outreach or enrichment workflow.

Input fields

FieldTypePurpose
searchUrlsarray[string]One or more public Clutch directory URLs. Takes precedence over categoryUrl.
categoryUrlstringA single Clutch directory URL or path such as /it-services.
locationstringAdds Clutch geolocation server-side for the supplied directory URLs.
maxResultsintegerCaps the number of validated agencies returned and charged.
maxPagesintegerSets a page limit per supplied directory URL.
minRatingnumberReturns agencies with at least this visible star rating.
minReviewsintegerReturns agencies with at least this visible review count.
verifiedOnlybooleanKeeps only cards with a visible verification badge.
excludeSponsoredbooleanRemoves sponsored or featured listing cards from the shortlist.
serviceKeywordstringKeeps cards whose visible services contain the keyword.
locationKeywordstringKeeps cards whose displayed location contains the keyword.
maxConcurrencyintegerControls how many Clutch directory requests run in parallel.

Example input

{
"searchUrls": [
"https://clutch.co/web-developers",
"https://clutch.co/agencies/seo"
],
"location": "United States",
"maxResults": 25,
"maxPages": 5,
"minRating": 4.5,
"minReviews": 10,
"verifiedOnly": true,
"excludeSponsored": true,
"serviceKeyword": "mobile app",
"maxConcurrency": 2
}

Output fields

FieldTypeMeaning
company_namestringAgency name shown on the listing card.
profile_urlstringCanonical public Clutch profile URL.
websitestring or nullExternal agency website resolved from the card.
taglinestring or nullShort positioning statement shown on the card.
star_ratingnumber or nullVisible Clutch rating from 0 to 5.
review_countinteger or nullVisible Clutch review count.
min_project_sizestring or nullDisplayed minimum project budget.
hourly_ratestring or nullDisplayed hourly price band.
employeesstring or nullDisplayed team-size band.
locationstring or nullPrimary location shown on the card.
servicesarray[string]Deduplicated visible services.
is_verifiedbooleanWhether the card had a visible verification badge.
is_sponsoredbooleanWhether the card was identified as sponsored or featured.
result_positionintegerOne-based position among validated agencies in the run.
page_numberintegerOne-based source page number.
source_urlstringExact Clutch directory page URL collected.
scraped_atstringUTC timestamp for extraction.

Illustrative output record

{
"company_name": "Example Agency",
"profile_url": "https://clutch.co/profile/example-agency",
"website": "https://example.com/",
"tagline": "Digital products built for growth.",
"star_rating": 4.8,
"review_count": 42,
"min_project_size": "$10,000+",
"hourly_rate": "$100 - $149 / hr",
"employees": "50 - 249",
"location": "New York, NY",
"services": ["Web Development", "Mobile App Development"],
"is_verified": true,
"is_sponsored": false,
"result_position": 1,
"page_number": 1,
"source_url": "https://clutch.co/web-developers",
"scraped_at": "2026-07-15T00:00:00.000Z"
}

How it works

The actor reads public Clutch directory pages and extracts listing cards. It supports multiple start URLs, a single-directory input, or the built-in digital-marketing agencies directory when both URL fields are empty.

searchUrls takes precedence over categoryUrl. location applies Clutch geolocation server-side. The remaining filters run against the collected cards. The output stores one validated dataset row per agency card, and the run also writes compact outcome records to OUTPUT and RUN_SUMMARY.

Pricing

This actor uses Pay per event plus Apify platform usage.

  • Actor start is charged once per run.
  • Each complete, validated agency row written to the default dataset is charged as the primary event.
  • Apify platform usage, including compute and proxy usage, is billed separately.

The live Pricing tab on the Apify Actor page shows the current pricing details. For an example, a run that writes fifty agency rows produces fifty row events, one start event, and platform usage charges.

Use with AI agents (MCP)

This actor is usable through Apify MCP. It exposes a focused tool for collecting public Clutch agency listing cards and returning structured rows plus run outcome records.

Tool description: Collect public Clutch directory listing cards, apply the requested filters, and return validated agency rows together with compact run outcome data for downstream agent decisions.

Actor identity: khadinakbar/clutch-listings-scraper

Scrape the public Clutch agency directory at https://clutch.co/agencies/seo with a maximum of 20 agencies, at least 4.5 stars, at leasta bounded number of reviews, and verified cards only. Return the dataset rows and the run summary so I can compare the agencies and continue with the profile URLs that match our shortlist criteria.

When you use this actor through MCP, read each dataset row as one agency listing card from a source page. profile_url is the canonical Clutch profile link, website is the external agency site when available, and is_verified and is_sponsored come from the card itself. page_number identifies the source page, and result_position shows the one-based order among validated agencies in the run.

Pagination is controlled by maxPages per starting URL, and maxResults caps the total validated agency rows. Because billing is per validated agency row plus platform usage, bounded inputs keep agent-initiated runs predictable.

Run with the Apify API

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/clutch-listings-scraper').call({
searchUrls: ['https://clutch.co/web-developers'],
maxResults: 10,
verifiedOnly: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems({ clean: true });
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("khadinakbar/clutch-listings-scraper").call(run_input={
"searchUrls": ["https://clutch.co/it-services"],
"maxResults": 10,
"excludeSponsored": True,
})
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
print(items)

Best results and outcome guidance

Start with one directory URL and a small maxResults value when you are checking a new category or geography. Add minRating, minReviews, verifiedOnly, and excludeSponsored when the shortlist needs clearer qualification rules.

Use location for Clutch-side geography and locationKeyword for card text matching. If a directory is deep, raise maxPages before increasing concurrency. For broader coverage across multiple Clutch pages, use searchUrls so each source URL can be tracked independently in the output.

Continue the workflow

Design note

I found that the dataset contract always includes is_sponsored in the output, even when excludeSponsored is used to filter the input. That keeps the shortlist easy to audit after the run.

FAQ

When should I use searchUrls instead of categoryUrl?

Use searchUrls when you want to scrape several directory pages in one run. Use categoryUrl when you have one Clutch listing page and want a single URL field.

How does this actor fit with Clutch Reviews Scraper?

This actor collects agency listing cards. Clutch Reviews Scraper is the next step when you need review bodies, reviewer details, or other public review content tied to a profile URL.

How do I route sponsored listings in a shortlist workflow?

Keep excludeSponsored off when you want sponsored cards to remain in the displayed order. Set it to true when you want an organic shortlist, while still keeping is_sponsored in the dataset for auditability.

What should I pass to an MCP client?

Pass one or more public Clutch directory URLs, a bounded maxResults, and any filter fields that match the shortlist criteria. Then read the dataset rows plus OUTPUT and RUN_SUMMARY for the run outcome and diagnostics.

Can I combine server-side geography with text filters?

Yes. Use location for Clutch geolocation, then use locationKeyword or serviceKeyword to narrow the collected cards by the text shown on each listing card.

Responsible use

This actor collects public business directory information from Clutch listing cards. Use the data in line with applicable laws, data-protection requirements, and Clutch's terms. Collect only the fields your workflow needs, and review downstream uses before outreach or enrichment.