Goodfirms Scraper avatar

Goodfirms Scraper

Pricing

from $4.00 / 1,000 listing onlies

Go to Apify Store
Goodfirms Scraper

Goodfirms Scraper

The GoodFirms Scraper extracts company listings and enriched profiles from GoodFirms.co directories, capturing company names, ratings, reviews, hourly rates, contact details, social links, and multi-office addresses — ideal for B2B lead generation and market research.

Pricing

from $4.00 / 1,000 listing onlies

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

GoodFirms Scraper

Extract company listings and enriched company profiles from GoodFirms.co — one of the largest B2B service directories with thousands of verified companies, ratings, and reviews.

Features

  • Two scraping modes: Fast listing extraction or deep profile enrichment with contact details
  • Rich contact data: Phone numbers, email addresses, LinkedIn URLs, and other social profiles
  • Multi-office support: Get addresses and contact points for every office location
  • Verified reviews & ratings: Aggregate ratings, review counts, and latest review content
  • Flexible targeting: Scrape by category, location, direct URLs, or crawl the full directory
  • Automatic pagination: Follows listing pages up to your configured limit
  • Pay-per-event pricing: Only pay for the results you actually get

How It Works

  1. Provide a target — Enter GoodFirms listing URLs, a category/location combination, or let it crawl the full directory.
  2. Choose your mode — Listing-only mode is fast and cheap. Enable Scrape Company Profiles for enriched data with direct contact info.
  3. Get structured data — Receive clean JSON output ready for your CRM, lead gen pipeline, or analysis.

Input

FieldTypeDefaultDescription
startUrlsarrayGoodFirms listing or company profile URLs to scrape. E.g. https://www.goodfirms.co/companies/web-development-agency/california
categorystringService category slug (e.g. web-development-agency). Used when startUrls is empty.
locationstringLocation filter slug (e.g. california, new-york). Combined with category to build the listing URL.
scrapeProfilesbooleanfalseEnable to follow links and scrape individual company profile pages for enriched data (contact info, social links, offices, employee count, services).
maxItemsinteger100Maximum number of companies to return.
maxPagesinteger10Maximum number of listing pages to paginate through per category.

Tip: You don't need to provide both startUrls and category. Use one or the other. If neither is provided, the scraper crawls the full GoodFirms directory.

Output

Listing mode (scrapeProfiles: false)

Fast extraction from listing pages. Returns basic company info, ratings, and the latest review.

{
"name": "SDLC Corp",
"url": "https://www.goodfirms.co/company/sdlc-corp",
"image": "https://assets.goodfirms.co/services/medium/sdlc-corp.jpeg",
"priceRange": "$25 - $49",
"address": {
"country": "US",
"region": "California",
"city": "San Francisco",
"postalCode": "94108",
"street": "166 Geary St, 15F"
},
"rating": 4.9,
"reviewCount": 155,
"latestReview": {
"body": "SDLC Corp delivered a robust and user-friendly hospital app with professionalism.",
"date": "2025-10-17T05:36:40Z",
"author": "Akansha Mishra",
"rating": 5
},
"sourceUrl": "https://www.goodfirms.co/companies/web-development-agency/california",
"scrapedAt": "2026-02-21T15:55:19.350Z"
}

Enriched profile mode (scrapeProfiles: true)

Visits each company's profile page for full contact details, social links, multi-office data, and more.

{
"name": "SDLC Corp",
"url": "https://www.goodfirms.co/company/sdlc-corp",
"website": "https://sdlccorp.com",
"image": "https://assets.goodfirms.co/services/medium/sdlc-corp.jpeg",
"description": "SDLC Corp is a software development company founded in 2015...",
"priceRange": "$25 - $49",
"foundingDate": 2015,
"telephone": "+14155940097",
"address": {
"country": "US",
"region": "California",
"city": "San Francisco",
"postalCode": "94108",
"street": "166 Geary St, 15F"
},
"rating": 4.9,
"reviewCount": 155,
"latestReview": {
"body": "Our overall experience with SDLC Corp was excellent...",
"date": "2025-11-17T06:36:19Z",
"author": "Eunice Helen",
"rating": 5
},
"socialLinks": {
"linkedin": "https://www.linkedin.com/company/sdlccorp",
"facebook": "https://www.facebook.com/SDLCcorp/",
"twitter": "https://twitter.com/sdlccorp",
"instagram": "https://www.instagram.com/sdlccorp/"
},
"offices": [
{
"country": "US",
"region": "California",
"city": "San Francisco",
"phone": "+14155940097",
"email": "kishan@sdlccorp.com",
"area": "US"
},
{
"country": "GB",
"region": "Coventry",
"city": "Holbrooks",
"phone": "+14155940097",
"email": "kishan@sdlccorp.com",
"area": "GB"
}
],
"employeeCount": "250 - 999",
"sourceUrl": "https://www.goodfirms.co/companies/web-development-agency/california",
"scrapedAt": "2026-02-21T15:42:41.162Z"
}

What you get with enriched profiles

The enriched profile mode provides high-value B2B lead data that is not available from listing pages alone:

  • Direct phone numbers — reach decision-makers directly
  • Email addresses — per-office contact emails ready for outreach
  • LinkedIn company URLs — connect on the most important B2B platform
  • Social profiles — Facebook, Twitter/X, Instagram links
  • Multi-office locations — every office with its own address, phone, and email
  • Company description — understand what the company does before reaching out
  • Employee count — filter by company size (e.g. "250 - 999")
  • Founding date — gauge company maturity
  • Company website — direct link to their site

Pricing

This scraper uses Apify's pay-per-event pricing model — you only pay for the results you receive, not for compute time.

EventWhat you getPrice per resultPrice per 1,000
listing-resultCompany name, rating, reviews, price range, address$0.004$4.00
profile-resultEverything above + phone, email, LinkedIn, social links, offices, description, employee count$0.030$30.00

How it works:

  1. Set your maximum budget when starting the scraper.
  2. The scraper charges per result — listing-result for basic data, profile-result for enriched profiles with contact info.
  3. When your budget is reached, the scraper stops automatically. You never pay more than your limit.

Example costs:

  • 500 companies (listing only) = $2.00
  • 500 companies (enriched profiles with contact info) = $15.00
  • 1,000 companies (enriched profiles) = $30.00

Use Cases

  • Lead generation — Build targeted prospect lists with verified contact details for B2B outreach
  • Market research — Analyze the competitive landscape for any service category or location
  • Sales intelligence — Enrich your CRM with company size, ratings, and multi-office contact data
  • Competitor monitoring — Track ratings and reviews of companies in your space
  • Agency directories — Build curated lists of agencies by specialization and geography