Global store enumeration and footprint mapping
Use Subway endpoints to turn global store enumeration and footprint mapping into repeatable API requests with documented inputs and JSON responses.
Turn Subway's own sitemap-declared store index into structured JSON — over 22,700 store URLs worldwide across a country/region/city/street tree, paged in two shards, full per-store detail (address, coordinates, phone, hours), and each store's complete priced menu with full nutrition panels and allergen disclosures per size. Credential-free.
Enumerate Subway's global store index, find stores near a coordinate or address, and get store detail plus per-store priced, nutrition-labeled menus as JSON.
Endpoint families
5
Documented params
18
Examples
5
Live catalog snapshot
Active endpoints
5
Methods
GET
Required params
8
Schema refs
5
{
"platform": "Subway",
"endpoint": "subway-sitemap",
"method": "GET",
"path": "/subway/sitemap",
"auth": "apiKey"
}Use cases
Enumerate Subway's global store index, find stores near a coordinate or address, and get store detail plus per-store priced, nutrition-labeled menus as JSON.
Use Subway endpoints to turn global store enumeration and footprint mapping into repeatable API requests with documented inputs and JSON responses.
Use Subway endpoints to turn menu, pricing, and nutrition monitoring into repeatable API requests with documented inputs and JSON responses.
Use Subway endpoints to turn location coverage research by country and region into repeatable API requests with documented inputs and JSON responses.
Use Subway endpoints to turn store-count benchmarking against competitor chains into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Subway endpoint catalog — 5 endpoints, 18 documented request parameters, and 5 published response schemas — the same catalog Docs and Playground run against.
5 documented Subway endpoints, grouped into 5 request families — Available Times, Menu and Nearby, plus 2 more.
18 request parameters are documented across those Subway endpoints, 8 of them required — the full input contract is public before you write any integration code.
5 of the 5 Subway endpoints ship a recorded example response, and 5 carry a documented response schema — you can code against the real JSON before the first request.
Subway 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 Subway 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.
/subway/available-times
/subway/menu
/subway/nearby
/subway/sitemap
/subway/store
Endpoint catalog
/subway/sitemapReturns one page of Subway's sitemap-declared store index -- 22,700+ URLs across 2 shards at time of writing, covering a country/region/city/street tree worldwide. This is the cheapest way to enumerate Subway locations, and it is the entry point Subway's own robots.txt declares. Each entry carries its URL, the locator path GET /subway/store takes, and a depth: the deepest entries are store pages, shallower ones are country, region and city directory pages listed in the same sitemap. A page past the end returns an empty list rather than an error, so a caller can walk to exhaustion.
MCP tool subway_sitemap
/subway/nearbyReturns Subway stores nearest first to a coordinate or a free-text address/city/ZIP, with live open/closed status, payment methods, catering link, and feature flags. This is the proximity search GET /subway/sitemap cannot do directly -- the sitemap enumerates the whole world for bulk scraping, this answers "what is near this point" with distance and live attributes the sitemap/store locator does not carry. Each store's store_id is the same value GET /subway/menu takes.
MCP tool subway_nearby
/subway/storeReturns one Subway store: postal address, coordinates, phone and the full published week of opening hours. Store paths come from the deepest entries in GET /subway/sitemap. Passing a country, region or city directory path returns a 404 rather than a hollow record, since those pages carry no street address. Note Subway publishes no credential-free menu or nutrition data, so this family is a locator only.
MCP tool subway_store
/subway/menuReturns one Subway store's complete menu: every category, every product, and for each purchasable size (Footlong, 6-inch, etc.) its price, full nutrition panel (calories, fat, sodium, protein and more) and allergen disclosures. Store IDs come from a GET /subway/store result's store_id field. Categories carry is_main_category: true for human-browsable menu sections (Sandwiches, Drinks, Salads, ...) and false for Subway's own internal build/customization groupings, which are included for completeness but are not meant to be shown as menu sections on their own.
MCP tool subway_menu
/subway/available-timesReturns one Subway store's forward-looking pickup schedule -- every time slot the store is currently accepting orders for, as RFC3339 UTC instants, earliest first. Slots begin at the store's next orderable time (roughly half an hour out, not immediately) and run through closing, so the list reflects real remaining capacity for today rather than the store's advertised opening hours. Store IDs come from a GET /subway/store or GET /subway/nearby result's store_id field. A store that is closed or past its last slot for the day returns an empty slots array, which is a valid answer rather than an error. interval_minutes reports the spacing between consecutive slots as measured from the response itself.
MCP tool subway_available_times
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 Subway
Crawlora's Subway endpoints return normalized public Subway store data as JSON with one API key — no Subway account required.
Call /subway/sitemap to page through Subway's own robots.txt-declared store index — over 22,700 URLs across 2 shards at time of writing, covering a country/region/city/street tree worldwide. Each entry carries a depth: the deepest entries are store pages, shallower ones are country, region, and city directory pages in the same sitemap.
A /subway/sitemap page past the end returns an empty list rather than an error, so you can page through shard and page number until the response comes back empty to know you've reached the end of that shard.
Pass a latitude/longitude or a free-text address, city, or ZIP to /subway/nearby for stores nearest first, with live open/closed status, payment methods, a catering link, and feature flags — optionally narrowed to stores having ALL of a set of features (breakfast, remote order, halal, drive-through, catering, curbside, operating). Exactly one search mode is required; page with the opaque next_offset cursor rather than a numeric index.
Pass the path from a deep /subway/sitemap entry to /subway/store for that location's postal address, coordinates, phone, and the full published week of opening hours — passing a country, region, or city directory path instead returns a 404, since those carry no street address.
Pass the store_id from a /subway/store result to /subway/menu for every category and product, with per-size (Footlong, 6-inch, and more) pricing, a full nutrition panel (calories, fat, sodium, protein, and more), and allergen disclosures. Categories carry is_main_category: true for human-browsable sections like Sandwiches, Drinks, and Salads.
FAQ
Call /subway/sitemap to page through Subway's global store-URL index, pass a deep entry's path to /subway/store for that location's address, coordinates, phone, and hours, then pass its store_id to /subway/menu for the priced, nutrition-labeled menu — all return structured JSON with one API key.
Yes — /subway/nearby takes either a latitude/longitude or a free-text address, city, or ZIP and returns stores nearest first with live open/closed status, payment methods, a catering link, and feature flags. Exactly one search mode is required. /subway/sitemap remains the entry point for bulk enumeration of the whole global tree.
Yes — /subway/menu returns one store's complete menu with per-size pricing, a full nutrition panel (calories, fat, sodium, protein, and more), and allergen disclosures for every product, using the store_id from a /subway/store result.
Over 22,700 URLs at time of writing, across 2 shards — though not every URL is a store page; shallower entries are country, region, and city directory pages in the same index.