BBB API endpoint
Lists every chapter and public office shown on BBB's directory page for a region discovered by bbb-regions. Office addresses can be outside the selected service region.
/bbb/local-bbbsQuery parameters:
country (required): us or ca, from bbb-regions.region (required): a two-letter region code returned for that country by bbb-regions.Returns the chapters and visible office locations shown on BBB’s directory page for that service region. Each chapter carries news_url, its constructed newsroom, which bbb_news and bbb_news_topics accept. This directory response does not include the optional published newsroom tiles available from bbb-local-bbb. Not every chapter publishes its own stories: see bbb_news for how to tell a local list from the country list BBB shows in its place. BBB may list a chapter under a region even when its office address is in another state or province. Each office identifies whether it is the chapter’s primary office or a branch.
Example request: /api/v1/bbb/local-bbbs?country=us®ion=tx
| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| id | 10 | |
| name | 10 | “BBB Heart of Texas” and 9 other values |
| url | 10 | bbb.org |
| news_url | 10 | bbb.org |
| open_to_public | 10 | true in 10 of 10 |
| offices | 10 | median 1 entry |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| country | string | Yes | Country code from bbb-regions Allowed values: us, ca. | us | |
| region | string | Yes | Two-letter region code from bbb-regions | tx | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/bbb/local-bbbs?country=us®ion=tx" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"country": "us",
"region": {
"code": "tx",
"name": "Texas",
"url": "https://www.bbb.org/about/find-your-local-bbb/us/tx"
},
"chapters": [
{
"id": "0825",
"name": "BBB Heart of Texas",
"url": "https://www.bbb.org/local-bbb/bbb-serving-the-heart-of-texas",
"news_url": "https://www.bbb.org/local-bbb/bbb-serving-the-heart-of-texas/news",
"open_to_public": true,
"offices": [
{
"type": "Primary",
"is_primary": true,
"address": {
"state_province": "TX",
"country": "US"
},
"contact": {},
"office_hours": [
"9 AM-4 PM Monday - Friday"
]
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/bbbdirectory.localBBBsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | bbbdirectory.LocalBBBsResponse | No | ||||
| data.chapters | array | No | ||||
| data.chapters[].id | string | No | 0825 | |||
| data.chapters[].name | string | No | BBB Heart of Texas | |||
| data.chapters[].news_url | string | No | https://www.bbb.org/local-bbb/bbb-serving-the-heart-of-texas/news | The chapter's own newsroom; pass it to bbb-news or bbb-news-topics. | ||
| data.chapters[].offices | array | No | Office record, 19 fields: address, contact, formatted_address, is_primary, jurisdictions, office_hours, phone_hours, type. Described under Local BBB chapter profile API. | |||
| data.chapters[].open_to_public | boolean | No | true | |||
| data.chapters[].url | string | No | https://www.bbb.org/local-bbb/bbb-serving-the-heart-of-texas | |||
| data.country | string | No | us | |||
| data.region | bbbdirectory.RegionOption | No | ||||
| data.region.code | string | No | tx | |||
| data.region.name | string | No | Texas | |||
| data.region.url | string | No | https://www.bbb.org/about/find-your-local-bbb/us/tx | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/bbb/local-bbbs?country=us®ion=tx" \
-H "x-api-key: $CRAWLORA_API_KEY"