BBB Scraper [$3.5/1K💰] | Leads | Ratings | Reviews
Pricing
from $3.47 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
0
Monthly active users
13 days ago
Last modified
Categories
Security
Limited permissionsShare
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

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
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | No | - | BBB search URLs or profile URLs. Profile URLs are converted into a category/state search, not scraped as profiles. |
searchTerms | string[] | No | - | Business types to search, e.g. plumber, dentist, roofer |
searchLocations | string[] | No | [""] | Cities, states or ZIPs, e.g. Dallas, TX. Leave empty for nationwide |
maxItems | integer | No | 100 | Max businesses to output; paid runs cap at 1,000 |
maxPagesPerSearch | integer | No | 15 | Search-result pages per term + location; capped at 20 |
maxConcurrency | integer | No | 3 | Parallel requests |
maxRequestsPerCrawl | integer | No | 300 | Hard request cap per run |
proxyConfiguration | object | No | Apify Residential | Residential proxy recommended for larger runs |
Output
Each dataset item is one business from the BBB search feed:
| Field | Type | Description |
|---|---|---|
businessName | string | Business name with search highlighting removed |
url | string | Full BBB profile URL |
street | string | Street address |
city | string | City |
state | string | State code |
zip | string | ZIP or postal code |
country | string | USA or Canada, derived from the profile URL |
fullAddress | string | Combined mailing address |
phone | string | First public phone number |
categories | array | All BBB category names |
primaryCategory | string | Primary trade or category |
accredited | boolean | BBB accreditation flag |
bbbRating | string | Letter grade, e.g. A+ |
ratingScore | number | Numeric BBB rating score |
bbbId | string | Numeric BBB business ID parsed from the profile URL |
bbbOffice | string | BBB office that owns the record |
outOfBusiness | string | Out-of-business status when present |
latitude | string | Latitude, as returned by BBB |
longitude | string | Longitude, as returned by BBB |
serviceArea | string | Service-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.
Related Actors
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
startUrlsorsearchTerms+searchLocations; do not combine them unless you intentionally want multiple seed searches. - Profile URLs in
startUrlsare converted into category/state searches, not scraped as individual profiles. maxItemsis capped at 1,000 for paid users and 10 for free users.- Request output as JSON from the default dataset;
bbbIdis the stable deduplication key.
Billing: pay-per-result - $3.50 per 1,000 business rows ($0.0035 each), plus platform usage.
Legal & Compliance Disclaimer
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.