BBB Scraper [$3.5/1K💰] | Leads | Ratings | Reviews avatar

BBB Scraper [$3.5/1K💰] | Leads | Ratings | Reviews

Pricing

from $3.47 / 1,000 results

Go to Apify Store
BBB Scraper [$3.5/1K💰] | Leads | Ratings | Reviews

BBB Scraper [$3.5/1K💰] | Leads | Ratings | Reviews

Extract Better Business Bureau (BBB) business ratings, reviews and complaints with contact data. Build lead lists, monitor reputation and research B2B businesses across the US.

Pricing

from $3.47 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

0

Monthly active users

13 days ago

Last modified

Security

Limited permissions

Share

BBB Scraper - Business Ratings, Accreditation & Contact Data

Extract Better Business Bureau (BBB) business records from public search results: business names, BBB letter ratings, rating scores, accreditation status, phone numbers, addresses, categories and service areas. Built for US local lead generation, vendor vetting and B2B prospecting - with no BBB account, login or browser.

Main Use Cases

  • Local lead generation - build lists of plumbers, roofers, dentists, contractors and other businesses by trade and market
  • Vendor vetting - compare BBB ratings and accreditation before adding a supplier to your pipeline
  • B2B prospecting - identify businesses with low ratings or no accreditation that may need reputation or compliance services
  • Competitor benchmarking - compare ratings and accreditation across businesses in the same category and city
  • CRM enrichment - append BBB ratings, phone numbers and service areas to existing company records
  • Market coverage research - measure how many rated and accredited businesses operate in a trade or region

How It Works

How the BBB Scraper works: BBB search results become business rows with ratings, accreditation and contact data.

The Actor converts BBB search URLs or keyword/location pairs into requests to BBB's public /api/search endpoint, the same JSON feed the site's React frontend uses. Results are paginated 15 businesses at a time, with an optional residential proxy to avoid rate limits; there is no browser, login or profile-page crawl.

Each row is one business with 21 fields: name, profile URL, street/city/state/ZIP, country, full address, phone, categories, primary category, accreditation flag, letter rating, rating score, BBB ID, BBB office, out-of-business status, coordinates and service area. Runs return up to 1,000 businesses; free accounts receive a 10-row preview.

Build Business Lead Lists Without a Licensed Business Database

BBB publishes ratings and accreditation data across the US business directory, but it does not offer a public bulk-data API. This Actor turns its public search feed into a reusable dataset that can be filtered, deduplicated and joined to your CRM. It is a search-results extractor: it does not open individual profiles, so fields that only appear on profile pages - such as complaint counts, review text, website and accreditation date - are not part of the output.

Input

FieldTypeRequiredDefaultNotes
startUrlsarrayNo-BBB search URLs or profile URLs. Profile URLs are converted into a category/state search, not scraped as profiles.
searchTermsstring[]No-Business types to search, e.g. plumber, dentist, roofer
searchLocationsstring[]No[""]Cities, states or ZIPs, e.g. Dallas, TX. Leave empty for nationwide
maxItemsintegerNo100Max businesses to output; paid runs cap at 1,000
maxPagesPerSearchintegerNo15Search-result pages per term + location; capped at 20
maxConcurrencyintegerNo3Parallel requests
maxRequestsPerCrawlintegerNo300Hard request cap per run
proxyConfigurationobjectNoApify ResidentialResidential proxy recommended for larger runs

Output

Each dataset item is one business from the BBB search feed:

FieldTypeDescription
businessNamestringBusiness name with search highlighting removed
urlstringFull BBB profile URL
streetstringStreet address
citystringCity
statestringState code
zipstringZIP or postal code
countrystringUSA or Canada, derived from the profile URL
fullAddressstringCombined mailing address
phonestringFirst public phone number
categoriesarrayAll BBB category names
primaryCategorystringPrimary trade or category
accreditedbooleanBBB accreditation flag
bbbRatingstringLetter grade, e.g. A+
ratingScorenumberNumeric BBB rating score
bbbIdstringNumeric BBB business ID parsed from the profile URL
bbbOfficestringBBB office that owns the record
outOfBusinessstringOut-of-business status when present
latitudestringLatitude, as returned by BBB
longitudestringLongitude, as returned by BBB
serviceAreastringService-area summary

Example Input

{
"searchTerms": ["plumber"],
"searchLocations": ["Dallas, TX"],
"maxItems": 50,
"maxConcurrency": 3,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Example Output

{
"businessName": "ABC Plumbing Co.",
"url": "https://www.bbb.org/us/tx/dallas/profile/plumber/abc-plumbing-0875-123456",
"street": "123 Main St",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"country": "USA",
"fullAddress": "123 Main St, Dallas, TX 75201",
"phone": "(214) 555-0123",
"categories": ["Plumbers", "Water Heaters"],
"primaryCategory": "Plumbers",
"accredited": true,
"bbbRating": "A+",
"ratingScore": 94,
"bbbId": "123456",
"bbbOffice": "BBB Serving North Central Texas",
"outOfBusiness": null,
"latitude": "32.7812",
"longitude": "-96.7970",
"serviceArea": "Dallas, TX"
}

Integrations & Automation

This Actor runs on the Apify platform, so results can be pulled through the Apify API, exported to JSON/CSV/Excel, or pushed to Google Sheets, a CRM, Airtable or a webhook. Schedule a recurring run and compare rating and accreditation changes over time; the output is one clean row per business, ready for deduplication by bbbId or url.

FAQ

Why use this Actor instead of the official BBB data?

BBB does not provide a public bulk-data API. This Actor reads the same public search endpoint that powers bbb.org and normalizes the response into one record per business, with no login or browser automation.

Does it include complaints or customer reviews?

No. The public search endpoint used here returns ratings and accreditation, but not complaint counts, review counts or review text. This Actor does not open individual BBB profiles.

Does it include the business website or accreditation date?

No. Those fields are not present in the search payload. They are intentionally omitted from the output rather than returned as misleading nulls.

Can I filter by business type and location?

Yes. Use searchTerms with searchLocations, e.g. plumber plus Dallas, TX. startUrls can also carry an existing BBB search URL with its filters.

How many businesses can I get per run?

Paid accounts can collect up to 1,000 businesses per run. BBB returns 15 results per page, and maxPagesPerSearch is capped at 20 pages per term/location pair. Free accounts receive a 10-row preview.

Do I need a proxy?

A residential proxy is recommended for larger or repeated runs. Small runs often work without one, but BBB may rate-limit datacenter IPs.

How much does it cost?

Pay-per-result: $3.50 per 1,000 businesses ($0.0035 each) plus Apify platform usage. Only rows written to the dataset are billed.

SEO Keywords

bbb scraper, better business bureau data, bbb ratings, bbb accreditation, bbb business leads, bbb search scraper, bbb api alternative, business rating data, us business leads, local business data, contractor lead generation, vendor vetting data, b2b prospecting data, business contact data, bbb business directory

For AI Agents & LLM Apps

Purpose: return structured BBB business records - rating, accreditation and contact data - from BBB search terms, locations or search URLs.

Minimal working input:

{
"searchTerms": ["plumber"],
"searchLocations": ["Dallas, TX"],
"maxItems": 20
}

Output fields: businessName, url, street, city, state, zip, country, fullAddress, phone, categories, primaryCategory, accredited, bbbRating, ratingScore, bbbId, bbbOffice, outOfBusiness, latitude, longitude, serviceArea.

Behaviors an agent should know:

  • Use either startUrls or searchTerms + searchLocations; do not combine them unless you intentionally want multiple seed searches.
  • Profile URLs in startUrls are converted into category/state searches, not scraped as individual profiles.
  • maxItems is capped at 1,000 for paid users and 10 for free users.
  • Request output as JSON from the default dataset; bbbId is the stable deduplication key.

Billing: pay-per-result - $3.50 per 1,000 business rows ($0.0035 each), plus platform usage.

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the Better Business Bureau (BBB) or bbb.org. It accesses only publicly available BBB search results - no login bypass, no CAPTCHA solving and no private data. You are responsible for compliance with BBB's Terms of Service and applicable data-protection law. The output can include business contact details; do not use them for unsolicited outreach in violation of applicable law.