Store locator and footprint mapping
Sonicエンドポイントを使えば、「Store locator and footprint mapping」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
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.
エンドポイントファミリー
6
ドキュメント化されたパラメータ
33
サンプル数
12
ライブカタログスナップショット
稼働エンドポイント
12
メソッド
GET
必須パラメータ
20
スキーマ参照
12
{
"platform": "Sonic",
"endpoint": "sonic-nearby",
"method": "GET",
"path": "/sonic/nearby",
"auth": "apiKey"
}ユースケース
Browse Sonic Drive-In's menu and store directory, find restaurants by coordinate, and get item, store, and current-deal detail as structured JSON.
Sonicエンドポイントを使えば、「Store locator and footprint mapping」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Sonicエンドポイントを使えば、「Menu catalog and calorie monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Sonicエンドポイントを使えば、「Delivery-provider coverage research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
マネージド実行
以下の数値はすべて、稼働中のSonicエンドポイントカタログから取得しています(エンドポイント12件、ドキュメント化されたリクエストパラメータ33個、公開レスポンススキーマ12件)。DocsとPlaygroundが参照しているカタログと同じものです。
Sonicのエンドポイントは12件、12つのリクエストファミリーに分類されています(Availability、Categories、Dealsほか9件)。
これらのSonicエンドポイントには33個のリクエストパラメータがドキュメント化されており、うち20個が必須です。統合コードを書く前に入力仕様をすべて確認できます。
12件のSonicエンドポイントのうち12件が実際のサンプルレスポンスを、12件がドキュメント化されたレスポンススキーマを備えています。最初のリクエストの前に実データの形に合わせて実装できます。
Sonicのエンドポイントは成功時のスキーマに加えてエラーレスポンス(400、404、429、503)もドキュメント化しています。ブロック、レート制限、レコード欠損は空データではなく型付きのエラーとして返ります。
Sonicのエンドポイントは12個のホスト型MCPツールとして提供されており、エージェントは同じパラメータと同じJSON契約のまま、追加の実装なしに同じルートを呼び出せます。
カバレッジマップ
/sonic/availability
/sonic/categories
/sonic/deals
/sonic/directory
/sonic/item
/sonic/location-suggest
エンドポイントカタログ
/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ツール sonic_nearby
/sonic/locationsReturns Sonic Drive-In's restaurant listing one page at a time, each entry already split into its country, state, city and address parts plus a ready-made path value that GET /sonic/store takes -- so enumerating restaurants needs no path parsing. Filter by state and/or city to narrow the list; city slugs come from GET /sonic/directory. Results are sorted by path so paging is reproducible. This listing covers more store pages than GET /sonic/directory counts, since the directory counts listed restaurants while this enumerates every published store page; a filter that matches nothing returns an empty locations array with total 0, not an error. If Sonic's live store-locator service refuses the request, the list is built from Sonic's public store sitemap instead (same entry shape; it can omit stores without a published page, and source_url shows which source answered).
MCPツール sonic_locations
/sonic/directoryReturns Sonic Drive-In's restaurant directory as a country to state to city tree, with a restaurant count at every level. Use it to discover which states and cities have restaurants before calling GET /sonic/locations or GET /sonic/nearby. Each city carries both its display name and the slug that composes into a store path. Counts here describe listed restaurants and are internally consistent (the city counts sum to total_count); GET /sonic/locations enumerates a larger set of store pages, so the two totals intentionally differ.
MCPツール sonic_directory
/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ツール sonic_sitemap
/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ツール 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ツール 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ツール 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ツール 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ツール 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ツール 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ツール 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ツール sonic_nutrition_documents
関連API
Marketplaces & Retail
Research new, used, and vintage instruments across Reverb listings, seller shops, and the Price Guide. Keep current asking prices separate from historical sales, and preserve model, finish, year, condition, and currency when comparing gear.
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.
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.
Call /sonic/directory for Sonic's restaurant tree — country to state to city, with a restaurant count at every level — to see where restaurants actually are before searching. Then call /sonic/locations to page through the restaurant listing itself: each entry arrives already split into its country, state, city, and address parts, plus a ready-made path that /sonic/store takes, so enumeration needs no path parsing.
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.
No — /sonic/locations returns the restaurant listing one page at a time with each entry already split into its country, state, city, and address parts plus a ready-made path that /sonic/store takes, so enumeration needs no path parsing at all. /sonic/directory is the discovery step alongside it: a country to state to city tree with a restaurant count at every level, so you can see which states and cities have restaurants before calling /sonic/locations or /sonic/nearby.
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.