BBB Scraper — Ratings, Accreditation & Contacts
Pricing
from $4.00 / 1,000 business founds
BBB Scraper — Ratings, Accreditation & Contacts
Scrape Better Business Bureau (bbb.org) businesses by keyword + location or profile URL. Returns BBB rating, accreditation, phone, website, address & contacts.
Pricing
from $4.00 / 1,000 business founds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
BBB Scraper — Better Business Bureau Ratings, Accreditation & Contacts
BBB Scraper extracts business data from the Better Business Bureau (bbb.org) by keyword + location or by direct profile URL. For every business it returns the BBB letter rating, accreditation status, date accredited, years in business, phone, website, full address, geo-coordinates, business hours, owner/management contacts, and categories — clean, flat JSON ready for lead lists, CRM import, or AI agents.
It is MCP-ready (built for Claude, ChatGPT, and other AI agents), runs on residential proxies to clear BBB's Cloudflare protection, and bills per business returned so cost is predictable.
Try it: set
searchKeywordtoplumber,locationtoLos Angeles, CA, and run. You get up to 100 enriched businesses in minutes.
What does BBB Scraper do?
The Better Business Bureau maintains one of the largest public directories of US and Canadian businesses, with trust signals you cannot get from Google Maps alone — accreditation, A+ to F letter ratings, complaint history, and how long a business has been operating. This actor turns that directory into structured data.
Two ways to use it:
- Search mode — give a keyword (e.g.
hvac contractor) and a location (e.g.Austin, TX). The actor walks the BBB search results, and (by default) opens each business's profile to pull the full detail set. - Profile-URL mode — paste one or more
bbb.org/.../profile/...URLs intostartUrlsto deep-scrape specific businesses you already know.
Running on Apify gives you API access, scheduling, integrations (Google Sheets, Make, Zapier), automatic residential proxy rotation, and run monitoring.
Why use BBB Scraper?
- Lead generation — build lists of accredited, highly-rated local service businesses (contractors, plumbers, HVAC, roofers) with phone and website for outreach.
- Competitor & reputation research — track ratings, accreditation, and complaints for a market.
- Vendor due diligence — verify a supplier's BBB standing before signing.
- Data enrichment — append BBB rating + accreditation to an existing company list via profile URLs.
- AI agents — a clean tool call: keyword + location in, structured business JSON out.
How to use BBB Scraper
- Open the actor and select the Input tab.
- Enter a Search keyword (e.g.
general contractor) and a Location asCity, ST(e.g.Los Angeles, CA). Or paste BBB profile URLs into BBB profile URLs. - Set Max results (default 100) and, optionally, Minimum BBB rating or BBB-accredited only.
- Click Start. Download results as JSON, CSV, Excel, or HTML, or pull them via the API.
Input
| Field | Type | Description |
|---|---|---|
searchKeyword | string | Business type or name to search (e.g. plumber). |
location | string | City, ST (US) or City, Province (CA). Optional. |
country | enum | US or CA. Default US. |
startUrls | array | Direct bbb.org/.../profile/... URLs to deep-scrape. |
maxResults | integer | Max businesses to return. Default 100. |
enrichDetails | boolean | Open each profile for full detail. Default true. |
minRating | enum | Filter by minimum BBB letter rating. Default Any. |
accreditedOnly | boolean | Return only BBB-accredited businesses. Default false. |
Output
Each dataset item is one business:
{"businessName": "L A Tamix Plumbing","bbbId": "1216-907682","url": "https://www.bbb.org/us/ca/los-angeles/profile/plumber/l-a-tamix-plumbing-1216-907682","bbbRating": "A+","isAccredited": true,"accreditationStatus": "BBB Accredited Business","dateAccredited": "4/5/2024","yearsInBusiness": 8,"categories": ["Plumber"],"phone": "(323) 632-9358","website": "latamixplumbing.com","city": "Los Angeles","state": "CA","postalCode": "90006-2983","contacts": [{ "name": "Rufino Juarez Antunez", "title": "Owner" }],"hours": { "monday": "7:00 AM - 5:00 PM" },"scrapedAt": "2026-06-26T00:00:00.000Z"}
You can download the dataset in JSON, CSV, Excel, or HTML.
Data fields
| Field | Description |
|---|---|
businessName | Business name |
bbbRating | BBB letter rating (A+ … F) |
isAccredited / accreditationStatus | BBB accreditation |
dateAccredited | Date accreditation granted |
yearsInBusiness | Years operating |
phone, website, email | Contact details |
street, city, state, postalCode, country | Address |
latitude, longitude | Geo-coordinates |
categories | BBB business categories |
contacts | Owner / management (name + title) |
hours | Business hours |
complaintsCount, ratingCount, averageStarRating | Review signals (when published) |
How much does it cost to scrape BBB?
Pricing is pay-per-event:
- Profile enriched (default mode, and any profile URL): $0.006 per business with full detail.
- Business found (search with enrichment off): $0.004 per business (lighter listing fields).
- Actor start: $0.00005 per run.
A 100-business enriched run costs about $0.60. Both pay-per-event and usage-based (compute + proxy) billing are available — pick whichever fits your volume. A single BBB keyword+location search caps at 225 results; raise maxResults and add more locations to collect more.
Tips & advanced options
- Bigger pulls: BBB limits one search to ~225 results. To exceed that, run several locations (e.g. one run per metro) and merge datasets.
- Cheaper/faster: set
enrichDetailstofalseto skip detail pages when listing fields are enough. - Cleaner leads: combine
accreditedOnly: truewithminRating: "A". - Residential proxy is on by default and required — BBB blocks datacenter IPs via Cloudflare.
FAQ, disclaimer & support
Is scraping BBB legal? This actor collects only publicly available business-directory information. You are responsible for complying with bbb.org's Terms of Service and applicable laws (including data-protection rules) and for using the data lawfully. Do not use it to harass businesses or for unsolicited bulk contact where prohibited.
Why are some fields null? BBB does not publish every field for every business (e.g. email, complaint counts). Missing values are returned as null.
A run returned 0 results and failed. That usually means BBB temporarily blocked the proxy pool. Retry, use a smaller batch, or wait 10–15 minutes.
Found a bug or need a field added? Open an issue on the Issues tab. Custom BBB data solutions are available on request.