BBB Scraper
hipersoft/bbb-scraper
Scrape Better Business Bureau (BBB) businesses: name, BBB letter rating, accreditation, phone, full address and profile URL. Search by term and location. No setup.
Total users
5Monthly users
3Total runs
100Per business scraped
$0.003Last rebuilt
Oct 26, 2026Overview
Scrape the Better Business Bureau (BBB) business directory into clean JSON, CSV or Excel. Get the business name, BBB letter rating, accreditation status, phone, full address and profile URL for any business type in any US or Canadian location. Fast and reliable.

Features
- ๐ข Business data โ name and BBB profile URL per listing
- โญ BBB rating โ letter grade (A+ โฆ F, NR) plus an accreditation flag
- โ๏ธ Phone number โ direct contact number, the key lead field
- ๐ Full address โ street, city, state/region, ZIP and country
- ๐ US & Canada โ search either country
- โก Clean output โ structured JSON ready for outreach or analysis
Use cases
- B2B lead generation โ build outreach lists with phone numbers and addresses
- Vetted-vendor lists โ filter suppliers by BBB rating and accreditation
- Reputation research โ study ratings and accreditation across a market
- Local-market outreach โ target businesses by type and location
- Sales prospecting โ find accredited businesses in a category and area
- Dataset building โ assemble US/Canada business datasets for analytics
How to scrape BBB data
- Add the BBB Scraper to your Apify account.
- Enter a business type or name in
findText(e.g. roofing, HVAC, dentist). - Set a
findLoclocation and choose thecountry, then setmaxItems. - Click Run.
- Export the results as JSON, CSV or Excel, or pull them via the Apify API.
Input
{
"findText": "roofing",
"findLoc": "Dallas, TX",
"country": "USA",
"maxItems": 300
}
| Field | Description |
|---|---|
findText |
Business type or name, e.g. plumber, roofing, HVAC, dentist |
findLoc |
City, state or ZIP, e.g. Chicago, IL (empty = nationwide) |
country |
USA or CAN |
maxItems |
Maximum number of businesses to return |
What you get

{
"id": "91349575",
"name": "Home Integrity Solutions LLC",
"bbbRating": "A",
"isAccredited": true,
"telephone": "(214) 498-6458",
"streetAddress": "4514 Cole Ave Ste 600",
"city": "Dallas",
"region": "TX",
"postalCode": "75205-5565",
"country": "US",
"url": "https://www.bbb.org/us/tx/dallas/profile/roofing-contractors/home-integrity-solutions-llc-0875-91349575",
"sourceUrl": "https://www.bbb.org",
"collectedAt": "2026-07-30T12:00:00.000Z"
}
Output schema
| Field | Type | Description |
|---|---|---|
id |
string | BBB business profile identifier. |
name |
string | Business name. |
bbbRating |
string | BBB letter rating (A+ โฆ F, or NR when not rated). |
isAccredited |
boolean | Whether the business is BBB accredited. |
telephone |
string | Contact phone number. |
streetAddress |
string | Street address. |
city |
string | City. |
region |
string | State or province/region. |
postalCode |
string | ZIP or postal code. |
country |
string | Country code. |
url |
string (URL) | Profile page URL on BBB.org. |
sourceUrl |
string (URL) | Base source site URL. |
collectedAt |
string (ISO date) | When the record was collected. |
Combine BBB with other business and reviews sources:
- Checkatrade Scraper โ UK tradespeople with ratings and phone numbers.
- Europages Scraper โ European B2B suppliers and manufacturers.
- GoodFirms Scraper โ service companies with reviews and services.
- Clutch Scraper โ agencies and B2B providers with reviews.
- Google Maps Scraper โ local businesses with ratings, phone and address.
FAQ
Do I need a BBB account or any setup? No account and no setup โ just enter a business type and location and run.
How many businesses can I get per run?
Use maxItems to cap results. Run different findText and findLoc combinations to widen coverage across the US and Canada.
Can I filter by business type, location and country?
Yes. Search by findText (business type or name), narrow with findLoc (city, state or ZIP), and choose country (USA or CAN).
Does it include phone numbers and addresses?
Yes โ the contact telephone and full address (street, city, region, ZIP, country) are included where listed.
What's the output format? Structured JSON โ one record per business with BBB rating, accreditation, phone, address and URL. Export as JSON, CSV or Excel.
Is scraping BBB.org legal? Only public data shown to any visitor on BBB.org is collected. This is an independent tool, not affiliated with the Better Business Bureau; check BBB's Terms of Service and applicable marketing/data regulations for your use case.
Can I integrate this with other tools? The BBB Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Notes
Original clean-room implementation. Returns only public data shown to any visitor on BBB.org; you are responsible for compliance with BBB's terms. Not affiliated with the Better Business Bureau.
Input
| Field | Type | Description |
|---|---|---|
findTextSearch term | string | Business type or name, e.g. plumber, roofing, dentist, HVAC. |
findLocLocation | string | City, state or ZIP, e.g. Chicago, IL. Leave empty for nationwide. |
countryCountry | string ยท USA, CAN | BBB country: USA or CAN. Default: "USA" |
maxItemsMax businesses | integer | Maximum businesses to scrape. Default: 200 |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~bbb-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"findText": "plumber",
"findLoc": "Chicago, IL"
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/bbb-scraper").call(run_input={
"findText": "plumber",
"findLoc": "Chicago, IL"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/bbb-scraper').call({
"findText": "plumber",
"findLoc": "Chicago, IL"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Business scraped One BBB business record scraped. | $0.003 | $0.0015 |
| Page loaded One BBB results page fetched. | $0.0008 | $0.0008 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
North Data Scraper
Look up European companies on North Data: legal name, former names, register number, address, founding date, LEI, business purpose, managing directors and officers, and recent register publications. Germany, UK, France, Austria and 20+ countries. Bulk lookups.
2,467 runs ยท 5 users ยท $0.004 / companyWebsite Content Crawler
Extract clean, readable content from any list of websites: page title, meta description, headings, main body text, word count and link/image counts. Optional same-domain crawl. Bulk-ready. Great for LLM/RAG ingestion, content audits and research.
206 runs ยท 20 users ยท $0.0024 / page scrapedSpyFu Domain Scraper
Bulk SEO and PPC reports for any domain from SpyFu: organic keywords, monthly SEO clicks and value, Google Ads budget, paid keywords, top keywords, competitors, top countries and monthly history. Competitor research for agencies. Export CSV/JSON.
185 runs ยท 7 users ยท $0.008 / domain reportTrustpilot Reviews Scraper
Scrape Trustpilot reviews and company ratings by company domain or Trustpilot URL: star rating, title, text, reviewer name & country, verification, date, company reply, plus company TrustScore and total reviews.
146 runs ยท 4 users ยท $0.0006 / review scrapedACRA Singapore Company Registry Scraper
Search and export Singapore's full ACRA corporate registry: UEN, entity name, status, incorporation date, address, SSIC industry codes, officers, former names and audit firms. Filter by name, status, entity type or industry. Public open data, no setup.
138 runs ยท 10 users ยท $0.01 / company scrapedWayback Machine Scraper
List every Internet Archive (Wayback Machine) snapshot of a URL or whole domain: timestamp, snapshot URL, status code, MIME type and content digest. Filter by date, status and dedupe. For SEO, OSINT and historical research. No setup.
135 runs ยท 15 users ยท $0.002 / snapshot scrapedSend the site and the fields. We build it and you get it first.