Wendys API endpoint
Returns Wendy's stores within a radius of a search location, nearest first, via order.wendys.com's own restaurant-selector proximity search (the "Use Current Location" / "City, State, or Zipcode" flow at order.wendys.com's start-an-order screen) -- a materially richer, real-distance source than locations.wendys.com's classic-Yext locator (GET /wendys/directory, /wendys/store), which publishes no geosearch of its own. The search location is either a latitude/longitude pair or a free-text address query param (city/state, zip code, or full street address) that Wendy's own service geocodes server-side -- exactly one form is required; address takes priority if both are given. Each store carries its address, coordinates, phone, distance in miles, open/closed status, its published week of general and breakfast hours, and a few order-availability flags (breakfast, carry-out, mobile order, drive-thru, delivery, wifi) the ordering app itself uses to decide whether to offer the store for the current order type.
/wendys/nearbyWendy's own store-locator theme (locations.wendys.com, backing /wendys/directory and /wendys/store) is a classic, non-JS-framework Yext Pages site with no embedded geosearch API key of its own (unlike Dunkin's /dunkin/nearby, which replays a key Dunkin's own locator embeds). This endpoint instead uses order.wendys.com's own restaurant-selector proximity search — the same call the "Use Current Location" / "City, State, or Zipcode" flow on Wendy's own start-an-order screen fires — which computes real distances server-side and needs no cookies, API key, or signed-in session.
Query parameters:
latitude / longitude — search center coordinate. Required unless address is given.address — free-text city/state, zip code, or street address to search near (e.g. 10001, "Chicago, IL", "1600 Pennsylvania Ave, Washington DC"); Wendy's own service geocodes it server-side, the same as its own search box. An alternative to latitude/longitude, not an addition to it — required unless both of those are given, and takes priority if both forms are present.radius (optional, default 20) — search radius in miles, 1-100.limit (optional, default 25) — maximum stores to return, 1-50.Response includes stores[], count, radius, source_url, and fetched_at.
Each stores[] entry carries store_id, name, address (line1, city, region, postal_code, country), phone_number, latitude/longitude, distance_miles, is_open (the store's current open/closed status), a few order-availability flags Wendy's own ordering app uses to decide whether to offer the store for the current order type (has_breakfast, has_carry_out, has_mobile_order, has_drive_thru, has_delivery, has_wifi), and the published week of hours: hours[] (general dining hours) and breakfast_hours[] (breakfast service hours, often narrower), each an array of {day_of_week, closed, opens, closes} — omitted for a day this API publishes no schedule for, rather than a bogus empty interval.
A search location Wendy's own service cannot resolve to any nearby stores (open ocean, an unrecognized address) returns a 404.
| Field | Filled in, of 25 checked | Values in the sample |
|---|---|---|
| store_id | 25 | |
| name | 25 | “111 FULTON” and 24 other values |
| address | 25 | |
| phone_number | 25 | 2,013,334,564 to 9,294,641,050, median 2,129,774,785 |
| latitude | 25 | |
| longitude | 25 | |
| distance_miles | 25 | 0.22 to 6.36, median 4.27 |
| is_open | 25 | true in 25 of 25 |
| has_breakfast | 25 | true in 21 of 25 |
| has_carry_out | 25 | true in 25 of 25 |
| has_mobile_order | 25 | true in 25 of 25 |
| has_drive_thru | 25 | true in 10 of 25 |
| has_delivery | 25 | true in 25 of 25 |
| has_wifi | 19 | true in 19 of 19 |
| timezone | 25 | US/Eastern in all 25 |
| hours | 25 | median 7 entries |
| breakfast_hours | 21 | median 7 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| latitude | number | No | Search center latitude. Required unless address is given. | 40.7128 | |
| longitude | number | No | Search center longitude. Required unless address is given. | -74.006 | |
| address | string | No | Free-text city/state, zip code, or street address to search near. An alternative to latitude/longitude -- required unless both of those are given. | 10001 | |
| radius | integer | No | Search radius in miles, 1-100, default 20 | 20 | |
| limit | integer | No | Maximum stores to return, 1-50, default 25 | 25 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/wendys/nearby?limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"stores": [
{
"store_id": "12921",
"name": "WASHINGTON UNION STATION",
"address": {
"line1": "50 MASSACHUSETTS AVENUE NE",
"city": "WASHINGTON",
"region": "DC",
"postal_code": "20002",
"country": "US"
},
"phone_number": "2028380978",
"latitude": 38.897527,
"longitude": -77.006362,
"distance_miles": 1.30845,
"is_open": true,
"has_breakfast": true,
"has_carry_out": true,
"has_mobile_order": true,
"has_drive_thru": false,
"has_delivery": true,
"has_wifi": true,
"timezone": "US/Eastern",
"hours": [
{
"day_of_week": "Sunday",
"closed": false,
"opens": "07:30",
"closes": "01:00"
},
{
"day_of_week": "Monday",
"closed": false,
"opens": "06:30",
"closes": "01:00"
}
],
"breakfast_hours": [
{
"day_of_week": "Sunday",
"closed": false,
"opens": "07:30",
"closes": "10:30"
},
{
"day_of_week": "Monday",
"closed": false,
"opens": "06:30",
"closes": "10:30"
}
]
}
],
"count": 1,
"radius": 20,
"source_url": "https://api.app.prd.wendys.digital/web-client-gateway/LocationServices/rest/nearbyLocations?...",
"fetched_at": "2026-09-02T00:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/wendys.nearbyResponseDoc
| 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 | wendys.NearbyResponse | No | ||||
| data.count | integer | No | 25 | |||
| data.fetched_at | string | No | ||||
| data.radius | integer | No | 20 | |||
| data.source_url | string | No | ||||
| data.stores | array | No | ||||
| data.stores[].address | wendys.StoreAddress | No | StoreAddress record, 5 fields: city, country, line1, postal_code, region. Described under Wendy's Store API. | |||
| data.stores[].breakfast_hours | array | No | StoreHours record, 4 fields: closed, closes, day_of_week, opens. Described under Wendy's Store API. | |||
| data.stores[].distance_miles | number | No | 1.30845 | |||
| data.stores[].has_breakfast | boolean | No | ||||
| data.stores[].has_carry_out | boolean | No | ||||
| data.stores[].has_delivery | boolean | No | ||||
| data.stores[].has_drive_thru | boolean | No | ||||
| data.stores[].has_mobile_order | boolean | No | ||||
| data.stores[].has_wifi | boolean | No | ||||
| data.stores[].hours | array | No | Hours is the published week of general dining hours, and BreakfastHours the published week of breakfast service hours (often narrower and always starting no later than dining) -- the same dual- hours shape /wendys/store publishes, from this API's own per-day schedule rather than a second upstream call. StoreHours record, 4 fields: closed, closes, day_of_week, opens. Described under Wendy's Store API. | |||
| data.stores[].is_open | boolean | No | ||||
| data.stores[].latitude | number | No | 38.897527 | |||
| data.stores[].longitude | number | No | -77.006362 | |||
| data.stores[].name | string | No | WASHINGTON UNION STATION | |||
| data.stores[].phone_number | string | No | 2028380978 | |||
| data.stores[].store_id | string | No | 12921 | |||
| data.stores[].timezone | string | No | US/Eastern | |||
| 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 |
| 404 | Not Found | #/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/wendys/nearby?limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"