Store locator and footprint mapping
Use Sonic endpoints to turn store locator and footprint mapping into repeatable API requests with documented inputs and JSON responses.
Turn Sonic Drive-In's public menu and store data into structured JSON — a sitemap-based index of every menu page (298) and store page (roughly 3,365 stores), national menu categories with published calories, full item detail with a link to Sonic's nutrition guide, and per-restaurant detail including per-channel hours and delivery-provider deep links. Credential-free.
Browse Sonic Drive-In's menu and store directory, find restaurants by coordinate, and get item, store, and current-deal detail as structured JSON.
Endpoint families
6
Documented params
27
Examples
10
Live catalog snapshot
Active endpoints
10
Methods
GET
Required params
18
Schema refs
10
{
"platform": "Sonic",
"endpoint": "sonic-sitemap",
"method": "GET",
"path": "/sonic/sitemap",
"auth": "apiKey"
}Use cases
Browse Sonic Drive-In's menu and store directory, find restaurants by coordinate, and get item, store, and current-deal detail as structured JSON.
Use Sonic endpoints to turn store locator and footprint mapping into repeatable API requests with documented inputs and JSON responses.
Use Sonic endpoints to turn menu catalog and calorie monitoring into repeatable API requests with documented inputs and JSON responses.
Use Sonic endpoints to turn delivery-provider coverage research into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Sonic endpoint catalog — 10 endpoints, 27 documented request parameters, and 10 published response schemas — the same catalog Docs and Playground run against.
10 documented Sonic endpoints, grouped into 10 request families — Availability, Categories and Deals, plus 7 more.
27 request parameters are documented across those Sonic endpoints, 18 of them required — the full input contract is public before you write any integration code.
10 of the 10 Sonic endpoints ship a recorded example response, and 10 carry a documented response schema — you can code against the real JSON before the first request.
Sonic 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.
10 hosted MCP tools back the Sonic 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.
/sonic/availability
/sonic/categories
/sonic/deals
/sonic/item
/sonic/location-suggest
/sonic/menu
Endpoint catalog
/sonic/sitemapReturns one page of Sonic Drive-In's own sitemap: section=menu lists every menu category/subcategory/item page (298 pages), section=locations lists every store-directory page (state/city/store, ~3,365 stores). Each entry's path is what GET /sonic/item (menu section) or GET /sonic/store (locations section, kind=store) takes.
MCP tool sonic_sitemap
/sonic/nearbyReturns Sonic Drive-In restaurants within a radius of a latitude/longitude, nearest first, one page at a time. Each result carries the same detail as GET /sonic/store -- address, phone, coordinates, open/closed status, amenities, weekly hours per fulfillment channel, and delivery-provider deep links -- plus distance_miles from the search centre, so ranking or mapping results needs no follow-up call per store. Use this instead of paging GET /sonic/sitemap when you know roughly where you are looking. An area with no restaurants returns an empty stores array with total_stores 0, not an error.
MCP tool sonic_nearby
/sonic/storeReturns one Sonic Drive-In restaurant's address, phone, coordinates, open/closed status, amenities, weekly hours broken down per fulfillment channel (order-ahead, pickup, curbside, in-store, delivery, drive-through), and delivery-provider deep links (DoorDash, GrubHub, Uber Eats, Postmates). path must be a "locations" section, kind=store path from GET /sonic/sitemap.
MCP tool sonic_store
/sonic/categoriesReturns Sonic Drive-In's national menu's top-level categories -- Breakfast, Value, Limited Time, Combos, Burgers, Chicken, Hot Dogs, Sandwiches, Snacks & Sides, Sweets, Tea & Coffee, Lemonades & Limeades, Sodas, Slushes, Refreshers, Wacky Pack Kids Meals and others -- each with its slug (the value GET /sonic/menu takes) and a page_count of subcategory/item pages nested under it.
MCP tool sonic_categories
/sonic/menuReturns the items in one Sonic Drive-In menu category, each with its name and published calorie count. Category slugs come from GET /sonic/categories. Some entries are themselves a nested size/variant group (e.g. "Coffee" expands to Small/Medium/Large/Rt.44 orderable sizes) rather than a single orderable product -- there is no price or full nutrition panel in this source, only calories; see GET /sonic/item for description, image, and a link to Sonic's nutrition guide.
MCP tool sonic_menu
/sonic/itemReturns one menu page's detail: name, description, image, and a link to Sonic's site-wide nutrition/allergen guide PDF. path must be a "menu" section path with kind category, subcategory, or item from GET /sonic/sitemap (or a path copied from a GET /sonic/menu-adjacent page you already know).
MCP tool sonic_item
/sonic/dealsReturns the promotions currently published on Sonic Drive-In's national deals page -- each with its marketing headline, public name, description, legal terms, call-to-action label and link, and creative image. This page is not listed in Sonic's own sitemap, so GET /sonic/sitemap will never surface it. Deals are national marketing offers, not per-store pricing; there is no price field in this source. Between campaigns Sonic can publish the page with no promotions at all, which returns an empty deals array with count 0 rather than an error.
MCP tool sonic_deals
/sonic/availabilityReturns the bookable order-ahead windows for one Sonic Drive-In restaurant, grouped by service channel and local date. Each window has a UTC start_time and end_time. Also returns the store's timezone, how long each window lasts (slot_duration_minutes), the prep/handoff buffer before the first bookable window (lead_time_minutes), and service_types -- every channel the store supports, which is a superset of the channels that currently have windows. fulfillment selects the request method and accepts exactly `PICKUP` or `DELIVERY`; note the per-window service_type is a separate, finer vocabulary and can be `ORDER_AHEAD`, `CURBSIDE_PICKUP`, `DRIVE_THROUGH`, `STORE`, `PICKUP` or `DELIVERY`. A closed or fully-booked restaurant returns an empty channels array with total_slots 0, not an error. An unknown store_id returns 404.
MCP tool sonic_availability
/sonic/location-suggestCompletes a partial address, place, city, state or ZIP into ranked matches, each already carrying the latitude and longitude that GET /sonic/nearby takes -- so a caller can run a Sonic restaurant search from free text instead of coordinates. Each suggestion's layer describes its granularity and is one of `address`, `locality`, `state`, `postalCode` or `place`, and confidence is one of `exact`, `interpolated` or `fallback`. Results are restricted to one country (default US). A query that matches nothing returns an empty suggestions array with count 0, not an error.
MCP tool sonic_location_suggest
/sonic/nutrition-documentsReturns the nutrition, allergen and ingredient documents Sonic Drive-In publishes nationally -- the printable menu, the Spanish-language menu, the nutrition guide, allergen information, and the ingredient statement -- each with a directly fetchable URL, file name, MIME type, size in bytes, and the date it was last republished. These are the only structured nutrition source Sonic publishes; per-item macro and micronutrient values are not available anywhere on the public site, and GET /sonic/menu carries calories only. Files are large print-ready PDFs (several megabytes each), so check size_bytes before downloading.
MCP tool sonic_nutrition_documents
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 Sonic
Crawlora's Sonic Drive-In endpoints return normalized public Sonic data as JSON with one API key — no Sonic account required. Sitemap paths are the entry point for bulk enumeration of both the menu and the store directory; /sonic/nearby is the direct coordinate lookup, and the national deals page is not in the sitemap at all.
Call /sonic/sitemap with section set to menu (298 pages: category, subcategory, item) or locations (roughly 3,365 stores: state, city, store), optionally filtered by kind, paginated with page and page_size. Each entry's path is what /sonic/item (menu section) or /sonic/store (locations section, kind=store) takes.
Call /sonic/categories for the top-level category list (Breakfast, Value, Combos, Burgers, Chicken, Sweets, Tea & Coffee, and more), then /sonic/menu with a category slug for that category's items — name and published calorie count only; some entries are themselves a nested size/variant group (e.g. Coffee expands to Small/Medium/Large/Rt.44) rather than a single orderable product.
Pass a menu-section path (kind category, subcategory, or item) from /sonic/sitemap to /sonic/item for that page's name, description, image, and a link to Sonic's site-wide nutrition/allergen guide PDF — there is no price or per-item nutrition panel in this source.
Pass a latitude and longitude (with optional radius up to 100 miles, limit, and zero-based page) to /sonic/nearby for restaurants nearest first — each carrying the same detail as /sonic/store plus distance_miles, so ranking or mapping needs no follow-up call per store. An area with no restaurants returns an empty list rather than an error.
Pass a locations-section, kind=store path from /sonic/sitemap to /sonic/store for address, phone, coordinates, open/closed status, amenities, weekly hours broken down per fulfillment channel (order-ahead, pickup, curbside, in-store, delivery, drive-through), and delivery-provider deep links (DoorDash, GrubHub, Uber Eats, Postmates).
FAQ
Call /sonic/sitemap to enumerate menu or store pages, /sonic/categories and /sonic/menu for the national menu, /sonic/item for one page's detail, or /sonic/store for one restaurant's full detail — all return structured JSON with one API key.
No — /sonic/menu and /sonic/item carry published calories only, no price and no full nutrition panel; /sonic/item links to Sonic's own site-wide nutrition/allergen guide PDF instead.
298 menu pages (category/subcategory/item) and roughly 3,365 store pages (state/city/store), each walkable via /sonic/sitemap with section and optional kind filters.
Yes — /sonic/store returns delivery_providers[] with deep links for the delivery services active at that specific restaurant (e.g. DoorDash, GrubHub, Uber Eats, Postmates).
Yes — /sonic/nearby takes a latitude/longitude with an optional radius (1-100 miles) and returns restaurants nearest first with distance_miles, paged via limit and a zero-based page. Use it instead of walking /sonic/sitemap when you already know roughly where you are looking.
Yes — /sonic/deals returns the promotions published on Sonic's national deals page (headline, name, description, legal terms, CTA label/link, and creative image). These are national marketing offers, not per-store pricing, and the page carries no price field. Between campaigns Sonic can publish it empty, which is a success with count 0, not an error. The deals page is not in Sonic's sitemap, so /sonic/sitemap will never surface it.