BBB Scraper (Cheap) avatar

BBB Scraper (Cheap)

Pricing

from $3.99 / 1,000 results

Go to Apify Store
BBB Scraper (Cheap)

BBB Scraper (Cheap)

Scrapes BBB business listings, ratings, contact details, and complaint records from bbb.org so you can build lead lists or check a company's standing before working with them.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Data API

Data API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

BBB Company Scraper

BBB Company Scraper

The Better Business Bureau holds trust signals on hundreds of thousands of North American companies, but the site only lets you read them one profile at a time. This scraper turns that directory into a dataset. Give it an industry and a city and it pulls back every matching company with its trust grade, accreditation status, phone, website, complaint count, and customer rating, ready to drop into a sheet or a CRM. Run it for one ZIP code or a whole state.

What you get

Each company comes back as one row with a steady set of columns, so results stay tidy when you load them into a spreadsheet or database. Two depths of data, depending on how you set the run:

  • Listing level (quick, fetchFullProfile: false): companyName, trustGrade, accredited, phoneNumber, addressText, categoryList, logoImage, and profileUrl. Roughly ten companies per results page.
  • Full profile (default, fetchFullProfile: true): everything above plus websiteUrl, legalStructure, accreditedDate, operatingYears, foundedDate, incorporatedDate, fileOpenedDate, management, mainCategory, complaintsTotal, reviewsTotal, customerRating, acceptedPayments, and socialLinks.

Full-profile runs take longer because the scraper opens each company's BBB page on its own, but the records carry far more detail.

Quick start

  1. Press Try for free and open the input form.
  2. Type a Search term — an industry works best, like "Plumbers", "Auto Repair", or "Roofing". You can also match a company by name (set Lookup mode to Name) or by phone number (Phone).
  3. Type a Search area — a city with its state ("Denver, CO") or a bare ZIP code both work.
  4. Set a Results limit, press Start, then export as JSON, CSV, Excel, or XML once the run finishes.

How it works

Use cases

  • Lead lists — pull a whole industry in a target city and get phone numbers, websites, and contact names you can dial straight away. Sort by grade or accreditation after export.
  • Vendor checks — before you hire a local contractor, pull their BBB record and read the complaint count, years operating, and accreditation in one glance.
  • Competitor mapping — line up everyone in your category in a market and compare trust grades, customer ratings, and time in business side by side.
  • Directory consistency — confirm a company's name, address, and phone match what shows on other listings.
  • Due diligence — verify a company's legal structure, owner or manager name, and founding date before a deal.

Input

FieldTypeRequiredDescription
searchTermstringYesIndustry, keyword, or company name to look up (e.g. "HVAC Contractors", "Acme Roofing").
searchAreastringYesCity with state, or a ZIP code (e.g. "Austin, TX", "60614").
countryCodestringNoBBB region to query: USA or CAN. Default USA.
lookupModestringNoHow BBB reads your term: Category, Name, or Phone. Default Category.
fetchFullProfilebooleanNoOpen each company profile for the deeper fields. Default true; turn off for faster listing-only runs.
resultsLimitintegerNoMost companies to gather per run, up to 1000. Default 50.
timeoutSecondsintegerNoSeconds to wait per request before timing out. Default 45.

Example input

{
"searchTerm": "HVAC Contractors",
"searchArea": "Austin, TX",
"countryCode": "USA",
"lookupMode": "Category",
"fetchFullProfile": true,
"resultsLimit": 50,
"timeoutSeconds": 45
}

Output

Every company is one row. With fetchFullProfile on you get the full field set below; with it off, the profile-only fields come back empty. The example shows a complete record.

Example output

{
"companyName": "Lone Star Comfort Air",
"trustGrade": "A+",
"accredited": true,
"accreditedDate": "5/12/2019",
"operatingYears": 17,
"phoneNumber": "(512) 555-0142",
"websiteUrl": "https://lonestarcomfortair.com",
"addressText": "2200 E Cesar Chavez St Austin TX 78702",
"addressParts": {
"street": "2200 E Cesar Chavez St",
"cityStateZip": "Austin TX 78702"
},
"mainCategory": "Heating and Air Conditioning",
"categoryList": ["Heating and Air Conditioning", "HVAC Contractors"],
"legalStructure": "Corporation",
"management": "Ms. Dana Ruiz, President",
"foundedDate": "1/1/2007",
"incorporatedDate": "3/8/2008",
"fileOpenedDate": "9/14/2010",
"reviewsTotal": 48,
"complaintsTotal": 1,
"customerRating": 4.7,
"acceptedPayments": ["Credit Card", "Check", "Cash"],
"socialLinks": ["https://www.facebook.com/lonestarcomfortair"],
"logoImage": "https://m.bbb.org/prod/ProfileImages/abc123.jpeg",
"profileUrl": "https://www.bbb.org/us/tx/austin/profile/hvac/lone-star-comfort-air-0825-90012345",
"collectedAt": "2026-06-29T10:00:00.000000+00:00"
}

Output fields

FieldTypeDescription
companyNamestringCompany name as it appears on BBB
trustGradestringLetter grade from A+ down to F, or NR when not rated
accreditedbooleanTrue when the company is a BBB Accredited Business
accreditedDatestringDate accreditation was granted (accredited companies only)
operatingYearsintegerHow long the company has been in business
phoneNumberstringMain phone number
websiteUrlstringCompany website link
addressTextstringFull address as a single string
addressPartsobjectSplit address with street and cityStateZip
mainCategorystringPrimary business category
categoryListarrayEvery category the company is filed under
legalStructurestringLegal form — Corporation, LLC, Sole Proprietorship, and similar
managementstringOwner or manager name and title
foundedDatestringDate the company started trading
incorporatedDatestringDate of incorporation, where applicable
fileOpenedDatestringDate BBB first opened a file on the company
reviewsTotalintegerCount of customer reviews on BBB
complaintsTotalintegerCount of complaints filed through BBB
customerRatingfloatAverage customer review score from 1 to 5
acceptedPaymentsarrayPayment types the company takes
socialLinksarraySocial profile URLs listed on the BBB page
logoImagestringCompany logo image link from BBB
profileUrlstringDirect link to the full BBB profile
collectedAtstringISO 8601 timestamp of when the row was captured

Tips for best results

  • Skip the profiles for speed. Set fetchFullProfile to false when you only need the listing basics — it skips the per-company page visits and runs much faster.
  • Plan for ten per page. BBB returns about ten companies per results page, so a 50-company full-profile run opens roughly 55 pages in total.
  • Cap big markets. A broad category in a large metro can return thousands of hits, so set resultsLimit to keep the run in check.
  • Raise the timeout on slow runs. Push timeoutSeconds toward 60 if you start seeing timeout errors.
  • Expect thin records for some companies. A company that never sought accreditation or had a complaint may carry little more than a name and address — that is sparse source data, not a scrape failure.

How can I use Better Business Bureau company data?

How can I use the BBB Company Scraper to build a local lead list? Set lookupMode to Category, enter an industry like "Roofing" as the searchTerm, and put your target city in searchArea. The run returns each company with phoneNumber, websiteUrl, management, and trustGrade, so you can filter to accredited or high-grade companies and start outreach from a clean BBB export.

How can I check a company on the Better Business Bureau before hiring? Switch lookupMode to Name, type the company name, and add its city as the searchArea. With fetchFullProfile on, you get its trust grade, complaintsTotal, operatingYears, accreditation status, and customerRating in one row — a fast read on whether a contractor or vendor is worth the call.

How can I pull BBB ratings and complaints for a whole industry? Search by Category with fetchFullProfile turned on and raise resultsLimit to cover the market. Each company comes back with trustGrade, reviewsTotal, complaintsTotal, and customerRating, giving you a ranked view of who holds the strongest reputation in your sector.

How can I export Better Business Bureau company data to a spreadsheet? Run the scraper, then use the export menu to download JSON, CSV, Excel, or XML. Every company keeps the same fields, so the file loads cleanly into Sheets, Excel, or a CRM with no reshaping.

Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Support

Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.