Restaurant locator and footprint mapping
Use Arby's endpoints to turn restaurant locator and footprint mapping into repeatable API requests with documented inputs and JSON responses.
Turn Arby's public restaurant and menu data into structured JSON — a state/city browse of the whole ~3,200-store US chain, coordinate proximity search with distance, direct store-id lookup, the national menu's categories, and per-category items carrying a full per-serving nutrition panel plus real per-store pricing when you pass a real store id. Credential-free.
Browse Arby's ~3,200-store US directory, find restaurants by coordinate, and get menus with full nutrition and per-store pricing as JSON.
Endpoint families
5
Documented params
16
Examples
5
Live catalog snapshot
Active endpoints
5
Methods
GET
Required params
9
Schema refs
5
{
"platform": "Arby's",
"endpoint": "arbys-locations",
"method": "GET",
"path": "/arbys/locations",
"auth": "apiKey"
}Use cases
Browse Arby's ~3,200-store US directory, find restaurants by coordinate, and get menus with full nutrition and per-store pricing as JSON.
Use Arby's endpoints to turn restaurant locator and footprint mapping into repeatable API requests with documented inputs and JSON responses.
Use Arby's endpoints to turn menu, pricing, and nutrition monitoring into repeatable API requests with documented inputs and JSON responses.
Use Arby's endpoints to turn local retail presence monitoring into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Arby's endpoint catalog — 5 endpoints, 16 documented request parameters, and 5 published response schemas — the same catalog Docs and Playground run against.
5 documented Arby's endpoints, grouped into 5 request families — Categories, Directory and Location, plus 2 more.
16 request parameters are documented across those Arby's endpoints, 9 of them required — the full input contract is public before you write any integration code.
5 of the 5 Arby's endpoints ship a recorded example response, and 5 carry a documented response schema — you can code against the real JSON before the first request.
Arby's endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
5 hosted MCP tools back the Arby's endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/arbys/categories
/arbys/directory
/arbys/location
/arbys/locations
/arbys/menu
Endpoint catalog
/arbys/locationsReturns Arby's restaurants within a radius of a coordinate, nearest first, with address, phone, coordinates, distance, open/closed status, hours, amenities, and pickup/delivery capability flags. Each result's store_id also prices GET /arbys/menu and GET /arbys/categories. To search from a free-text address instead of coordinates, resolve it first with GET /geocoding/search.
MCP tool arbys_locations
/arbys/directoryReturns 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.
MCP tool arbys_directory
/arbys/locationReturns one Arby's restaurant directly by its store id (e.g. one found via GET /arbys/locations), with the same address, hours, amenities, and capability fields as that endpoint's results, minus distance (there is no search center for a direct lookup).
MCP tool arbys_location
/arbys/categoriesReturns Arby's US menu's top-level categories -- Slow Roasted Beef, Crispy Juicy Chicken, Meals, Sides & Snacks, Beverages, Desserts, Kids Menu and others. Each entry's slug is the value GET /arbys/menu takes. store_id (optional, default 0) selects which pricing snapshot categories' item counts are read from; the default 0 is Arby's own reference catalog and carries no prices at all -- pass a store_id you already know (for example one you have seen on arbys.com after picking a location) to price GET /arbys/menu's items against a specific store. There is no location-lookup endpoint in this family.
MCP tool arbys_categories
/arbys/menuReturns the items in one Arby's menu category, each with its stable product code, name, description, image, tags, availability, a full per-serving nutrition panel (calories, total and saturated fat, trans fat, cholesterol, sodium, carbohydrate, fiber, sugar, protein and serving weight), and a price when store_id resolves to a priced catalog. Category slugs come from GET /arbys/categories. store_id (optional, default 0) is Arby's own priceless national reference catalog; pass a store_id you already know to get that store's pricing instead -- there is no location-lookup endpoint in this family, so store_id is a passthrough value, not something this API can look up for you. A price of exactly 0 on an item is a genuine free add-on, distinct from the default catalog's complete absence of pricing.
MCP tool arbys_menu
Related APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
How to scrape Arby's
Crawlora's Arby's endpoints return normalized public Arby's data as JSON with one API key — no Arby's account required. Menu pricing is store-scoped: the default catalog is Arby's own priceless national reference.
Call /arbys/directory with no parameters for every US state Arby's serves with its store count, then pass state for that state's cities, and state plus city for those stores — a plain browse of the whole ~3,200-store chain that needs no coordinate. A well-formed but unrecognized state or city returns an empty result rather than an error.
Pass a latitude and longitude to /arbys/locations for restaurants nearest first, paged with limit and a zero-based page. radius is capped at 50 miles — Arby's own gateway hard-blocks anything larger with a 403, and 50 is what its own site defaults to.
Pass a store_id to /arbys/location for that restaurant on its own, with the same fields a /arbys/locations result carries minus distance_miles. An unknown store id returns a 404.
Call /arbys/categories for the top-level category slugs (slow-roasted-beef, crispy-juicy-chicken, cheesesteaks, meals, sides-snacks, desserts, value-menu, limited-time, and more), then /arbys/menu with a category for its items and their full per-serving nutrition panels. Pass a real store_id to either for that store's live pricing and availability instead of the national default.
FAQ
Call /arbys/locations with a coordinate or /arbys/directory to browse states and cities, /arbys/location for one store by id, and /arbys/categories plus /arbys/menu for the menu with nutrition and pricing — all return structured JSON with one API key.
Only when you scope the request to a real restaurant. store_id defaults to 0, Arby's own national reference catalog, where every item's price is omitted entirely. Pass a real store id (from /arbys/locations) to get that store's live pricing. Check for an absent/null price, not 0 — a price of exactly 0 is a genuine free item or add-on.
Arby's own gateway hard-blocks any radius above 50 with a Cloudflare 403, so /arbys/locations rejects larger values up front rather than forwarding a request that would fail. 50 is also what Arby's own site defaults every search to.
Yes — every /arbys/menu item carries a full per-serving nutrition panel, independent of whether the catalog you requested has pricing.