Discover/BBB API
live

BBB APIbbb.org

Search BBB-listed businesses, retrieve full contact profiles, and fetch customer reviews. 3 endpoints covering name, address, rating, and review text.

Endpoint health
verified 4d ago
get_business_profile
search_businesses
get_business_reviews
3/3 passing latest checkself-healing
Endpoints
3
Updated
22d ago

What is the BBB API?

The BBB.org API provides access to business directory and review data from the Better Business Bureau across 3 endpoints. With search_businesses, you can query by keyword and location to get paginated summaries including business name, phone, address, and BBB profile URL. The other endpoints pull full contact profiles and customer reviews for any business in the BBB directory.

Try it
Page number for pagination.
Search keyword such as business name, category, or service type.
Location to search near, such as a city and state or ZIP code.
api.parse.bot/scraper/9f856b0d-568d-4aff-904a-82d457aaafcf/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/9f856b0d-568d-4aff-904a-82d457aaafcf/search_businesses?page=1&query=plumber&location=Denver%2C+CO' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace bbb-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: BBB SDK — search businesses, get profiles, read reviews."""
from parse_apis.bbb_better_business_bureau_api import BBB, BusinessNotFound

client = BBB()

# Search for plumbers in Denver — limit caps total items fetched across pages.
for biz in client.businesssummaries.search(query="plumber", location="Denver, CO", limit=5):
    print(biz.name, biz.phone_number, biz.city, biz.state)

# Drill into the first result's full profile.
summary = client.businesssummaries.search(query="electrician", location="Chicago, IL", limit=1).first()
if summary:
    profile = summary.details()
    print(profile.name, profile.business_type, profile.owner_name)

    # Read reviews for that business.
    for review in profile.reviews(limit=3):
        print(review.reviewer_name, review.rating, review.review_date)

# Typed error: handle a missing business profile gracefully.
try:
    missing = client.businesses.get(profile_url="https://www.bbb.org/us/xx/nowhere/profile/fake/gone-0000-00000000")
    print(missing.name)
except BusinessNotFound as exc:
    print(f"Business not found: {exc.profile_url}")

print("exercised: businesssummaries.search / summary.details / business.reviews / businesses.get")
All endpoints · 3 totalmissing one? ·

Search for businesses on BBB by keyword and location. Returns a paginated list of business summaries including name, address, phone, category, and BBB profile URL. Each page returns up to 15 results. Location influences the regional BBB results but may not strictly filter to the exact city specified.

Input
ParamTypeDescription
pageintegerPage number for pagination.
queryrequiredstringSearch keyword such as business name, category, or service type.
locationrequiredstringLocation to search near, such as a city and state or ZIP code.
Response
{
  "type": "object",
  "fields": {
    "page": "string indicating the current page number",
    "businesses": "array of business summary objects with Business Name, Phone Number, City, State, Category Label, BBB Profile URL, and Full Address"
  },
  "sample": {
    "data": {
      "page": "1",
      "businesses": [
        {
          "City": "Denver",
          "State": "CO",
          "Full Address": "123 Main St, Denver, CO 80212",
          "Phone Number": "+1 (555) 012-3456",
          "Business Name": "Ennis Plumbing LLC",
          "Category Label": "Plumber, Commercial Plumber",
          "BBB Profile URL": "https://www.bbb.org/us/co/denver/profile/plumber/ennis-plumbing-llc-1296-90156205"
        }
      ]
    },
    "status": "success"
  }
}

About the BBB API

What the API Covers

The BBB.org API exposes three endpoints that map to the core data surfaces on bbb.org: business search, business profiles, and customer reviews. Each business record is identified by its BBB profile URL, which flows from search_businesses into get_business_profile and get_business_reviews as the primary key.

Searching and Identifying Businesses

search_businesses accepts a query string (business name, category, or service type) and a location (city/state or ZIP code). Results are paginated via the page parameter and return an array of business summary objects. Each summary includes Business Name, Phone Number, City, State, Full Address, Category Label, and the BBB Profile URL. Note that location influences which regional BBB results are surfaced but does not always strictly filter to the exact city specified.

Business Profiles and Reviews

get_business_profile takes a BBB profile URL and returns a fuller contact record: Street Address, City, State, ZIP Code (including ZIP+4 when available), Owner Name, Owner Email, Website URL, Phone Number, Business Name, and Business Type classification. One known quirk: social media URLs in the profile may reflect BBB's own accounts rather than the specific business's social presence.

get_business_reviews also takes a BBB profile URL and returns paginated customer reviews. Each review object contains Reviewer Name, Review Date, Rating, and Review Text. Businesses with no submitted reviews return an empty array rather than an error.

Reliability & maintenanceVerified

The BBB API is a managed, monitored endpoint for bbb.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bbb.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official bbb.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a local business reputation dashboard by combining star ratings and review text from get_business_reviews
  • Verify business contact details — address, phone, owner name — before entering a vendor relationship
  • Compile category-specific business directories by searching with service-type keywords in search_businesses
  • Monitor review sentiment over time by periodically fetching paginated reviews for a tracked set of profile URLs
  • Enrich a CRM with BBB-sourced business type classification and owner email from get_business_profile
  • Cross-check business website URLs and physical addresses for lead qualification pipelines
  • Aggregate BBB-listed businesses by ZIP code to analyze service provider density in a given market
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does BBB.org have an official developer API?+
BBB does not publish a general-purpose public developer API. Data access for third-party developers is not officially documented or offered through a developer portal.
What does `get_business_profile` return beyond what `search_businesses` already provides?+
search_businesses returns a summary: Business Name, Phone, City, State, Full Address, Category Label, and BBB Profile URL. get_business_profile adds Owner Name, Owner Email, Website URL, Business Type classification, and a ZIP+4 formatted ZIP Code — fields not present in the search results.
Does the location filter in `search_businesses` strictly return businesses in that city?+
No. The location parameter influences which regional BBB office's results are surfaced, but results may include businesses outside the exact city or ZIP code specified. Treat it as a regional proximity signal rather than a strict geographic filter.
Does the API return BBB accreditation status or letter grades (A+, B-, etc.)?+
Not currently. The three endpoints cover business contact data, category classification, and customer review text and ratings. BBB accreditation status and letter grade are not included in the response fields. You can fork this API on Parse and revise it to add an endpoint that captures those fields from the business profile page.
Can I retrieve complaint history or complaint counts for a business?+
Not currently. The API covers business contact profiles and customer reviews submitted through BBB's review system. Complaint records and complaint counts are separate from reviews on BBB.org and are not exposed by these endpoints. You can fork this API on Parse and revise it to add a complaints endpoint targeting that data.
Page content last updated . Spec covers 3 endpoints from bbb.org.
Related APIs in B2b DirectorySee all →
yelp.com API
Search for businesses on Yelp and access their detailed information including reviews, photos, and ratings all from one interface. Get comprehensive business data like hours, contact details, and customer feedback without visiting Yelp directly.
yellowpages.com API
Search and retrieve business listings, contact info, hours, categories, and customer reviews from YellowPages.com. Browse by category or location across the US.
ibba.org API
Search and find professional business brokers from the IBBA directory by location or name, accessing their contact information, business details, and specialties across over 3,000 verified profiles. Discover brokers in your area or filter by geographic regions and service specialties to connect with the right professional for your business needs.
yellowpages.ca API
Search for businesses across Canada and retrieve detailed information including contact details, ratings, reviews, and website data. Supports keyword and location-based discovery of local businesses for research, analysis, and data enrichment use cases.
hipages.com.au API
Search for local service businesses on hipages.com.au, view detailed business profiles and customer reviews, and explore available service categories all in one place. Find the right tradesperson or service provider by browsing ratings, contact information, and customer feedback.
yelp.com.au API
Search and compare businesses across Yelp Australia by location. Retrieve detailed business information including ratings, categories, and contact details, and access paginated customer reviews with author profiles and rating distributions.
bizbuysell.com API
Search for businesses available for sale across multiple categories and view detailed information about specific listings on BizBuySell.com. Browse business categories to explore different industries and find opportunities that match your investment interests.
m.yelp.com API
Search for businesses and read detailed reviews on Yelp, then get autocomplete suggestions to find exactly what you're looking for. Access comprehensive business information including ratings, hours, and customer feedback all in one place.