GoodFirms.co Company and Reviews scraper

GoodFirms.co Company and Reviews scraper

An Apify actor that extracts comprehensive company profiles and customer reviews from GoodFirms.co. Collect structured data including ratings, review content, company details for market research and competitive analysis.

AUTOMATIONLEAD_GENERATIONDEVELOPER_TOOLSApify

GoodFirms Reviews and Companies Scraper

A web scraper built with Apify SDK to extract company information and reviews from GoodFirms.co.

Features

  • Scrapes company listings from category pages
  • Extracts detailed company information and reviews
  • Supports Apify proxy configuration
  • Handles pagination

Input Parameters

The scraper accepts the following input parameters:

ParameterTypeDescriptionRequired
modestringScraping mode: index for company listings or company for detailed company informationNo (defaults to "index")
urlstringThe URL to scrape. Can be either a category page (e.g., "https://www.goodfirms.co/companies/web-development-agency") or a company page (e.g., "https://www.goodfirms.co/company/unified-infotech")Yes

Example inputs:

For scraping company listings (index mode).

The scraper will respect these filters and return only the companies that match the specified criteria:

1{
2    "mode": "index",
3    "url": "https://www.goodfirms.co/companies/web-development-agency?employees%5B2%5D=10+-+49&reviews=5"
4}

For scraping individual company details (company mode):

1{
2    "mode": "company",
3    "url": "https://www.goodfirms.co/<company_url>"
4}

Output Format

Company Listing (mode: "index")

1{
2    name: string;
3    link: string | null;
4    employRange: string;
5    location: string;
6    founded: string;
7    website: string | null;
8    metaRatings: {
9        ratingValue: string | null;
10        bestRating: string | null;
11        worstRating: string | null;
12        reviewCount: string | null;
13    }
14}

Company Detail (mode: "company")

1{
2    address: string;
3    city: string;
4    region: string;
5    zipCode: string;
6    phoneNumber: string;
7    socialLinks: string[];
8    totalReviews: number;
9    reviews: Array<{
10        id: string;
11        title: string;
12        author: string;
13        position?: string;
14        date: string;
15        description: string;
16        rating: {
17            quality?: string;
18            schedule?: string;
19            communication?: string;
20            overall?: string;
21        }
22    }>
23}

Output Examples

Company Listing Output (mode: "index")

1[
2    {
3        "name": "Unified Infotech",
4        "link": "https://www.goodfirms.co/company/unified-infotech",
5        "employRange": "50-249",
6        "location": "New York, United States",
7        "founded": "2010",
8        "website": "https://www.unifiedinfotech.net",
9        "metaRatings": {
10            "ratingValue": "4.9",
11            "bestRating": "5",
12            "worstRating": "1",
13            "reviewCount": "32"
14        }
15    },
16    {
17        "name": "Another Company",
18        "link": "https://www.goodfirms.co/company/another-company",
19        "employRange": "10-49",
20        "location": "San Francisco, United States",
21        "founded": "2015",
22        "website": "https://www.anothercompany.com",
23        "metaRatings": {
24            "ratingValue": "4.7",
25            "bestRating": "5",
26            "worstRating": "1",
27            "reviewCount": "25"
28        }
29    }
30]

Company Detail Output (mode: "company")

1{
2    "address": "711 3rd Avenue",
3    "city": "New York",
4    "region": "NY",
5    "zipCode": "10017",
6    "phoneNumber": "+1 (929) 222-1234",
7    "socialLinks": [
8        "https://www.linkedin.com/company/example",
9        "https://twitter.com/example",
10        "https://www.facebook.com/example"
11    ],
12    "totalReviews": 32,
13    "reviews": [
14        {
15            "id": "review123",
16            "title": "Excellent Web Development Partner",
17            "author": "John Smith",
18            "position": "Project Manager",
19            "date": "2023-12-15",
20            "description": "They delivered our project on time and with excellent quality...",
21            "rating": {
22                "quality": "5",
23                "schedule": "4.5",
24                "communication": "5",
25                "overall": "4.8"
26            }
27        },
28        {
29            "id": "review124",
30            "title": "Great Experience",
31            "author": "Jane Doe",
32            "position": "CTO",
33            "date": "2023-11-30",
34            "description": "Professional team with strong technical expertise...",
35            "rating": {
36                "quality": "4.8",
37                "schedule": "4.7",
38                "communication": "4.9",
39                "overall": "4.8"
40            }
41        }
42    ]
43}

Usage

  1. Configure input: Set the required company URL and optional filters (date range, score, page limit)
  2. Run the actor: Execute the Apify actor with your input configuration
  3. Process results: Access the structured review data from Apify's storage

Disclaimer

This actor is designed for legitimate data collection from Goodfirms's public review directory. Please ensure your usage complies with goodfirms.co's terms of service and robots.txt policies.

Frequently Asked Questions

Is it legal to scrape job listings or public data?

Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.

Do I need to code to use this scraper?

No. This is a no-code tool — just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.

What data does it extract?

It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.

Can I scrape multiple pages or filter by location?

Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.

How do I get started?

You can use the Try Now button on this page to go to the scraper. You’ll be guided to input a search term and get structured results. No setup needed!