Google food delivery API: every ordering option for a restaurant
When someone clicks 'Order online' on a restaurant in Google, they see a list of pickup and delivery apps. This API gives you that list as rows: provider, pickup or delivery, fee text, ready or delivery time and which option the restaurant prefers. One call costs €0.0015.
- per 1,000 calls
- €1.50
- per call
- €0.0015
- 0.15 cents
- rows per call
- up to 6
- per 1,000 rows
- ≈ €0.25
What your customers see when they order from Google
The Google food delivery API returns the ordering options Google shows for one restaurant, usually around 6 rows, split into pickup and delivery. Each row has the provider name, its fee text like 'Delivery fee $1.99', the time estimate like 'Delivers in 30-45 min', the order link and whether the restaurant marked that provider as preferred. One call costs €0.0015. Save your restaurants once, and every check is stored in your Scrapewise account for the table, Excel, your AI assistant or the API.
Restaurant owners sign up with 2 or 3 delivery platforms and a direct ordering system, then expect Google to show all of them. Google builds that list itself, so it can differ from the partners you signed with. A partner can drop off, a provider you cancelled can still be listed, or a third-party app can sit above your own ordering link. Customers tend to pick one near the top, and each provider takes a different cut of the order.
This API shows you the list as Google presents it, for your restaurant or for any other one. You'll need the restaurant's Google ID, which the Google Maps scraper API returns in its provider ID column for every place. For the restaurant's full profile with hours and popular times, use the Google Maps place API. All sources and prices are on the all data APIs and prices page.
Who checks Google's ordering options
Restaurant owners
Check that every delivery partner you pay for shows on Google, that your own ordering link is there, and that nothing you cancelled is still sending customers somewhere else.
Restaurant groups and franchises
Run all 25 locations in one go. A location where your preferred provider is missing stands out in a single sheet.
Online ordering and POS vendors
Your product puts a restaurant's direct ordering link on Google. Check that the link shows for each client and that the preferred flag is set after onboarding.
Delivery market analysts
Pull 500 restaurants in a city and count how often each platform appears for pickup and for delivery. It's a public view of who has which restaurants.
How it works
Get the restaurant IDs
Run a Google Maps search like 'pizza in Brooklyn' and copy the provider ID, or use the ID from Google's knowledge panel, like /g/11x38c65wl.
Schedule the check
Each restaurant is one call at €0.0015. Run your list once, or weekly, and every run is saved with its date.
Read the providers
Filter to delivery and compare fee text in the table or Excel, pull rows by API, or ask your AI assistant: 'which delivery providers list my restaurant this week?'
Set it up once. The data keeps coming.
Save your search once and it runs by itself. Every run lands in your own Scrapewise database, and you pick how to read it.
Set it up once
Add your ASINs, keywords, places or apps to a scraper in the web app. New accounts get 5 free requests.
Runs on your schedule
Pick daily, weekly on the days you choose, every few days, or the first or last day of the month. Scheduled runs start at night, European time. Need it more often? Start runs from your own code.
Saved in your database
Each run adds dated rows, so this week sits next to last week. Rows are kept for 90 days.
Use it your way
Open the table in the web app and download the latest run as an Excel file. Ask your own AI assistant about it. Or pull the rows into your code with an API key.
Ask your AI assistant about your own data
Connect Claude Desktop, Claude Code or another MCP app with a read-only key. The assistant reads the rows you've already collected, at no extra cost on Scrapewise. With a full-access key it can start a run for you too.
- Which of my ASINs lost the Buy Box this week?
- Which competitor cut prices the most since Monday?
- Show the keywords where I dropped out of the top 10.
What you send and what you get back
Send the restaurant's Google ID. Each call returns one row per provider per channel, so a provider that offers both pickup and delivery appears twice. Around 6 rows is typical. Fee and time are the text Google shows, and they're empty when Google shows nothing for that provider.
- Restaurant ID (Google knowledge graph mid)required
/g/11x38c65wl
Up to 6 rows per call, 22 columns each
- sw status
- sw source url
- sw position
- sw title
- sw url
- sw external id
- sw id kind
- sw image
- sw seller
- sw sponsored
- sw location
- sw fetched at
- +10 more, see all columns
Sample: ordering options for Fortuna NYC
Real providers, fee text and times from a live call in September 2026 for a New York restaurant. Order links are shortened because they carry a one-time token. All columns the API returns are shown.
All 22 columns
- sw status
- sw source url
- sw position
- sw title
- sw url
- sw external id
- sw id kind
- sw image
- sw seller
- sw sponsored
- sw location
- sw fetched at
- channel
- name
- order_url
- image
- time
- preferred_by_business
- fees[0]
- fees[1]
- ctx_restaurant_name
- ctx_search_parameters_mid
sw status_sw_statusResult of this row: OK, no results, or an error | sw source url_sw_source_urlThe input you gave: a link, keyword or ID | sw position_sw_positionRank of the item as the site shows it | sw title_sw_titleMain name of the item | sw url_sw_urlDirect link to the item | sw external id_sw_external_idThe site's own ID for this item | sw id kind_sw_id_kindWhat kind of ID the external ID is | sw image_sw_imageMain image link | sw seller_sw_sellerWho sells or publishes it | sw sponsored_sw_sponsoredTrue when the result is a paid placement | sw location_sw_locationPlace the result is priced or ranked for | sw fetched at_sw_fetched_atWhen we collected this row (UTC) | channelchannelChannel | namenameName | order_urlorder_urlOrder url | imageimageImage | timetimeTime | preferred_by_businesspreferred_by_businessPreferred by business | fees[0]fees[0]Fees #1 | fees[1]fees[1]Fees #2 | ctx_restaurant_namectx_restaurant_nameRequest context: restaurant name | ctx_search_parameters_midctx_search_parameters_midRequest context: search parameters mid |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| OK | https://www.google.com/search?kgmid=/g/11x38c65wl | 1 | Sauce | https://rwg.getsauce.com/online-ordering/28397fa0-8af0-42ea-a506-0ae9e626e6d8/pickup?rwg_token=… | /g/11x38c65wl | mid | https://lh3.googleusercontent.com/MhnYuCwZ0DMzFPM76CcWT4Jf3-_quVuS7B9lwQ5FcUNbsysHpgeo_iLo5iNph8fJBQ | Sauce | true | Fortuna NYC | 2026-09-16T11:43:09Z | pickup | Sauce | https://rwg.getsauce.com/online-ordering/28397fa0-8af0-42ea-a506-0ae9e626e6d8/pickup?rwg_token=… | https://lh3.googleusercontent.com/MhnYuCwZ0DMzFPM76CcWT4Jf3-_quVuS7B9lwQ5FcUNbsysHpgeo_iLo5iNph8fJBQ | Ready in 10 min | true | Fortuna NYC | /g/11x38c65wl | ||
| OK | https://www.google.com/search?kgmid=/g/11x38c65wl | 2 | ActiveMenus | https://order.com/glue/express/4807?pickup=true&utm_source=google&rwg_token=… | /g/11x38c65wl | mid | https://lh3.googleusercontent.com/OahdlRtaS3y1tflQXCqfKF7l1GrSf6Ygfc1DWgWuk_EVIYef2a6FHZ3CTsU5kXyGPg | ActiveMenus | Fortuna NYC | 2026-09-16T11:43:46Z | pickup | ActiveMenus | https://order.com/glue/express/4807?pickup=true&utm_source=google&rwg_token=… | https://lh3.googleusercontent.com/OahdlRtaS3y1tflQXCqfKF7l1GrSf6Ygfc1DWgWuk_EVIYef2a6FHZ3CTsU5kXyGPg | Ready in 15 min | Fortuna NYC | /g/11x38c65wl | ||||
| OK | https://www.google.com/search?kgmid=/g/11x38c65wl | 3 | Sauce | https://rwg.getsauce.com/online-ordering/28397fa0-8af0-42ea-a506-0ae9e626e6d8/delivery?rwg_token=… | /g/11x38c65wl | mid | https://lh3.googleusercontent.com/MhnYuCwZ0DMzFPM76CcWT4Jf3-_quVuS7B9lwQ5FcUNbsysHpgeo_iLo5iNph8fJBQ | Sauce | true | Fortuna NYC | 2026-09-16T11:44:23Z | delivery | Sauce | https://rwg.getsauce.com/online-ordering/28397fa0-8af0-42ea-a506-0ae9e626e6d8/delivery?rwg_token=… | https://lh3.googleusercontent.com/MhnYuCwZ0DMzFPM76CcWT4Jf3-_quVuS7B9lwQ5FcUNbsysHpgeo_iLo5iNph8fJBQ | Delivers in 25–45 min | true | Fees may apply | Fortuna NYC | /g/11x38c65wl | |
| OK | https://www.google.com/search?kgmid=/g/11x38c65wl | 4 | ActiveMenus | https://order.com/glue/express/4807?delivery=true&utm_source=google&rwg_token=… | /g/11x38c65wl | mid | https://lh3.googleusercontent.com/OahdlRtaS3y1tflQXCqfKF7l1GrSf6Ygfc1DWgWuk_EVIYef2a6FHZ3CTsU5kXyGPg | ActiveMenus | Fortuna NYC | 2026-09-16T11:45:00Z | delivery | ActiveMenus | https://order.com/glue/express/4807?delivery=true&utm_source=google&rwg_token=… | https://lh3.googleusercontent.com/OahdlRtaS3y1tflQXCqfKF7l1GrSf6Ygfc1DWgWuk_EVIYef2a6FHZ3CTsU5kXyGPg | Delivers in 30–45 min | Delivery fee $1.99 | Service fee may apply | Fortuna NYC | /g/11x38c65wl | ||
| OK | https://www.google.com/search?kgmid=/g/11x38c65wl | 5 | Postmates | https://postmates.com/store/fortuna/0d6BrqInTFGtCej4X7WZ3A | /g/11x38c65wl | mid | Postmates | Fortuna NYC | 2026-09-16T11:45:37Z | delivery | Postmates | https://postmates.com/store/fortuna/0d6BrqInTFGtCej4X7WZ3A | Fees may apply | Fortuna NYC | /g/11x38c65wl | ||||||
| OK | https://www.google.com/search?kgmid=/g/11x38c65wl | 6 | Uber Eats | https://www.ubereats.com/store/fortuna/0d6BrqInTFGtCej4X7WZ3A?srsltid=AfmBOooX3yVxrzqItauUV9M9DlsBuSshrL3HQnks0XHuySiW7r51P30C | /g/11x38c65wl | mid | Uber Eats | Fortuna NYC | 2026-09-16T11:46:14Z | delivery | Uber Eats | https://www.ubereats.com/store/fortuna/0d6BrqInTFGtCej4X7WZ3A?srsltid=AfmBOooX3yVxrzqItauUV9M9DlsBuSshrL3HQnks0XHuySiW7r51P30C | Fees may apply | Fortuna NYC | /g/11x38c65wl |
What each column means
Columns that start with 'sw' use the same names on every Scrapewise data API. The rest are Google's ordering fields. A number in brackets means one item from a list, so fees[0] is the first fee line.
Provider and channel
The provider's name and logo, and the channel: pickup or delivery. Position is the order Google lists them in.
- sw position
- name
- sw title
- sw seller
- channel
- image
- sw image
Fees and time
Fee lines as Google words them, like 'Delivery fee $1.99' and 'Service fee may apply', and the ready or delivery time text. These are text, since Google often shows 'Fees may apply' without an amount.
- fees[0]
- fees[1]
- time
Preferred by the restaurant
True when the restaurant marked this provider as its preferred way to order. The sw sponsored column carries the same flag.
- preferred_by_business
- sw sponsored
Order link
The link a customer follows to order. It carries a one-time token from Google and stops working within days, so store the provider name for reporting and don't reuse old links.
- order_url
- sw url
Restaurant and request details
The restaurant name and ID you asked for, and when we collected the row.
- ctx_restaurant_name
- sw location
- ctx_search_parameters_mid
- sw external id
- sw id kind
- sw status
- sw source url
- sw fetched at
What you can do with ordering data
Check which apps list your restaurant
Compare the provider list with the contracts you signed. A missing partner is lost orders; an extra one you never signed with is worth a phone call.
Compare fees customers see
Fee text per provider shows what Google tells your customers before they click, like 'Delivery fee $1.99' against 'Fees may apply'.
Push your own ordering link
Direct orders usually cost you the least. Confirm your own ordering provider shows for pickup and delivery, and that it's the one marked as preferred.
Compare wait times
The time column holds text like 'Ready in 10 min' or 'Delivers in 25-45 min'. Check whether your times look slower than the restaurants next to you.
Watch competitors' delivery setup
Check 20 nearby restaurants each month. When a rival adds a platform or switches its preferred provider, you'll see it in the rows.
Real setups and what they cost
Single restaurant owner
Checks their own place and 10 nearby rivals once a month. 11 calls cost less than €0.02.
- calls per month
- 11
- cost per month
- €0.0165
Pizza franchise with 25 locations
Checks every location weekly to confirm the preferred provider still shows. About 108 calls a month, €0.16.
- calls per month
- 108
- cost per month
- €0.162
Analyst mapping a city
Pulls ordering options for 2,000 restaurants in one city every month. 2,000 calls for €3.
- calls per month
- 2,000
- cost per month
- €3
Why check ordering options with Scrapewise
The list your customers see
You get the providers Google shows for the restaurant, in Google's order, with the fee and time text a customer reads before choosing.
Any restaurant works
You don't need to own the Business Profile. Competitors and every location in a city work the same way.
Pairs with the Maps data
The restaurant ID comes from the Google Maps search rows you may already have. Search a city once, then check ordering for the restaurants you care about.
What your delivery checks cost
Enter how many restaurants you check and how often. Each restaurant per check is one call at €0.0015. Compare all data APIs
- Rows (up to)
- 6,000
- You pay
- €1.50
Frequently asked questions
The restaurant's Google ID, like /g/11x38c65wl. Every Google Maps search row has it in the provider ID column, so run a Maps search first if you don't have it.
Ready to pull Google data into your stack?
Sign up and your first 5 requests are free. Checking 25 locations every week costs about €0.16 a month on pay-as-you-go pricing.