Clutch.co Agency Leads Scraper avatar

Clutch.co Agency Leads Scraper

Pricing

from $1.80 / 1,000 results

Go to Apify Store
Clutch.co Agency Leads Scraper

Clutch.co Agency Leads Scraper

Scrape Clutch.co B2B agency and vendor directory listings by category (and optional location) into clean leads — name, rating, verification tier, employee/rate/min-project bands, phone, and a per-agency service-mix breakdown other Clutch scrapers skip.

Pricing

from $1.80 / 1,000 results

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share


🎯 What this scrapes

Clutch.co is the go-to B2B directory for agencies and software vendors — sales teams and buyers alike use its category+location listing pages (clutch.co/agencies/<category>[/<location>]) to shortlist providers. This Actor turns each listing page into structured leads: company name, star rating and review count, a premier/basic/none verification tier, employee-count and hourly-rate bands, minimum project size, phone number, and — the differentiator most Clutch scrapers skip — a per-agency service-mix breakdown (e.g. "60% SEO / 20% PPC / 20% content") parsed straight out of the same listing HTML. One category slug per run; combine with an optional location slug to narrow the pull.

🔥 What we handle for you

  • 🛡️ Browser fingerprint rotationcurl-cffi impersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python.
  • 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
  • 🔁 Retries with exponential backoff on 408 / 429 / 5xx — up to 5 attempts per page, Retry-After honoured.
  • 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.

💡 Use cases

  • Agency shortlisting — pull a category+location listing into a comparable spreadsheet for RFP outreach.
  • Sales prospecting — build a call list of agencies with phone numbers and verification tier as a quality signal.
  • Competitive intelligence — track service-mix and rate-band positioning across a category.
  • Lead scoring — filter by verification tier and rating before your SDR team reaches out.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
categorystringyes'digital-marketing'Clutch category slug to scrape, e.g. "digital-marketing" (kebab-case; hundreds exist on Clutch, not a fixed enum).
locationstringno'—'Optional Clutch location slug, e.g. "new-york" (kebab-case). Builds /agencies/
maxResultsintegerno200Stop once this many unique (deduped by Clutch provider ID) leads are collected.
maxPagesintegerno10Hard cap on listing pages fetched, independent of Max results.
proxyConfigurationobjectno{'useApifyProxy': False}Apify Proxy settings. Optional — Clutch listing pages clear via curl-cffi browser impersonation alone (live-confirmed, n

Example input

{
"category": "digital-marketing",
"maxResults": 5,
"maxPages": 1,
"proxyConfiguration": {
"useApifyProxy": false
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
clutch_provider_idstringStable Clutch provider ID (data-clutch-pid) — dedup/identity key.
namestringAgency/vendor display name (data-title).
profile_url['string', 'null']Absolute Clutch profile URL. Null for PPC-only rows exposing a tracking redirect instead.
categorystringCategory slug that was searched (input echo).
location_searched['string', 'null']Location slug that was searched, if any (input echo).
city['string', 'null']City, preferring the address meta tag over the free-text node.
region['string', 'null']Region/state, preferring the address meta tag over the free-text node.
country['string', 'null']Country, from the address meta tag.
employee_band['string', 'null']Employee-count band text, e.g. "250 - 999".
hourly_rate_band['string', 'null']Hourly-rate band text, e.g. "$50 - $99 / hr". Null when shown as "Undisclosed".
min_project_size['string', 'null']Minimum project size text, e.g. "$5,000+". Null when not $-prefixed.
rating['number', 'null']Aggregate rating (0-5) from the ratingValue meta tag.
review_count['integer', 'null']Review count from the reviewCount meta tag.
verification_tierstring"premier", "basic", or "none" — Clutch verified-mark modifier. Never null.
service_mixarrayPer-agency service allocation, e.g. [{"service_name": "Advertising", "percent": 10}]. Empty list when the row has no ser
listing_typestring"sponsored", "ppc", or "organic" — from the row's class substring.
phone['string', 'null']Phone number from the telephone meta tag — bonus lead field.
position['integer', 'null']Rank position on the listing page (data-position).
scraped_atstringISO-8601 UTC timestamp when this row was recorded.

Example output

{
"clutch_provider_id": "1005123",
"name": "Ninja Promo",
"profile_url": "https://clutch.co/profile/ninja-promo",
"category": "digital-marketing",
"location_searched": "new-york",
"city": "New York",
"region": "NY",
"country": "United States",
"employee_band": "250 - 999",
"hourly_rate_band": "$50 - $99 / hr",
"min_project_size": "$5,000+",
"rating": 4.9,
"review_count": 95,
"verification_tier": "premier",
"service_mix": [
{
"service_name": "Advertising",
"percent": 10
},
{
"service_name": "Fractional CMO Services",
"percent": 5
}
],
"listing_type": "organic",
"phone": "+1 212 555 0100",
"position": 3,
"scraped_at": "2026-07-30T12:00:00Z"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.02One-off warm-up charge per run
result-scraped$0.0018Per unique dataset item

Example: 1 000 results at the rates above ≈ $1.82. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

This Actor reads only Clutch's public category/location listing pages — no profile-page detail (reviews, portfolio, team), no email extraction, and no historical rating/service-mix tracking. One category slug per run; orchestrate multiple categories from the caller side.

❓ FAQ

Is this legal?

We only fetch content Clutch makes publicly available on its listing pages. Respect Clutch's terms of service before using output commercially.

Do I need a proxy?

No — Clutch's listing pages clear with curl-cffi browser impersonation alone (no proxy required). Add a proxy group only if you start seeing blocks.

What happens if my category or location doesn't exist?

The Actor logs a warning and finishes cleanly with zero rows instead of failing the run.

Can I scrape profile-page detail like reviews or portfolio?

Not in v1 — this Actor covers category/location listing pages only. Profile-page detail is a future addition.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.