BBB Business Directory Scraper avatar

BBB Business Directory Scraper

Pricing

from $6.00 / 1,000 results

Go to Apify Store
BBB Business Directory Scraper

BBB Business Directory Scraper

Scrape business listings from the Better Business Bureau (bbb.org) in bulk: name, category, full address, phone, geo, BBB letter rating and accreditation status. Search by category and location across the US, Canada and Mexico. Build local B2B lead lists and directories.

Pricing

from $6.00 / 1,000 results

Rating

0.0

(0)

Developer

Nicolas van Arkens

Nicolas van Arkens

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract business listings from the Better Business Bureau (bbb.org) directory in bulk. Search by category and location and get one clean row per business — name, category, full address, phone, geo coordinates, BBB letter rating, accreditation and a link to the full BBB profile. Perfect for building local B2B lead lists, contractor and service-provider directories, or market research on any trade in any US, Canadian or Mexican city.

No login, API key or browser automation required. Every BBB search page ships its results as structured data, so this scraper returns clean, consistent JSON — not brittle screen-scraped text.

What you get (one row per business)

FieldDescription
businessNameCompany name as listed on BBB
primaryCategoryMain line of business (e.g. "Plumber", "Roofing Contractor")
categoriesAll categories the business is listed under
bbbRatingBBB letter rating (A+, A, B, … F, or NR)
ratingScoreNumeric rating score (0–100) when available
accreditedtrue if the business is BBB Accredited
outOfBusinessStatusBBB status code when the business is marked out of business; null for active businesses
phone / phonesPrimary phone plus all listed numbers
streetAddress, city, state, postalCodeFull mailing address
latitude, longitudeGeo coordinates
serviceAreasService-area summary when the business lists one
profileUrlLink to the full BBB business profile
requestQuoteUrlBBB "Request a Quote" link when offered
leaveReviewUrlBBB "Leave a Review" link
servingBbbThe local BBB office serving this business
searchTerm, searchLocation, resultPageWhich search produced the row
scrapedAtUTC timestamp of the scrape

Input

Give it arrays — every search term is run against every location (a cross product), and each search is paginated deep. So 5 terms × 4 cities = 20 searches in a single run.

{
"searchTerms": ["plumber", "roofing contractor"],
"locations": ["New York, NY", "Los Angeles, CA", "Chicago, IL"],
"country": "USA",
"maxResultsPerSearch": 225,
"accreditedOnly": false,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
}
  • searchTerms — categories (plumber, hvac, auto repair, dentist) or a specific company name. Add as many as you like.
  • locationsCity, ST, a state, or a ZIP code. Leave empty to search each term nationally (a location is recommended for category searches).
  • countryUSA, CAN, or MEX.
  • maxResultsPerSearch — cap per term+location pair. BBB caps a single search at ~225 businesses (15 pages), so 225 pulls everything for that search; use more locations to cover a whole region.
  • accreditedOnly — set true to keep only BBB-Accredited businesses.
  • searchUrls (power users) — paste full bbb.org /search URLs with your own filters already applied; each is scraped and paginated just like a term+location.

Output sample

{
"businessId": "87144493",
"businessName": "Daniel's Plumbing Services",
"primaryCategory": "Plumber",
"categories": ["Plumber", "Plumbing Renovation", "Sewer Cleaning"],
"bbbRating": "A+",
"ratingScore": 100,
"accredited": true,
"phone": "(212) 369-2500",
"phones": ["(212) 369-2500"],
"streetAddress": "397 Lexington Ave.",
"city": "New York",
"state": "NY",
"postalCode": "10016",
"latitude": 40.75146484375,
"longitude": -73.97583007812499,
"serviceAreas": ["New York County, NY"],
"profileUrl": "https://www.bbb.org/us/ny/new-york/profile/plumber/daniels-plumbing-services-0121-87144493",
"servingBbb": "BBB Serving Metropolitan New York",
"searchTerm": "plumber",
"searchLocation": "New York, NY",
"resultPage": 1,
"scrapedAt": "2026-07-19T00:00:00+00:00"
}

Use cases

  • B2B lead generation — build targeted lists of local service businesses (contractors, plumbers, HVAC, dentists, auto shops) with phone and address, ready for outreach or CRM import.
  • Market research — measure how many businesses compete in a trade + city, and how their BBB ratings and accreditation stack up.
  • Data enrichment — match your own company records to BBB rating, accreditation and profile URL for trust/reputation signals.
  • Directory building — power a niche local-business or "find a pro" directory.

FAQ

Do I need a BBB account or API key? No. The scraper reads public search pages.

How many businesses can I get per search? BBB caps a single category+location search at about 225 businesses (15 pages of 15). To pull an entire metro or state, run the same term across several locations (neighborhoods, cities, ZIP codes).

Which countries are covered? United States (USA), Canada (CAN) and Mexico (MEX).

Why use a proxy? BBB's CDN can throttle datacenter traffic at volume. The actor defaults to Apify Residential proxy (US) and automatically rotates to a fresh session if a page is blocked, so large runs stay reliable.

How is it billed? Pay per result — you're charged once for each business row the actor returns. Blocked or empty pages are never charged.