crawlora-bbb — Better Business Bureau API client for Python
Python client for Crawlora's hosted Better Business Bureau API. It exposes 16 API endpoints covering business search, profiles, complaints, reviews, categories, and ScamTracker reports. Requests go to Crawlora; the package does not run a browser or scrape
Better Business Bureau locally. A Crawlora account and CRAWLORA_API_KEY are required,
and API use is billed under your Crawlora account. Crawlora is independent from and not endorsed by
Better Business Bureau or its owners.
Install
python -m pip install crawlora-bbb
Get an API key
Create an account at crawlora.net, then open the Crawlora console for API-key setup. Set your key in the shell before running the client:
export CRAWLORA_API_KEY="your-crawlora-api-key"
Use
Save this example as example.py, then run python example.py after installing the package and setting your API key.
import os
from crawlora_bbb import BBBClient
api_key = os.environ.get("CRAWLORA_API_KEY")
if not api_key:
raise RuntimeError("Set CRAWLORA_API_KEY before running this example.")
with BBBClient(api_key=api_key) as client:
result_1 = client.search(query='coffee', location='New York, NY')
print(result_1)
result_2 = client.business(url='https://www.bbb.org/us/tx/austin/profile/plumber/calixto-plumbing-0825-1000223803')
print(result_2)
result_3 = client.scamtracker_search(query='package delivery', state='NY')
print(result_3)
The package also exports Client as an alias for BBBClient. Operation
methods are available directly in snake_case and through the bbb
group. The async package client is AsyncBBBClient; see the online
endpoint and parameter reference and runnable example.
Async usage
The package also exports AsyncClient for asynchronous requests:
import asyncio
import os
from crawlora_bbb import AsyncClient
async def main():
api_key = os.environ.get("CRAWLORA_API_KEY")
if not api_key:
raise RuntimeError("Set CRAWLORA_API_KEY before running this example.")
async with AsyncClient(api_key=api_key) as client:
result_1 = await client.search(query='coffee', location='New York, NY')
print(result_1)
asyncio.run(main())
See the runnable example for a complete usage example.
Supported Better Business Bureau API endpoints
This package exposes every route below through direct snake_case methods and the bbb group. See the endpoint and parameter reference for complete input details.
| Method | Endpoint | API operation | Description |
|---|---|---|---|
GET |
/bbb/article |
bbb-article |
Get a BBB article |
GET |
/bbb/business |
bbb-business |
Get a Better Business Bureau business profile |
GET |
/bbb/business/complaints |
bbb-business-complaints |
Get a Better Business Bureau business's complaint history |
GET |
/bbb/business/more-info |
bbb-business-more-info |
Get a Better Business Bureau business's full rating reasons and service area |
GET |
/bbb/business/reviews |
bbb-business-reviews |
Get a Better Business Bureau business's customer reviews |
GET |
/bbb/category |
bbb-category |
Browse a Better Business Bureau category |
GET |
/bbb/local-bbb |
bbb-local-bbb |
Get a local BBB chapter profile |
GET |
/bbb/local-bbbs |
bbb-local-bbbs |
List local BBB chapters serving a region |
GET |
/bbb/news |
bbb-news |
Get BBB newsroom stories |
GET |
/bbb/news/topics |
bbb-news-topics |
List BBB newsroom topics |
GET |
/bbb/regions |
bbb-regions |
List Better Business Bureau directory regions |
GET |
/bbb/scamtracker/search |
bbb-scamtracker-search |
Search Better Business Bureau Scam Tracker reports |
GET |
/bbb/scamtracker/state-stats |
bbb-scamtracker-state-stats |
Get Better Business Bureau Scam Tracker state/province aggregate stats |
GET |
/bbb/scamtracker/{id} |
bbb-scamtracker-detail |
Get a Better Business Bureau Scam Tracker report |
GET |
/bbb/search |
bbb-search |
Search Better Business Bureau businesses |
GET |
/bbb/search/filters |
bbb-search-filters |
Discover Better Business Bureau search filters |
Configuration
Pass your key through api_key or read CRAWLORA_API_KEY from the environment.
Keep credentials out of source control and logs. Requests go to Crawlora's
hosted API.
Metadata
Release files for crawlora-bbb 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| crawlora_bbb-0.4.0.tar.gz | 29.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crawlora_bbb-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.5 kB
Release files / crawlora_bbb-0.4.0.tar.gz
| Download URL | crawlora_bbb-0.4.0.tar.gz |
|---|---|
| Size | 29.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
140ed3c851e1a4e9614efcc25c94600c19375606da49f1f31ee3c2f2ff52bc18
|
|
BLAKE2b-256 checksum How to use checksums |
ae2867d88c4a7c8d3d20d1b5430e30dbbcae9867e63314f0b48237f4834971cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / crawlora_bbb-0.4.0-py3-none-any.whl
| Download URL | crawlora_bbb-0.4.0-py3-none-any.whl |
|---|---|
| Size | 29.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
00cd0c9cb5f1bd70d68718e551a96b80e46a92fe9461d1ddcab33649629a05ff
|
|
BLAKE2b-256 checksum How to use checksums |
f5834f71ac54c3b0422645d17a786c5018a0465322a5c1dda94a2d7ede83be44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|