restaurant-food-delivery-research
About restaurant-food-delivery-research
restaurant-food-delivery-research is a skill for looking up restaurant reviews, reservations, menus, delivery listings, and groceries. It uses Crawlora to return normalized JSON across Yelp, OpenTable, DoorDash, Uber Eats, and Instacart, with location or store context required for many searches.
Key features
- 01Restaurant search and reviews
- 02Reservation availability lookup
- 03Delivery menus and listings
- 04Store-scoped grocery search
- 05Location-aware platform queries
Use cases
- 01Compare nearby delivery options and prices
- 02Check reviews before making a reservation
- 03Find a store and browse grocery products
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ crawlora-org/ crawlora-skills --skill restaurant-food-delivery-researchAfter installing, type/restaurant-food-delivery-researchin Claude Code to confirm it loaded.
Bundled filesreference/endpoints.mdscripts/crawlora.sh
Details
From the project READMERestaurant & food-delivery research
Look up restaurant reviews, reservations, and delivery menus, plus grocery search across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no scraping delivery-app pages.
When to use this skill
- "What are the reviews / menu for this restaurant?" (Yelp, OpenTable)
- "Can I book a table at ?" (OpenTable availability)
- "What's available for delivery near me?" (DoorDash, Uber Eats)
- "What's on this restaurant's delivery menu / what does this dish cost?"
- "Search groceries at this Instacart store."
Setup (one-time)
- Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
- Set
CRAWLORA_API_KEYin the environment before running the helper. - The helper reads
CRAWLORA_API_KEYfrom the environment and sends requests tohttps://api.crawlora.net/api/v1. Missing/invalid key →401.
How it works
Most of these platforms are location-scoped — every search/store call
needs a latitude/longitude (or postal_code), not just a keyword.
- Yelp —
/yelp/search(term+location) or geocode an address first with/yelp/geocode;/yelp/business/{id}for detail,/reviews(+/reviews/search,/reviews/highlights),/menu,/photos. - OpenTable —
/opentable/search(term+latitude+longitude) to find a restaurant, then/opentable/restaurant(restaurant_id, optionaldate_time+party_sizefor availability context),/menus,/reviews. - DoorDash —
/doordash/search(query+latitude+longitude, required) or/doordash/feed//doordash/exploreto browse nearby restaurants;/doordash/store/{store_id}(+/menu,/info,/reviews) for one restaurant — every store call also needslatitude+longitude. - Uber Eats —
/ubereats/search(latitude+longitude,queryoptional) or/ubereats/feed;/ubereats/store/{store_id}(+/menu,/reviews). - Instacart — resolve a store first via
/instacart/stores(postal_code) to get itsshop_id/store_slug, then/instacart/search(shop_id+store_slug+q) for product-term suggestions,/instacart/departmentsfor its category taxonomy,/instacart/trending(postal_code) for popular items.
Full endpoint list, methods, and params: reference/endpoints.md.
Calling the API
# Yelp:
scripts/crawlora.sh /yelp/search term="ramen" location="San Francisco, CA" | jq '.'
# DoorDash (lat/lon required):
scripts/crawlora.sh /doordash/search query="pizza" latitude=37.7749 longitude=-122.4194 | jq '.'
# OpenTable:
scripts/crawlora.sh /opentable/search term="Italian" latitude=37.7749 longitude=-122.4194 | jq '.'
# Instacart (resolve store first):
scripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'
Use scripts/crawlora.sh for all requests; it keeps the API key out of command-line arguments.
Endpoint reference
See reference/endpoints.md for the full supported restaurant, chain-menu, delivery, and grocery catalog.
Examples
- Cross-app delivery compare:
/doordash/searchand/ubereats/searchfor the same coordinate + cuisine, compare which restaurants/prices show up. - Restaurant due diligence:
/yelp/business/{id}(rating, review highlights) +/opentable/restaurant/reviewsbefore booking. - Grocery run:
/instacart/storesto find the nearest store, then/instacart/departmentsto browse its categories.
Notes & limits
- Credits / pay-on-success: billed only on
2xx; free tier 2,000 credits/mo. Key at https://crawlora.net. - Public data only — public listing/menu/review pages; no ordering or payment actions are performed.
- Security: key lives in
CRAWLORA_API_KEYonly — never hardcode, query-param, or commit it. - Location is required, not optional, for DoorDash, Uber Eats, and
OpenTable search/store calls — geocode an address first (e.g. via
/yelp/geocodeor thegeocoding_*endpoints inweb-utilities-research) if you only have a street address. - Instacart is store-scoped — you need a
shop_id+store_slug(from/instacart/stores) beforesearch/item/departmentswill work.