B2B Agency Scraper - Marketing, Design & Dev Agency Leads
Pricing
from $8.00 / 1,000 agency lead scrapeds
B2B Agency Scraper - Marketing, Design & Dev Agency Leads
Scrape B2B agencies from Sortlist & DesignRush: name, services, ratings, pricing, team size, location, socials & website contact emails. Marketing, SEO, design, web, app & software agencies — the clean Clutch alternative. Filter by category, score leads & monitor new agencies.
Pricing
from $8.00 / 1,000 agency lead scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
B2B Agency Scraper — Marketing, Design & Dev Agency Leads (Ratings, Pricing, Emails)
Extract complete B2B agency data from two of the cleanest agency directories on the web — Sortlist and DesignRush — in one run. Get agency name, full service list, star ratings & review counts, pricing (hourly rate, minimum budget, budget range), team size, founding year, location, social profiles, and each agency's own website. Optionally turn every agency into a ready-to-contact B2B lead by crawling its website for contact emails, phone numbers and socials.
No login, no API key, no browser — fast JSON/SSR extraction with a clean, consistent data path.
Why this agency scraper?
The biggest agency directory, Clutch.co, is locked behind a Cloudflare challenge — so every Clutch scraper runs on flaky residential proxies or paid solvers. This actor goes after the clean, no-browser sources instead and ships the richest agency dataset in the category, deduplicated across both directories:
| Data | Typical scrapers | This actor |
|---|---|---|
| Agency name, profile, rating, reviews | ✅ | ✅ |
| Full service list (SEO, PPC, branding…) | partial | ✅ |
| Hourly rate / min budget / budget range | partial | ✅ |
| Team size & founding year | ❌ | ✅ |
| Location (city, region, country, address) | partial | ✅ |
| Agency's own website | ❌ | ✅ |
| Agency contact emails & phones | ❌ | ✅ opt-in |
| LinkedIn / Facebook / Instagram / X / YouTube | ❌ | ✅ |
| Multiple directories, deduplicated | ❌ single source | ✅ Sortlist + DesignRush |
| Lead score (0–100) per agency | ❌ | ✅ |
| Monitor mode — only NEW agencies | ❌ | ✅ |
Use cases
- Lead generation — agencies are active B2B buyers: they need software (martech, project management, reporting, AI), white-label and outsourcing partners, recruiters, and lead vendors. Score them by
leadScore, filter by service, rating or budget, and reach them viaemail/linkedin. - Partner & vendor sourcing — find marketing, design, web, app, software or AI agencies by category and budget for outsourcing, referrals or reseller programs.
- Competitive & market intelligence — map who serves which service category, at what pricing tier and team size, in which markets.
- Recruiting — build target lists of agencies hiring for specific disciplines.
- CRM enrichment — append website, socials, pricing and team size to an existing agency list via the profile/website data.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the B2B Agency Scraper, choose service categories (and optionally directories, locations or URLs), and click Start.
- Watch agency leads stream into the dataset table.
- Export as JSON, CSV, Excel, XML or RSS — or pull results via the Apify API.
Input
{"serviceCategories": ["digital-marketing", "seo"],"sources": ["sortlist", "designrush"],"locations": ["us"],"maxResults": 200,"maxPagesPerSource": 3,"includeProfileDetails": true,"enrichContactEmails": true,"minRating": 4,"deduplicateAgencies": true,"monitorMode": false}
- serviceCategories — friendly keys (
digital-marketing,seo,ppc,social-media-marketing,content-marketing,email-marketing,public-relations,advertising,branding,web-design,web-development,ecommerce,software-development,mobile-app-development,ui-ux-design,video-production,graphic-design,it-services,ai,cybersecurity) or any raw Sortlist/DesignRush category slug. - sources (default both) —
sortlist,designrush. - locations (DesignRush only) — geo suffixes such as
us,us-new-york,united-kingdom. Sortlist listings are global per category; usestartUrlsfor a specific Sortlist geo page. - startUrls — paste any Sortlist/DesignRush listing or agency-profile URL.
- maxResults / maxPagesPerSource — caps. Each Sortlist page ≈ 20–23 agencies; DesignRush ≈ 50. Sortlist supports deep pagination (up to ~45 pages).
- includeProfileDetails (default true) — fetch each agency's profile page for its own website (the email wedge), team size, full address and extra socials.
- enrichContactEmails (default false) — crawl the agency's website (home + contact/about) for public emails, phones and socials. Directories don't publish agency emails — this is the only way to get them.
- includeReviews / maxReviewsPerAgency — emit client review records.
- minRating / minReviews / withWebsiteOnly / withEmailOnly — quality filters.
- deduplicateAgencies (default true) — collapse the same agency across sources/pages by website domain or name.
- monitorMode — emit only agencies not seen in previous runs (see below).
Output
One record per agency (type: "agency"), plus optional client review records (type: "review"):
{"type": "agency","source": "sortlist","agencyName": "Ninja Promo","profileUrl": "https://www.sortlist.com/agency/ninjapromo-creative-digital-marketing-agency","website": "https://ninjapromo.io","websiteDomain": "ninjapromo.io","tagline": "#1 Subscription-Based Digital Marketing Company","description": "Ninja Promo is a full-service digital marketing company…","rating": 5,"reviewCount": 50,"hourlyRate": "$50/hr","minBudget": "$1,000+","priceRange": "€1000 - €1000000","teamSize": "50 - 99","foundedYear": 2017,"services": ["Social Media", "SEO", "Branding & Positioning", "Email Marketing", "Online Advertising"],"areaServed": ["New York, NY, USA", "United Arab Emirates", "Stockholm, Sweden"],"category": "digital-marketing","city": "Dubai","country": "AE","email": "hello@ninjapromo.io","emails": ["hello@ninjapromo.io", "sales@ninjapromo.io"],"phone": "+1 212 555 0134","linkedin": "https://www.linkedin.com/company/ninjapromo/","instagram": "https://www.instagram.com/ninja.promo/","twitter": "https://twitter.com/ninjapromoio","youtube": "https://www.youtube.com/channel/UCZ7h2iqYhXzhnqGPBmH844A","logo": "https://sortlist-core-api.s3.eu-west-1.amazonaws.com/26y394x","leadScore": 92,"searchCategory": "digital-marketing","scrapedAt": "2026-06-15T12:00:00.000Z"}
Fields are null only when the data genuinely doesn't exist (e.g. an agency that doesn't publish a budget), never because the scraper skipped them.
Monitor only new agencies
Turn on monitorMode and the actor remembers every agency it has returned (in a named key-value store) and emits only new ones on the next run. Combine it with Schedules for a daily feed of newly listed agencies in your categories — perfect for a fresh lead pipeline. Monitor mode is fully compatible with the Apify scheduler: the schedule triggers the run, monitor mode deduplicates records across runs.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it hourly/daily/weekly to monitor new agencies per category or location.
- Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/b2b-agency-scraper').call({serviceCategories: ['seo', 'ppc'],sources: ['sortlist', 'designrush'],enrichContactEmails: true,maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} agency leads`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new agency leads straight into your CRM.
- Slack — get notified when a monitored search finds new agencies.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT or any agent framework through the Apify MCP server — ask your assistant to "find top-rated SEO agencies in the US and list their contact emails" and let it run this scraper for you.
More scrapers from scrapesage
Build a complete B2B lead-gen and competitive-intelligence stack:
- Houzz Scraper — home-improvement pros, contacts & reviews.
- Bark Listing Scraper — service-provider leads from Bark.
- FindLaw Scraper — lawyers, law firms & leads.
- TaxBuzz Scraper — CPAs, accountants & tax-preparer leads.
- Product Hunt Scraper — launches, makers & startup leads.
- Y Combinator Scraper — startups, founders & jobs.
- LinkedIn Ad Library Scraper — competitor B2B ads & creatives.
- Facebook Ad Library Scraper — competitor ad intelligence.
- Google Ads Transparency Scraper — who's advertising what on Google.
- LinkedIn Jobs Scraper — job postings as hiring-intent signals.
Tips
- Breadth: add more
serviceCategoriesand turn upmaxPagesPerSource(Sortlist supports up to ~45 pages per category). Each category × source is paginated independently. - Emails: keep
includeProfileDetailson (to resolve each agency's website) and turn onenrichContactEmailsto crawl it for contacts. - Cost control: profile and website-enrichment calls only fire for agencies that pass your filters;
deduplicateAgenciesprevents paying twice for the same agency across sources. - Recurring monitoring: combine Schedules with
monitorModeto track only newly listed agencies.
FAQ
Which directories does it scrape? Sortlist and DesignRush — both clean, no-browser SSR sources. Clutch.co is intentionally not used because it's behind a Cloudflare challenge that requires paid solvers and produces unreliable results.
Where do the emails come from? Never from the directory. With enrichContactEmails on, the actor visits the agency's own public website and extracts publicly listed contact emails — the same thing a human visitor would see.
Can I scrape a specific city or country? For DesignRush, add geo suffixes to locations (e.g. us, us-new-york). For Sortlist, paste a geo-specific listing URL into startUrls.
Can I export to Google Sheets, CSV or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
How do I get only new agencies over time? Turn on monitorMode and schedule the actor — it emits only agencies it hasn't returned before.
Is scraping these directories legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (GDPR/CCPA for personal data) and each site's terms.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.