BBB Scraper
Pricing
from $4.00 / 1,000 results
BBB Scraper
Scrape business profiles from Better Business Bureau (BBB.org). Extract BBB ratings, accreditation status, complaints, reviews, owner info, license numbers and contact details. Search by keyword, location, category and country (USA/Canada).
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract business profiles from Better Business Bureau (BBB.org) — the trust and accountability platform with 5.4 million registered businesses across the United States and Canada. Get BBB ratings, accreditation status, complaint history, customer reviews, owner info, license numbers and full contact details.
Why use BBB Scraper?
BBB data combines three things no other source provides together: accreditation status (paid and selective — signals business credibility), verified complaint history (harder to fake than Google reviews), and A+ to F composite ratings based on 13 factors. This makes BBB data essential for due diligence, vendor vetting and competitive intelligence.
What data can you extract from BBB?
Search mode (default — no detail pages needed)
From the search results page: business name, BBB profile URL, BBB ID, BBB rating (A+ through F), accreditation status, city/state, phone number, business categories, and search metadata.
Detail mode (enable scrapeDetails)
Fetch each profile page for: years in business, business start date, business type (LLC, Corporation, etc.), number of employees, owner/principal name, license numbers, email (auto-decoded from Cloudflare protection), website URL, complaint counts (total, last 3 years, last 12 months, resolved), customer review count and average rating, accreditation start date, service areas, social media links (Facebook, LinkedIn, Twitter, Instagram), government actions, and full business description.
How much does BBB Scraper cost?
| Mode | Speed | Approximate cost |
|---|---|---|
| Search only | ~20 results/page | ~$2 per 1,000 businesses |
| With details | +1 request per business | ~$6 per 1,000 businesses |
Example output
Search mode
{"businessName": "Priority Roofing of Dallas","profileUrl": "https://www.bbb.org/us/tx/dallas/profile/roofing-contractors/priority-roofing-of-dallas-0875-90719612","bbbId": "90719612","bbbRating": "A+","isAccredited": true,"city": "Dallas","state": "TX","phone": "(214) 555-0198","categories": ["Roofing Contractors"]}
With detail scraping
{"accreditationSince": "03/15/2018","email": "info@priorityroofing.com","website": "https://www.priorityroofing.com","yearsInBusiness": 12,"businessType": "LLC","ownerName": "John Martinez","licenseNumbers": ["TX-ROC-456789"],"complaintsTotal": 3,"complaintsLast3Yrs": 1,"complaintsResolved": 3,"reviewCount": 47,"averageReviewRating": 4.8,"socialMedia": {"facebook": "https://facebook.com/priorityroofing","linkedin": "https://linkedin.com/company/priority-roofing"}}
Input parameters
Quick start
{"keyword": "roofing contractor","location": "Texas","maxResults": 50}
Full input reference
| Parameter | Type | Default | Description |
|---|---|---|---|
searchUrls | array | [] | Direct BBB search URLs — overrides keyword/location |
keyword | string | "" | Search term: "roofing contractor", "HVAC", "plumber" |
location | string | "" | City/state or ZIP: "Dallas, TX", "Texas", "75201" |
country | string | USA | USA or CAN |
accreditedOnly | boolean | false | Only BBB-accredited businesses |
sort | string | Relevance | Relevance, Rating, Distance, Name |
scrapeDetails | boolean | false | Fetch profile pages for complaints, reviews, owner info |
maxResults | integer | 100 | Total business cap. 0 = unlimited |
maxPages | integer | 10 | Pages per search (~20 results/page) |
requestDelay | integer | 1500 | Delay between requests (ms) |
maxConcurrency | integer | 1 | Parallel requests (keep at 1) |
Search examples
By trade and state:
{ "keyword": "HVAC contractor", "location": "California" }
By trade and city:
{ "keyword": "electrician", "location": "Chicago, IL" }
Accredited only, sorted by rating:
{ "keyword": "home builder", "location": "Florida", "accreditedOnly": true, "sort": "Rating" }
Direct URL with category:
{"searchUrls": ["https://www.bbb.org/search?find_text=Home+Builders&find_loc=Los+Angeles,+CA&find_country=USA"]}
How to scrape BBB business profiles
- Click Try for free to open BBB Scraper in Apify Console
- Enter a search keyword (e.g. "roofing contractor") and location (e.g. "Texas")
- Enable
scrapeDetailsfor complaints, reviews, owner info and license numbers - Click Start and download results as JSON, CSV or Excel
Run programmatically via Apify API, schedule recurring runs, or integrate with Zapier, Make, Google Sheets and 100+ platforms.
Important: Rate limiting and proxy requirements
BBB.org uses Cloudflare protection. To get reliable results:
- Residential proxies are required — the default input uses Apify residential proxies
- Keep
requestDelayat 1500ms or higher — lower values trigger blocks - Keep
maxConcurrencyat 1 — parallel requests trigger rate limiting - The scraper retries automatically — 403/429 responses are retried up to 3 times
- Cloudflare email protection is handled — encoded emails are decoded automatically
Use cases for BBB data
Contractor due diligence — Cross-reference state license records (Virginia DPOR, Minnesota DLI) with BBB complaint history. A contractor may have an active license but a pattern of unresolved complaints — BBB reveals what license databases don't.
Vendor vetting — Procurement teams check BBB ratings, complaint resolution rates and accreditation before awarding contracts.
Insurance underwriting — Carriers use BBB complaint history and rating to assess risk when writing contractor policies. High complaint-to-revenue ratios signal claims risk.
B2B sales intelligence — BBB-accredited businesses signal financial stability and professional standards. A+ rated firms have higher close rates for B2B sales.
Competitive intelligence — Monitor competitors' BBB profiles for new complaints, rating changes and government actions.
Franchise screening — Evaluate franchise candidates' business history through BBB records. Unresolved complaints at a previous business are a red flag.
Reputation monitoring — Track your own BBB profile and competitors' profiles with scheduled runs to catch new complaints early.
Legal research — Complaint pattern analysis for class action research, regulatory investigations and investigative journalism.
Output fields reference
| Field | Source | Description |
|---|---|---|
businessName | Search | Company name |
profileUrl | Search | BBB profile URL |
bbbId | Search | BBB business identifier |
bbbRating | Search | A+ through F rating |
isAccredited | Search | BBB accreditation status |
accreditationSince | Detail | Accreditation start date |
address, city, state, zipCode | Both | Location |
phone | Search | Business phone |
email | Detail | Contact email (Cloudflare decoded) |
website | Detail | Business website |
categories | Search | Business categories |
yearsInBusiness | Detail | Operating years |
businessType | Detail | LLC, Corporation, etc. |
ownerName | Detail | Owner/principal name |
licenseNumbers | Detail | Professional license numbers |
complaintsTotal | Detail | All-time complaints |
complaintsLast3Yrs | Detail | Complaints in 3 years |
complaintsLast12Mo | Detail | Complaints in 12 months |
complaintsResolved | Detail | Resolved complaints |
reviewCount | Detail | Customer review count |
averageReviewRating | Detail | Average review (1-5) |
socialMedia | Detail | Facebook, LinkedIn, Twitter, Instagram |
serviceAreas | Detail | Service coverage areas |
Integrations
BBB Scraper works with the full Apify ecosystem: API access from Python/Node.js/PHP, webhooks, Google Sheets export, Zapier/Make automation, and Slack/email notifications.
Limitations
- USA and Canada only (BBB.org coverage)
- Residential proxies required — Cloudflare blocks datacenter IPs
- Complaints, reviews and owner info require
scrapeDetails: true - Some emails are Cloudflare-protected — auto-decoded but not available on all profiles
- Rate limiting may slow large scrapes — use higher request delays for 500+ results