Arbys API endpoint
Returns one level of Arby's US store directory: every state Arby's serves with its store count (no params), one state's cities (state given), or one city's stores (state and city given) -- id, address, and phone only, pair with GET /arbys/location for hours/amenities/status. Unlike GET /arbys/locations, this needs no coordinate; it is a plain browse of the whole ~3,200-store US chain.
/arbys/directoryQuery parameters:
state (optional) — two-letter US state abbreviation. Omit to list every state.city (optional, requires state) — city name. Omit to list every city in the state.An unrecognized (but well-formed) state or city returns an empty result, not an error — the upstream directory itself is the source of truth for which states/cities exist.
Response includes exactly one of states[] (no params) or cities[] (state given), plus state, city (whichever were given), count, source_url, and fetched_at.
state, name, count (store count).city, display_name, count, and stores[].store_id, address (line1, line2, city, state, postal_code, country), and phone only — no hours, amenities, or status. Pair a store_id from here with /api/v1/arbys/location for those, or with /api/v1/arbys/menu//api/v1/arbys/categories for pricing.Example response (state=OH&city=Youngstown):
{"code":200,"msg":"OK","data":{"state":"OH","city":"Youngstown","cities":[{"city":"Youngstown","display_name":"Youngstown, OH","count":5,"stores":[{"store_id":"1","address":{"line1":"29 BOARDMAN-CANFIELD RD","city":"Youngstown","state":"OH","postal_code":"44512","country":"US"},"phone":"330-758-2223"}]}],"count":1,"source_url":"https://api.arbys.com/arb/digital-exp-api/v1/locations/regions?countryCode=US","fetched_at":"2026-09-03T12:00:00Z"}}
Example response (no params, states list, truncated):
{"code":200,"msg":"OK","data":{"states":[{"state":"AK","name":"Alaska","count":9},{"state":"AL","name":"Alabama","count":94},{"state":"OH","name":"Ohio","count":269}],"count":48,"source_url":"https://api.arbys.com/arb/digital-exp-api/v1/locations/regions?countryCode=US","fetched_at":"2026-09-03T12:00:00Z"}}
| Field | Filled in, of 1 checked | Values in the sample |
|---|---|---|
| city | 1 | “Youngstown” |
| display_name | 1 | |
| count | 1 | 5 |
| stores | 1 | median 5 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| state | string | No | Optional. Two-letter US state abbreviation. Omit to list every state. | OH | |
| city | string | No | Optional. City name, requires state. Omit to list every city in the state. | Youngstown | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/arbys/directory" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"state": "OH",
"city": "Youngstown",
"cities": [
{
"city": "Youngstown",
"display_name": "Youngstown, OH",
"count": 5,
"stores": [
{
"store_id": "1",
"address": {
"line1": "29 BOARDMAN-CANFIELD RD",
"city": "Youngstown",
"state": "OH",
"postal_code": "44512",
"country": "US"
},
"phone": "330-758-2223"
}
]
}
],
"count": 1,
"source_url": "https://api.arbys.com/arb/digital-exp-api/v1/locations/regions?countryCode=US",
"fetched_at": "2026-09-03T12:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/arbys.directoryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | arbys.DirectoryResponse | No | ||||
| data.cities | array | No | Cities lists every city in the requested state (or just the one matching city, when both are given), each with its stores. Populated only when state is given. | |||
| data.cities[].city | string | No | Youngstown | |||
| data.cities[].count | integer | No | 5 | |||
| data.cities[].display_name | string | No | Youngstown, OH | |||
| data.cities[].stores | array | No | ||||
| data.cities[].stores[].address | arbys.LocationAddress | No | LocationAddress record, 7 fields: city, country, line1, line2, postal_code, reference_point, state. Described under Arby's Location API. | |||
| data.cities[].stores[].phone | string | No | 330-758-2223 | |||
| data.cities[].stores[].store_id | string | No | 1 | |||
| data.city | string | No | Youngstown | |||
| data.count | integer | No | 48 | |||
| data.fetched_at | string | No | ||||
| data.source_url | string | No | ||||
| data.state | string | No | OH | |||
| data.states | array | No | States lists every state Arby's serves, with its store count. Populated only when neither state nor city is given. | |||
| data.states[].count | integer | No | 269 | |||
| data.states[].name | string | No | Ohio | |||
| data.states[].state | string | No | OH | |||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/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/arbys/directory" \
-H "x-api-key: $CRAWLORA_API_KEY"