Skip to main content
POST
/
api
/
grubhub
/
restaurants
/
search
/grubhub/restaurants/search
curl --request POST \
  --url https://api.anysite.io/api/grubhub/restaurants/search \
  --header 'Content-Type: application/json' \
  --header 'access-token: <api-key>' \
  --data '
{
  "latitude": 0,
  "longitude": 0,
  "count": 2,
  "timeout": 300,
  "keyword": "<string>",
  "order_method": "delivery",
  "sort": "recommended",
  "cuisines": [],
  "price_max": 2,
  "top_rated": false,
  "under_30_min": false,
  "offers": false,
  "free_delivery": false,
  "grubhub_plus": false,
  "open_now": false,
  "new_only": false,
  "national_brands": false,
  "alcohol": false,
  "order_tracking": false,
  "shared_cart": false
}
'
[
  {
    "id": "<string>",
    "@type": "GrubhubSearchRestaurant",
    "name": "<string>",
    "url": "<string>",
    "alias": "<string>",
    "brand_name": "<string>",
    "chain_name": "<string>",
    "image": "<string>",
    "cuisines": [],
    "rating": 123,
    "rating_count": 123,
    "price_rating": 123,
    "coupon_count": 0,
    "delivery_fee": 123,
    "delivery_minimum": 123,
    "delivery_time": 123,
    "delivery_time_min": 123,
    "delivery_time_max": 123,
    "distance": 123,
    "open": false,
    "delivery": false,
    "pickup": false,
    "is_new": false
  }
]

Authorizations

access-token
string
header
required

API token from the dashboard

Headers

access-token
string
required

Body

application/json
latitude
number
required

Delivery location latitude

Required range: -90 <= x <= 90
longitude
number
required

Delivery location longitude

Required range: -180 <= x <= 180
count
integer
required

Max number of restaurants to return

Required range: x >= 1
timeout
integer
default:300

Max scrapping execution timeout (in seconds)

Required range: 20 <= x <= 1500
keyword
string | null

Free-text search keyword (restaurant or dish name)

order_method
enum<string>
default:delivery

Fulfillment method

Available options:
delivery,
pickup
sort
enum<string>
default:recommended

Sort order

Available options:
recommended,
distance,
fastest,
rating,
price_low,
price_high
cuisines
enum<string>[]

Filter by cuisine (multiple cuisines stack)

Available options:
Alcohol,
American,
Asian,
BBQ,
Bagels,
Bakery,
Bodegas,
Bubble Tea,
Burgers,
Chicken,
Chinese,
Coffee,
Dessert,
Fast Food,
Gluten-Free,
Hawaiian,
Healthy,
Indian,
Italian,
Japanese,
Kids Menu,
Korean,
Local Gems,
Mediterranean,
Mexican,
Noodles,
Pizza,
Sandwiches,
Seafood,
Shakes,
Smoothies,
Soup,
Steak,
Sushi,
Thai,
Vegan,
Vegetarian,
Vietnamese
price_max
integer | null

Only restaurants at or below this dollar price tier (1-4)

Required range: 1 <= x <= 4
top_rated
boolean
default:false

Only restaurants rated 4 stars and up

under_30_min
boolean
default:false

Only restaurants delivering in 30 minutes or less

offers
boolean
default:false

Only restaurants with offers

free_delivery
boolean
default:false

Only restaurants with the lowest delivery fees

grubhub_plus
boolean
default:false

Only Grubhub+ eligible restaurants

open_now
boolean
default:false

Only restaurants open now

new_only
boolean
default:false

Only restaurants new to Grubhub

national_brands
boolean
default:false

Only national brand / chain restaurants

alcohol
boolean
default:false

Only alcohol stores

order_tracking
boolean
default:false

Only restaurants with order tracking

shared_cart
boolean
default:false

Only restaurants supporting group / shared carts

Response

Successful Response

id
string
required
@type
string
default:GrubhubSearchRestaurant
name
string | null
url
string | null
alias
string | null
brand_name
string | null
chain_name
string | null
image
string | null
cuisines
string[]
rating
number | null
rating_count
integer | null
price_rating
integer | null
coupon_count
integer
default:0
delivery_fee
number | null
delivery_minimum
number | null
delivery_time
integer | null
delivery_time_min
integer | null
delivery_time_max
integer | null
distance
number | null
open
boolean
default:false
delivery
boolean
default:false
pickup
boolean
default:false
is_new
boolean
default:false