MenuPortal API Introduction

MenuPortal is an API providing access to a Database of over 400,000 Restaurant Menus in the US.


The API is a RESTful API, has resource-oriented URLs, returns JSON-encoded responses, and returns standard HTTP response codes.

The base url for the API is: https://menuapi.apix.site/api


Authentication

Your API requests are authenticated using API keys. To use any API endpoint, you must pass an X-API-Key header with each request.

Your API Key is passed as X-API-KEY in header.

Login to Get API Key

Example Headers:
{
  "Host": "https://menuapi.apix.site",
  "x-api-key": "YOUR_API_KEY_GOES_HERE"
}

Restaurants

The API has over 300,000 individual restaurants in the datastore. You can pull these documents by the unique Restaurant ID or you can search the data.

GET Restaurant By ID

Get Single Restaurant

https://menuapi.apix.site/api/restaurant/{restaurant_id}
Parameters
namedescriptiontyperequiredexample
restaurant_idNumeric ID of the restaurant to get.numbertrue4071387773960467
Example Url
https://menuapi.apix.site/api/restaurant/4071387773960467
Response
"response":{
...
}

GET Search Restaurants By Geo Location

Search Function using location and search radius. Returns list of restaurants sorted by closest

https://menuapi.apix.site/api/restaurants/search/geo
Parameters
namedescriptiontyperequiredexampledefault
latLatitude of search areanumbertrue40.68919
lonLongitude of search areanumbertrue-73.992378
distanceSearch Area radius (in miles)numbertrue5
pagePage Through Resultsnumberfalse11
size# Of Resultsnumberfalse1025 or 10
fullmenuinclude full menus (or not)Booleanfalsefalsefalse
Example Url
https://menuapi.apix.site/api/restaurants/search/geo?lat=40.688072&lon=-73.997385&distance=1
Response
"response":{
...
}

GET Restaurants In Geo Bounding Box

Search Function using Geobounding Box. Returns list of restaurants inside GeoBounding Box.

https://menuapi.apix.site/api/restaurants/geobbox
Parameters
namedescriptiontyperequiredexampledefault
top_leftTop Left coordinates of Bounding Box in lat,lonstringtrue40.7636412,-74.016265
bottom_rightBottom Right coordinates of Bounding Box in lat,lonstringtrue40.706929,-73.96682
pagePage Through Resultsnumberfalse11
size# Of Resultsnumberfalse1025 or 10
fullmenuinclude full menus (or not)Booleanfalsefalsefalse
Example Url
https://menuapi.apix.site/api/api/restaurants/geobbox?top_left=40.7636412,-74.016265&bottom_right=40.706929,-73.96682
Response
"response":{
...
}

GET Search Restaurants By Zip Code

Search Function Returns Restaurants By Zip Code

https://menuapi.apix.site/api/restaurants/zip/{zip}
Parameters
namedescriptiontyperequiredexampledefault
zip_codeZip Codestringtrue11211
pagePage Through Resultsnumberfalse11
size# Of Resultsnumberfalse1025 or 10
fullmenuinclude full menus (or not)Booleanfalsefalsefalse
Example Url
https://menuapi.apix.site/api/restaurants/zip/11211
Response
"response":{
...
}

GET Search Restaurants By State

Search Function Returns Restaurants By State Code

https://menuapi.apix.site/api/restaurants/state/{state_code}
Parameters
namedescriptiontyperequiredexampledefault
state_code2 Digit State CodestringtrueNY
pagePage Through Resultsnumberfalse11
size# Of Resultsnumberfalse1025 or 10
fullmenuinclude full menus (or not)Booleanfalsefalsefalse
Example Url
https://menuapi.apix.site/api/restaurants/state/NY
Response
"response":{
...
}

Menu Items

The API has over 1,000,000 individual menu items in the datastore. You can pull these documents by the unique Menu Item ID or you can search the data.

Return Single Menu Item Details

https://menuapi.apix.site/api/menuitem/{item_id}
Parameters
namedescriptiontyperequiredexample
item_idNumeric ID of the Item to Get.numbertrue1591156531
Example Url
https://menuapi.apix.site/api/menuitem/1591156531
Response
"response":{
...
}

Get Menu Items For Specific Restaurant ID

https://menuapi.apix.site/api/restaurant/{restaurant_id}/menuitems
Parameters
namedescriptiontyperequiredexample
restaurant_idNumeric ID of the restaurant to get.numbertrue317120
size# Of Resultsnumberfalse1025 or 10
pagePage Through Resultsnumberfalse11
Example Url
https://menuapi.apix.site/api/restaurant/4074837073982692/menuitems
Response
"response":{
...
}

Search Function using location and search radius. Returns list of menu items sorted by closest

https://menuapi.apix.site/api/menuitems/search/geo
Parameters
namedescriptiontyperequiredexampledefault
latLatitude of search areanumbertrue40.68919
lonLongitude of search areanumbertrue-73.992378
distanceSearch Area radius (in miles)numbertrue5
searchQuery Stringstringfalsepizza
pagePage Through Resultsnumberfalse11
size# Of Resultsnumberfalse1025 or 10
Example Url
https://menuapi.apix.site/api/menuitems/search/geo?lat=40.688072&lon=-73.997385&distance=1&search=buffalo%20chicken
Response
"response":{
...
}