Skip to content

BBB Scraper

Try for free

Scrape Better Business Bureau (bbb.org) businesses: BBB rating, accreditation, phone, website, email, owner, address, years in business, review and complaint counts, plus optional reviews and complaints.

🏅 BBB Scraper

Turn Better Business Bureau (bbb.org) searches and business profiles into clean, structured lead and trust data: BBB rating, accreditation, phone, website, email, owner and contacts, address with coordinates, years in business, licenses, and review and complaint counts. Search by keyword and city, or paste bbb.org URLs. No login, no browser, and results in seconds.

✨ Why use BBB Scraper?

  • ⚡ Fast: a 10-business search finishes in well under a minute. Search and review data come from bbb.org's own JSON, and profile pages load over plain HTTP.
  • 📇 Lead-ready rows: one row per business with phone, website, decoded email, owner name and title, address, coordinates and categories.
  • 🛡️ Trust signals: BBB letter grade, rating reasons, accreditation status and date, years in business, licenses, government actions, and review and complaint totals.
  • 💬 Reviews and complaints on demand: switch them on to get each business's customer reviews and public complaints, with business responses, nested in the same row.
  • 🔎 Gets past the 225-result search limit: bbb.org shows at most 225 results per search. The scraper automatically adds other sort orders and state and category filters to reach thousands more businesses, and removes duplicates. A nationwide "plumber" search returned 10,000 unique businesses in our tests.
  • 💸 Cheap mode for big lists: turn off "Open each business profile" to save only the search listing (name, rating, accreditation, phone, address, categories) at a fraction of the price.

🎯 Use cases

  • 📈 B2B lead generation: build lists of plumbers, roofers, HVAC companies, dentists or lawyers in any US or Canadian city, with phone, website and owner name.
  • ✅ Vendor due diligence: check a contractor's BBB rating, accreditation, licenses, years in business and complaint history before signing.
  • 👀 Reputation monitoring: track reviews, complaints and rating changes for your business or your competitors on a schedule.
  • 🗺️ Market research: compare ratings, accreditation rates and complaint volumes across categories and regions.
  • 🧹 CRM enrichment: paste the profile URLs you already have and get fresh contact and trust fields back.

🚀 How to use

  1. Enter one or more search terms (for example plumber) and a location (for example Los Angeles, CA), or paste bbb.org search, category or profile URLs.
  2. Set Max businesses.
  3. Optionally filter to BBB Accredited only or a minimum BBB rating, and switch on reviews or complaints.
  4. Click Start. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
searchTermsKeywords or categories, each combined with location
locationCity and state or province, or a ZIP code. Empty searches the whole country
startUrlsbbb.org search, category or business profile URLs (detected automatically)
maxItemsMaximum businesses saved (default 20)
countryUSA or CAN for the search terms
accreditedOnly, minRating, distance, sortFilters and result order
includeProfileDetailsOpen each profile (on) or save search listings only (off)
scrapeReviews, maxReviewPagesAdd customer reviews, 25 per page
scrapeComplaints, maxComplaintPagesAdd public complaints, 25 per page
{
  "searchTerms": ["plumber"],
  "location": "Los Angeles, CA",
  "maxItems": 20,
  "accreditedOnly": false,
  "scrapeReviews": true,
  "maxReviewPages": 1
}

📤 Output

Each row is one business. Reviews and complaints appear as arrays when you switch them on. The Reviews and Complaints table views show one row per review or complaint.

FieldExample
name, profileUrl, bbbId, businessIdBusiness identity
bbbRating, ratingReasons, isAccredited, accreditedSinceBBB grade and accreditation
phone, email, website, socialMediaContact details
ownerName, contacts[]Public principals with titles
addressLine1, city, stateCode, zipCode, latitude, longitude, servingAreasLocation
primaryCategory, categories, businessType, yearsInBusiness, businessStarted, licenses[], operatingHoursBusiness facts
reviewsTotal, averageStarRating, complaintsTotal, closedComplaintsLast3YearsReputation counts
reviews[], complaints[]Optional details

Sample (fictional business, real shape):

{
  "type": "business",
  "bbbId": "1216",
  "businessId": "1000000001",
  "profileUrl": "https://www.bbb.org/us/ca/los-angeles/profile/plumber/example-plumbing-co-1216-1000000001",
  "name": "Example Plumbing Co.",
  "alternateNames": ["Example Plumbing Company, Inc."],
  "bbbRating": "A+",
  "isAccredited": true,
  "accreditedSince": "2019-04-30",
  "primaryCategory": "Plumber",
  "categories": ["Plumber", "Water Heater Repair"],
  "phone": "(213) 555-0142",
  "email": "office@example-plumbing.com",
  "website": "https://www.example-plumbing.com",
  "socialMedia": {"facebook": "https://www.facebook.com/exampleplumbing"},
  "addressLine1": "100 Example St",
  "city": "Los Angeles",
  "stateCode": "CA",
  "zipCode": "90012",
  "latitude": 34.05,
  "longitude": -118.24,
  "businessType": "Corporation",
  "yearsInBusiness": 12,
  "businessStarted": "2014-03-01",
  "ownerName": "Mr. John Example",
  "contacts": [{"name": "Mr. John Example", "title": "President", "isPrincipal": true, "isManagement": true}],
  "licenses": [{"licenseNumber": "1000001", "expirationDate": "2028-09-30", "agency": "Sacramento, CA"}],
  "operatingHours": {"monday": "07:00-17:00", "saturday": "Closed", "sunday": "Closed"},
  "reviewsTotal": 14,
  "averageStarRating": 4.6,
  "complaintsTotal": 1,
  "closedComplaintsLast3Years": 1,
  "reviews": [
    {"reviewId": "1216_1000000001_1", "rating": 5, "author": "Jane D", "text": "Quick, clean and fairly priced.", "date": "2026-05-02", "businessResponseText": null, "businessResponseDate": null}
  ],
  "scrapedAt": "2026-10-14T19:00:00.000Z"
}

💰 Pricing

You pay per result:

  • Business profile: $0.014 each, which is $14 per 1,000 businesses.
  • Search listing only (profile details off): $0.003 each, $3 per 1,000.
  • Review: $0.007 each. Complaint: $0.007 each. You pay for these only when you switch them on.

Example: 1,000 plumbers with full profile details cost about $14 in result fees. Platform usage (compute and proxy traffic) is billed on top and is small, typically well under $1 for 1,000 profiles. Businesses filtered out by "BBB Accredited only" or "Minimum BBB rating" are not charged.

❓ FAQ

Is it legal to scrape bbb.org? The scraper reads only public pages and data that anyone can see without logging in. Check that your use of the data complies with bbb.org's terms and with privacy laws like GDPR and CCPA, especially for personal names.

Do I need a login or my own proxy? No. Search and review data load over datacenter proxies. bbb.org protects profile pages with Cloudflare, so the scraper automatically uses US residential proxies for those pages.

How many results can I get? bbb.org shows at most 225 results per search. When you ask for more, the scraper also tries other sort orders and state and category filters, and removes duplicates. In our tests a nationwide "plumber" search reached 10,000 unique businesses. For very large lists, add more search terms or locations. The status message tells you when a search ran out of reachable results.

Why is a field empty? BBB only shows what the business has on file. Many profiles have no email, no hours or no licenses. Empty fields are null or an empty list, never invented.

Why do reviews or complaints come back empty for a big franchise? For some franchises bbb.org handles reviews and complaints on the headquarters profile, so the local profile lists none. Use the headquarters profile URL (headquartersUrl).

Can I schedule it or use the API? Yes. Schedule runs in the console, or start runs and read datasets through the API and integrations.

⚠️ Limits

  • Covers bbb.org profiles in the United States and Canada. Charity reports on give.org are not covered.
  • bbb.org caps each search at 225 results. The scraper widens searches automatically, but it cannot always reach every match of a very broad search.
  • Personal data (owner names, contacts) is shown only as published by BBB. Use it responsibly.
  • Migrating from the memo23 BBB scraper? The input fields and output fields keep the same names.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.