FiveGuys API endpoint
Use Crawlora's Five Guys Ordering Locations API to extract supported public FiveGuys data as structured JSON. This page includes request parameters, cURL examples, response schema, error behavior, credit cost, and a Playground link for testing before integration.
/fiveguys/ordering-locationsReturns Five Guys restaurants near a latitude/longitude as Five Guys' own ordering platform publishes them, with commerce detail no other endpoint in this family carries: per-store delivery fee, delivery and pickup order minimums, whether the store is currently accepting orders at all, the handoff modes an order placed now could actually use (delivery, pickup, curbside, dine-in, drive-thru, dispatch), group-order/coupon/loyalty support, how many days ahead an order may be scheduled, and the store's own order URL. Set `include_hours` to also return each store's dated business and delivery calendars -- concrete dated windows rather than the recurring weekly schedule the locator endpoints publish, so they reflect holiday and special hours a weekly schedule cannot express. This is a different upstream from GET /fiveguys/nearby, which returns the marketing/locator record: the two describe the same restaurants but do not share ids, and this one carries a per-store name ("Five Guys Austin Arbor") where the locator publishes the generic brand name. Use each result's `id` with GET /fiveguys/ordering-menu for that store's priced menu. A coordinate with no Five Guys nearby returns an empty list rather than an error. Developers commonly use this endpoint for data enrichment, monitoring, research dashboards, internal automation, and agent-native workflows that need repeatable structured public web data. Authentication uses the documented Crawlora headers, and usage is metered with the credit cost shown on this page.
Request parameters are generated from the active endpoint catalog. Required values must be sent before Crawlora can call the upstream public web data source.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| latitude | number | Yes | Search center latitude | ||
| longitude | number | Yes | Search center longitude | ||
| radius | integer | No | Search radius in miles, 1-50 (default 20) | ||
| limit | integer | No | Maximum restaurants to return, 1-50 (default 10) | ||
| include_hours | boolean | No | Include each store's dated business and delivery calendars | ||
| days | integer | No | Days of calendar to return from today, 1-30 (default 7). Only meaningful with include_hours. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fiveguys/ordering-locations?limit=10&include_hours=true" \ -H "x-api-key: $CRAWLORA_API_KEY"
Send your scraping API key in the x-api-key header. Use the console API Keys page to rotate or select the active key.
Endpoint usage is metered in credits. The plan prices, included credits, limits, and overage rates below match the active backend billing configuration.
| Plan | Price | Included credits | Daily cap | Rate limit | Overage |
|---|---|---|---|---|---|
| Free | $0/mo | 2,000 | 500 daily credits | 5/min | No overage |
| Starter | $9/mo | 20,000 | 5,000 daily credits | 15/min | $0.75/1,000 overage credits when enabled |
| Growth | $29/mo | 100,000 | 25,000 daily credits | 45/min | $0.45/1,000 overage credits when enabled |
| Pro | $79/mo | 400,000 | No daily cap | 120/min | $0.30/1,000 overage credits |
| Business | $199/mo | 1,200,000 | No daily cap | 300/min | $0.20/1,000 overage credits |
| Enterprise | $499/mo | 5,000,000 | No daily cap | 1,000/min | $0.12/1,000 overage credits |
This endpoint is executed through Crawlora's managed scraping infrastructure.
Crawlora does not silently return bad data when the upstream page cannot be used.
| Status | Common failure case |
|---|---|
| 400 | Invalid input or missing required parameter |
| 429 | Plan or endpoint rate limit exceeded |
| 500 | Internal execution error |
| 502 | Upstream platform failed, returned unusable HTML, or served a challenge page that could not be resolved |
When possible, Crawlora returns structured error context so your integration can retry, back off, or inspect the request.
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
{
"code": 200,
"msg": "OK",
"data": {
"locations": [
{
"id": "23841",
"store_number": "656",
"slug": "five-guys-656",
"name": "Five Guys Fig @ 7th Downtown LA",
"address": {
"line1": "735 S Figueroa St",
"city": "Los Angeles",
"region": "CA",
"postal_code": "90017",
"country": "US"
},
"latitude": 34.0492055,
"longitude": -118.2610677,
"phone": "(213) 628-3375",
"distance_miles": 0.4,
"is_available": true,
"customer_message": "DELIVERY is available at this location.",
"delivery_fee": 0,
"minimum_delivery_order": 15,
"minimum_pickup_order": 0,
"fulfillment": {
"delivery": false,
"pickup": true,
"curbside": false,
"dine_in": false,
"drive_thru": false,
"dispatch": true,
"group_orders": true,
"coupons": true,
"loyalty": false,
"calories_displayed": true
},
"advance_order_days": 7,
"supported_time_modes": [
"advance",
"asap"
],
"utc_offset": -7,
"order_url": "https://fiveguys.olo.com/menu/five-guys-656/"
}
],
"count": 1,
"radius": 20,
"source_url": "https://order.fiveguys.com/restaurants/near?lat=34.048051&long=-118.254187&radius=20&limit=10",
"fetched_at": "2026-09-06T04:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/fiveguys.orderingLocationsResponseDoc
| 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 | fiveguys.OrderingLocationsResponse | No | ||||
| data.count | integer | No | 3 | |||
| data.fetched_at | string | No | 2026-09-06T12:00:00Z | |||
| data.locations | array | No | ||||
| data.locations[].address | fiveguys.LocationAddress | No | ||||
| data.locations[].address.city | string | No | Chicago | |||
| data.locations[].address.country | string | No | US | |||
| data.locations[].address.line1 | string | No | 180 N Michigan Ave | |||
| data.locations[].address.line2 | string | No | ||||
| data.locations[].address.postal_code | string | No | 60601 | |||
| data.locations[].address.region | string | No | IL | |||
| data.locations[].advance_only | boolean | No | AdvanceOnly marks a store that takes only scheduled orders, never ASAP. | |||
| data.locations[].advance_order_days | integer | No | 7 | AdvanceOrderDays is how many days ahead an order may be scheduled. | ||
| data.locations[].availability_message | string | No | ||||
| data.locations[].calendars | array | No | Calendars are this store's dated operating windows, present only when include_hours was requested. Unlike the weekly recurring schedule GET /fiveguys/search and /fiveguys/nearby publish, these are concrete dated ranges, so they reflect holiday and special hours a recurring schedule cannot express. | |||
| data.locations[].calendars[].label | string | No | Delivery | Label is the platform's display label when it publishes one, e.g. "Delivery". | ||
| data.locations[].calendars[].ranges | array | No | ||||
| data.locations[].calendars[].ranges[].end | string | No | 20260906 23:00 | |||
| data.locations[].calendars[].ranges[].start | string | No | 20260906 10:00 | Start and End are published as "YYYYMMDD HH:MM" in the store's own local time, passed through unchanged rather than reinterpreted into a timezone this API would have to guess. | ||
| data.locations[].calendars[].ranges[].weekday | string | No | Sun | |||
| data.locations[].calendars[].type | string | No | business | Type is the ordering platform's own calendar type, e.g. "business", "dispatch". | ||
| data.locations[].customer_message | string | No | ||||
| data.locations[].delivery_fee | number | No | 0 | Ordering economics, in the store's own currency. DeliveryFee and the minimums are published as 0 when the store sets none. | ||
| data.locations[].distance_miles | number | No | 0.4 | DistanceMiles is measured from the requested coordinate. | ||
| data.locations[].fulfillment | unknown | No | Fulfillment is what the ordering platform will actually accept for this store right now. This is a different thing from the locator's amenity labels (GET /fiveguys/search's `services`), which describe what the restaurant offers in general -- these describe what an order placed now could use. | |||
| data.locations[].id | string | No | 23841 | ID is the ordering platform's restaurant id. | ||
| data.locations[].is_available | boolean | No | true | IsAvailable reports whether the ordering platform is currently accepting orders for this restaurant at all. AvailabilityMessage and CustomerMessage carry the store's own explanation when it publishes one (e.g. a delivery caveat, a temporary notice). | ||
| data.locations[].latitude | number | No | 30.396 | Latitude/Longitude come from the ordering platform's own record. | ||
| data.locations[].longitude | number | No | -97.72 | |||
| data.locations[].minimum_delivery_order | number | No | 15 | |||
| data.locations[].minimum_pickup_order | number | No | 0 | |||
| data.locations[].name | string | No | Five Guys Austin Arbor | Name is the ordering platform's per-store label ("Five Guys Fig @ 7th Downtown LA"), unlike the locator's generic "Five Guys". | ||
| data.locations[].order_url | string | No | OrderURL is the ordering platform's own menu/order page for this store. Note it is hosted on a domain this API cannot itself read (see the endpoint description) -- it is published for handing to an end user, not for further scraping. | |||
| data.locations[].phone | string | No | (512) 719-3300 | |||
| data.locations[].slug | string | No | five-guys-656 | |||
| data.locations[].store_number | string | No | 656 | StoreNumber is Five Guys' own internal store number. | ||
| data.locations[].supported_time_modes | array | No | SupportedTimeModes are the ordering platform's own labels, e.g. "asap", "advance". | |||
| data.locations[].utc_offset | number | No | -7 | UTCOffset is the store's current offset in hours. | ||
| data.radius | integer | No | 20 | |||
| data.source_url | string | No | ||||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/fiveguys/ordering-locations?limit=10&include_hours=true" \
-H "x-api-key: $CRAWLORA_API_KEY"Crawlora is designed for responsible structured public web data workflows. Customers are responsible for using Crawlora in compliance with applicable laws, third-party rights, target-platform rules, and Crawlora terms.
Read Crawlora terms