Goodfirms Agency Scraper - B2B Leads, Emails & Reviews avatar

Goodfirms Agency Scraper - B2B Leads, Emails & Reviews

Pricing

from $0.60 / 1,000 basic agency leads

Go to Apify Store
Goodfirms Agency Scraper - B2B Leads, Emails & Reviews

Goodfirms Agency Scraper - B2B Leads, Emails & Reviews

Extracts CRM-ready B2B agency leads from GoodFirms directory, category, country, and company profile pages. It can collect firmographics (hourly rate, team size, founding year, location), ratings and reviews, service focus, phone numbers, contact emails, and social profiles

Pricing

from $0.60 / 1,000 basic agency leads

Rating

0.0

(0)

Developer

Hypebridge

Hypebridge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does GoodFirms Agency Scraper do?

GoodFirms Agency Scraper extracts CRM-ready B2B agency leads from GoodFirms directory, category, country, and company profile pages — without needing an official API. For every agency it can collect firmographics (hourly rate, team size, founding year, location), ratings and reviews, service focus, phone numbers, contact emails, and social profiles, and export in HubSpot- or Salesforce-ready columns.

Why scrape GoodFirms?

  • Lead generation: Build targeted outreach lists of digital marketing, development, and design agencies with verified contact emails and phone numbers.
  • Market research: Track agency ratings, pricing bands, employee ranges, and service focus across categories and countries.
  • Competitor analysis: Monitor who ranks in your category, who is sponsored, which agencies are verified, and what their clients say in reviews.
  • CRM enrichment: Match agencies by website domain and fill missing firmographics directly into HubSpot or Salesforce imports.

What data can GoodFirms Agency Scraper extract?

FieldTypeDescription
nameStringAgency name
websiteUrlStringOfficial agency website
emailStringBest contact email (profile or website)
emailSourceStringgoodfirms_profile, agency_website, or none
telephoneStringProfile phone number
rating / reviewCountNumberGoodFirms rating and review volume
hourlyRate / employees / foundedStringFirmographics
location / city / region / countryStringLocation fields
services / serviceFocusArrayService catalog and focus percentages
reviewsArrayRecent reviews with ratings and project details
socialLinksArrayLinkedIn, Facebook, Twitter/X profiles
goodfirmsUrlStringGoodFirms profile URL

Full field list is in the Output tab.

How to scrape GoodFirms

  1. Create a free Apify account if you don't have one.
  2. Open GoodFirms Agency Scraper and click Try for free.
  3. Paste GoodFirms directory, category, country, or company profile URLs into Start URLs.
  4. Set Max agency leads to cap your run.
  5. Optionally enable Get agency details for phone, email, address, socials, and reviews.
  6. Click Start and download results from the Dataset tab (JSON, CSV, Excel, HTML).

How much will it cost?

Pay-per-event pricing — you pay per agency lead, not per compute unit:

EventWhen charged
Basic agency leadListing-only row (fast, cheap)
Detailed agency leadProfile-enriched row with contacts, services, reviews
Email enrichedSmall add-on when the website lookup finds an email GoodFirms didn't expose. The underlying Contact Details Scraper usage is billed to your account separately.

Listing-only runs are the cheapest way to get names, websites, ratings, and pricing bands. Enable detail extraction and email enrichment only when you need contact-ready leads.

Input

See the Input tab for the full schema. Key fields:

ParameterTypeDefaultDescription
startUrlsArraydigital marketing categoryGoodFirms directory or profile URLs
maxItemsNumber100Max agency records to return
getAgencyDetailsBooleanfalseVisit each profile for contacts, services, reviews
includeReviewsBooleanfalseGet reviews on their own — fetches profiles, priced as detailed leads
maxReviewsPerAgencyNumber3Review depth per agency; 0 skips reviews on detail runs
enrichEmailsBooleanfalseLook up missing emails on agency websites via Contact Details Scraper
outputFormatStringfullfull, flat, hubspot, or salesforce

Example: cheap category preview (listing-only)

{
"startUrls": [
{ "url": "https://www.goodfirms.co/directory/marketing-services/top-digital-marketing-companies" }
],
"maxItems": 500
}

Example: contact-ready leads with emails

{
"startUrls": [
{ "url": "https://www.goodfirms.co/directory/marketing-services/top-digital-marketing-companies?locations=united-states" }
],
"maxItems": 100,
"getAgencyDetails": true,
"enrichEmails": true
}

Example: specific agency profiles, Salesforce-ready

{
"startUrls": [
{ "url": "https://www.goodfirms.co/company/smartsites" },
{ "url": "https://www.goodfirms.co/company/webfx" }
],
"maxItems": 10,
"outputFormat": "salesforce"
}

Output

Saved to the Dataset tab. Download as JSON, CSV, Excel, or HTML.

Each item includes:

  • Identity: name, goodfirmsUrl, websiteUrl, logoUrl
  • Trust signals: rating, reviewCount, badges, isVerified, isClaimed, isSponsored
  • Firmographics: hourlyRate, priceRange, employees, founded, location, address
  • Contacts: telephone, email, emailSource, allEmails, socialLinks
  • Services: services, serviceFocus, usesAiTools, whyChoice
  • Reviews: topReview, reviews (when enabled)
  • Metadata: sourceUrl, page, rank, scrapedAt

Sample output

{
"name": "SmartSites",
"goodfirmsUrl": "https://www.goodfirms.co/company/smartsites",
"websiteUrl": "https://www.smartsites.com/",
"rating": 4.9,
"reviewCount": 16,
"hourlyRate": "$100 - $149/hr",
"employees": "50 - 249",
"founded": "2011",
"city": "Jersey City",
"region": "New Jersey",
"country": "us",
"telephone": "2018706000",
"email": "contact@smartsites.com",
"emailSource": "goodfirms_profile",
"services": ["Web Development", "Digital Marketing"],
"scrapedAt": "2026-07-12T12:00:00+00:00"
}

Tips

  • Start with a listing-only run (all toggles off) to preview the category cheaply, then re-run with Get agency details for your shortlist.
  • Direct goodfirms.co/company/... profile URLs always return full detail records, even with Get agency details off.
  • Any GoodFirms filter you apply in the browser (country, sorting, page) is preserved — just paste the filtered URL.
  • Find emails on agency websites runs the Contact Details Scraper on agencies whose GoodFirms profile has no email; most agencies expose one on GoodFirms directly, so this add-on usually touches only a small share of your leads.
  • Residential proxy is enabled by default and required — GoodFirms blocks datacenter IPs.

FAQ

GoodFirms Agency Scraper only extracts publicly available business data. Always check the site's Terms of Service and ensure you have a legitimate purpose.

How do I import leads into HubSpot or Salesforce?

Set outputFormat to hubspot or salesforce. Column names then match common CRM import fields (domain, phone, city for HubSpot; Name, Website, BillingCity for Salesforce), so you can map the CSV export directly.

Where do the emails come from?

Most come straight from the agency's GoodFirms profile. When a profile has no email and Find emails on agency websites is enabled, the actor runs the proven Contact Details Scraper on the agency's own website and records every address it finds, with the page it came from in allEmails.

Support

  • Bugs / feature requests → Issues tab
  • Programmatic access → API tab

Disclaimer: Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.