BBB Search Listing by Keywords avatar

BBB Search Listing by Keywords

Pricing

from $3.99 / 1,000 bbb_business_items

Go to Apify Store
BBB Search Listing by Keywords

BBB Search Listing by Keywords

Scrapes business listings from the Better Business Bureau (BBB) by keywords and location. Returns ratings, accreditation status, contact info, categories, and service areas.

Pricing

from $3.99 / 1,000 bbb_business_items

Rating

0.0

(0)

Developer

DataCach

DataCach

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

BBB Search Listing by Keywords Scraper 🏒

Extract business listings from the Better Business Bureau (BBB) directory by keyword and location. Search for any trade categoryβ€”Plumbers, HVAC, Electricians, Roofers, Auto Repairβ€”across any US or Canadian city, state, or ZIP code. Get structured JSON data with BBB ratings, accreditation status, phone numbers, addresses, service areas, and more.

Why use this BBB scraper? 🌟

  • Keyword + Location Search: Search any business category in any US or Canadian city, state, or ZIP code.
  • BBB Ratings & Accreditation: Get letter grade (A+ to F), numeric rating score, and accreditation status per business.
  • Concurrent Processing: Pages are fetched in parallel with rate limitingβ€”fast without hammering BBB's servers.
  • Free & Paid Tiers: Free accounts get up to 10 results for 1 keyword. Paid accounts get up to 30 keywords and configurable result limits.
  • Extraction Metadata: Every record includes the source keyword, extraction date, and full profile URL for traceability.
  • Ready to Export: Output is clean, flat JSONβ€”import directly into Excel, Google Sheets, CRMs, or databases.

Use Cases

  • Lead Generation: Build targeted lists of local service businesses (plumbers, electricians, roofers) by city or ZIP code.
  • Sales Prospecting: Find BBB-accredited businesses in any trade category to approach as potential clients.
  • Market Research: Analyze business density, BBB membership rates, and rating distributions by industry and region.
  • Competitive Intelligence: Monitor BBB ratings and accreditation status of competitors or industry peers.
  • Directory Building: Create curated, verified business directories for the US and Canadian markets.
  • Compliance & Vendor Vetting: Check BBB accreditation status and ratings for supplier due diligence.

What data does this scraper extract? πŸš€

  • Business Identity: Name, business ID, type of business, categories
  • Contact Information: Phone numbers, full BBB profile URL, request-a-quote URL
  • Location Data: Street address, city, state, ZIP code, GPS coordinates, service areas
  • BBB Ratings: Letter grade (A+ to F), numeric score (0–100), member status, accreditation status, local BBB chapter
  • Service Coverage: County-level service area summaries
  • Charity Info: BBB Accredited Charity seal and status
  • Business Status: Active or out-of-business flag, logo URI
  • Extraction Metadata: Source keyword, extraction date and datetime (UTC) per record

How It Works

  1. Input: Provide one or more trade category keywords and a location (city + state or ZIP code)
  2. Location Resolution: The scraper resolves your location string via BBB's autocomplete API to find the exact internal location identifier BBB uses
  3. Search & Pagination: BBB is queried for each keyword; the first page reveals total result count and pages available
  4. Parallel Fetching: All remaining pages are fetched concurrently (up to 5 simultaneous requests)
  5. Output: Structured business records are pushed to the Apify dataset, ready to download as JSON, CSV, or Excel

Input Parameters

FieldTypeDescriptionDefaultExample
keywordsarrayTrade categories or business types to search for on BBBRequired["Plumber", "HVAC"]
locationstringCity + state, state name, or ZIP code"Miami, FL""Austin, TX" or "90210"
countrystringCountry to search (USA or CAN)"USA""CAN"
max_resultsintegerMaximum results per keyword10100

Free vs. Paid Account Limits

LimitFree AccountPaid Account
Max keywords per run130
Max results per keyword10Up to 1,000

Output Schema

Each business record has the following structure:

{
"id": "0845_11000868_5290",
"businessName": "Example Business",
"url": "https://www.bbb.org/us/fl/miami/profile/plumbers/example-business-0273-11000868",
"search_keyword": "Plumber",
"extraction_date": "2026-03-16",
"extraction_datetime": "2026-03-16T14:32:00.123456+00:00",
"address": "123 Main St",
"city": "Miami",
"state": "FL",
"postalcode": "33101-1234",
"tobText": "Plumbers",
"tobId": "10420-000",
"rating": "A+",
"ratingScore": 100,
"bbbMember": true,
"accreditationStatus": "Accredited",
"accreditedCharity": false,
"isCharity": 0,
"charitySeal": false,
"phone": ["(305) 555-0123"],
"location": "25.774265,-80.193659",
"businessId": "11000868",
"bbbId": "0273",
"bbbName": "Better Business Bureau Serving Southeast Florida",
"logoUri": null,
"reportUrl": "/us/fl/miami/profile/plumbers/example-business-0273-11000868",
"localReportUrl": null,
"leaveReviewUrl": "/us/fl/miami/profile/plumbers/example-business-0273-11000868/leave-a-review",
"requestAQuoteUrl": "/southeast-florida/quote/request-example-business-11000868",
"requestAQuoteUrlId": 739,
"raqEnabled": true,
"businessLoginUrl": "/southeast-florida/login",
"distance": null,
"score": 914.74,
"outOfBusinessStatus": null,
"categories": [
{ "id": "10420-000", "name": "Plumbers" }
],
"hasServiceArea": true,
"serviceArea": null,
"serviceAreaDescription": null,
"serviceAreasSummary": ["Miami-Dade County, FL", "Broward County, FL"]
}

Output Fields Explained

Extraction Metadata

  • url: Full absolute URL to the BBB business profile page
  • search_keyword: The keyword used in the search that returned this result
  • extraction_date: UTC date when the record was extracted (ISO 8601, e.g. "2026-03-16")
  • extraction_datetime: UTC datetime with timezone (e.g. "2026-03-16T14:32:00.123456+00:00")

Business Identity

  • id: Composite unique identifier (bbbId_businessId_sequence)
  • businessName: Business name (may include <em> tags highlighting the matched keyword)
  • businessId: Unique BBB business identifier
  • tobText: Type of business / trade category label
  • tobId: Type of business category ID

Contact & Location

  • address: Street address
  • city, state, postalcode: Location components
  • location: GPS coordinates as "latitude,longitude"
  • phone: Array of phone numbers

BBB Ratings & Accreditation

  • rating: Letter grade (A+, A, B, C, D, F, or NR for Not Rated)
  • ratingScore: Numeric score (0–100) behind the letter rating
  • bbbMember: Whether the business holds BBB Accredited Business status
  • accreditationStatus: Accreditation status string
  • bbbId: ID of the local BBB chapter
  • bbbName: Name of the local BBB chapter

URLs

  • reportUrl: Relative path to the full BBB business profile
  • leaveReviewUrl: Relative path to submit a customer review
  • requestAQuoteUrl: Relative path to request a quote (if enabled)
  • raqEnabled: Whether the request-a-quote feature is active for this business

Service Area

  • hasServiceArea: Whether the business serves a geographic area beyond its address
  • serviceAreasSummary: Array of county/region strings the business covers
  • serviceAreaDescription: Free-text description of the service area

Charity

  • isCharity: Integer flag (1 = charity, 0 = not)
  • charitySeal: Whether the business displays a BBB charity seal
  • accreditedCharity: Whether the business is a BBB Accredited Charity

Other

  • outOfBusinessStatus: Populated when a business is no longer operating
  • score: Internal BBB relevance score used for search ranking
  • categories: Array of { id, name } objects for all business categories

Performance

  • Concurrency: Up to 5 simultaneous requests using an asyncio semaphore
  • Parallel pages: After page 1 reveals total pages, all remaining pages are fetched at once
  • Retries: Each request retries up to 3 times with exponential backoff on failure
  • Rate-aware: Controlled concurrency avoids triggering BBB's rate limiting

Frequently Asked Questions

What is the BBB and what data is publicly available? The Better Business Bureau is a non-profit organization that rates businesses based on their practices, complaint history, and licensing. All business profiles, ratings, contact info, and accreditation data scraped by this actor are publicly accessible on bbb.org without login.

Can I scrape BBB data for all businesses in a state? Yes. Use a state name (e.g. Texas) as the location and set a broad keyword (e.g. Contractor). Combine multiple keyword searches and increase max_results to collect large datasets. Paid accounts support up to 30 keywords per run.

What's the difference between rating and ratingScore? rating is the letter grade (A+, A, B…) displayed publicly on BBB. ratingScore is the underlying numeric score (0–100) that determines the letter grade. A score of 97–100 maps to A+.

Does this scraper work for Canadian businesses? Yes. Set country to CAN and provide a Canadian city or postal code as the location (e.g. Toronto, ON).

How fresh is the data? The scraper fetches live data from bbb.org at the time of the run. Each record includes extraction_date and extraction_datetime so you can track data freshness over time.

What happens if a keyword returns no results? The scraper logs a message and moves on to the next keyword. No empty records are pushed to the dataset.

Limitations

  • Concurrency cap: 5 concurrent requests to respect BBB's infrastructure
  • Memory: Maximum 2 GB RAM per run
  • Free account: 1 keyword, 10 results per run
  • Paid account: Up to 30 keywords, up to 1,000 results per keyword
  • Geography: US and Canadian BBB listings only
  • Language: English-language content only

This scraper accesses publicly available business listing data from bbb.org. All scraped data is publicly visible without authentication. Ensure your usage complies with BBB's terms of service and applicable data protection regulations. This tool is intended for legitimate business research, lead generation, and market analysis.

Support

For technical support or questions, please refer to the project documentation or open an issue in the repository.


Note: This scraper is designed for legitimate business research and market analysis. Please ensure compliance with all applicable laws and BBB's terms of service.