{"id":"43e00a2c-ea82-4cbe-8dc7-f73e5c93eaa1","entityType":"agent","slug":"clawhub-crawlora-org-restaurant-food-delivery-research","name":"restaurant-food-delivery-research","canonicalUrl":"https://www.xpersona.co/agent/clawhub-crawlora-org-restaurant-food-delivery-research","canonicalPath":"/agent/clawhub-crawlora-org-restaurant-food-delivery-research","generatedAt":"2026-10-11T07:43:51.641Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T04:06:18.226Z","emptyReason":null},"description":"Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search. Skill: restaurant-food-delivery-research Owner: crawlora-org Summary: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search. Tags: latest:1.0.21","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17d53nb8nd03gyyfdy32rgde58e574f:restaurant-food-delivery-research","sourceUrl":"https://clawhub.ai/crawlora-org/restaurant-food-delivery-research","homepage":"https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/crawlora-org/restaurant-food-delivery-research","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, an"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T04:06:18.226Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T04:06:18.226Z","emptyReason":null},"stars":null,"forks":null,"downloads":1165,"packageName":null,"latestVersion":"1.0.21","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T04:06:18.154Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T04:06:18.226Z","lastCrawledAt":"2026-10-11T04:06:18.154Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T04:06:18.154Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.21","createdAt":"2026-10-05T01:22:36.206Z","changelog":"Sync skill instructions, references, and helper from GitHub 83bb98ef1362f25cecb5ddd4bc1ea0e564555d97","fileCount":5,"zipByteSize":76244},{"version":"1.0.20","createdAt":"2026-09-26T12:48:27.859Z","changelog":"Sync skill instructions, references, and helper from GitHub 8ac7f99e79c37939913706006fca839ef1108182","fileCount":5,"zipByteSize":77368},{"version":"1.0.19","createdAt":"2026-09-21T01:48:37.569Z","changelog":"Sync skill instructions, references, and helper from GitHub 0cfbceba40b050ba434a0a3f4945ca97b668c805","fileCount":5,"zipByteSize":77636},{"version":"1.0.18","createdAt":"2026-09-17T10:20:52.141Z","changelog":"Security hardening: generated helpers now enforce exact routes, methods, and credential-safe curl behavior.","fileCount":5,"zipByteSize":76426},{"version":"1.0.17","createdAt":"2026-09-14T02:05:07.943Z","changelog":"Sync skill instructions, references, and helper from GitHub 902f58316c643ffbcabc57fc6f15f59d27ec063d","fileCount":5,"zipByteSize":75165},{"version":"1.0.16","createdAt":"2026-09-10T12:35:34.975Z","changelog":"Validate API keys before curl config","fileCount":5,"zipByteSize":74692},{"version":"1.0.15","createdAt":"2026-09-10T12:16:49.906Z","changelog":"Keep API keys out of process arguments","fileCount":5,"zipByteSize":74612},{"version":"1.0.14","createdAt":"2026-09-10T12:07:34.519Z","changelog":"Reject curl local-file query syntax","fileCount":5,"zipByteSize":74444}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17d53nb8nd03gyyfdy32rgde58e574f:restaurant-food-delivery-research","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-restaurant-food-delivery-research/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-restaurant-food-delivery-research/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-restaurant-food-delivery-research/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-restaurant-food-delivery-research/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-restaurant-food-delivery-research/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-restaurant-food-delivery-research/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T07:43:51.639Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-restaurant-food-delivery-research/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-restaurant-food-delivery-research/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-restaurant-food-delivery-research/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-restaurant-food-delivery-research/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T04:06:18.226Z","emptyReason":null},"readme":"Skill: restaurant-food-delivery-research\n\nOwner: crawlora-org\n\nSummary: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n\nTags: latest:1.0.21\n\nVersion history:\n\nv1.0.21 | 2026-10-05T01:22:36.206Z | user\n\nSync skill instructions, references, and helper from GitHub 83bb98ef1362f25cecb5ddd4bc1ea0e564555d97\n\nv1.0.20 | 2026-09-26T12:48:27.859Z | user\n\nSync skill instructions, references, and helper from GitHub 8ac7f99e79c37939913706006fca839ef1108182\n\nv1.0.19 | 2026-09-21T01:48:37.569Z | user\n\nSync skill instructions, references, and helper from GitHub 0cfbceba40b050ba434a0a3f4945ca97b668c805\n\nv1.0.18 | 2026-09-17T10:20:52.141Z | user\n\nSecurity hardening: generated helpers now enforce exact routes, methods, and credential-safe curl behavior.\n\nv1.0.17 | 2026-09-14T02:05:07.943Z | user\n\nSync skill instructions, references, and helper from GitHub 902f58316c643ffbcabc57fc6f15f59d27ec063d\n\nv1.0.16 | 2026-09-10T12:35:34.975Z | user\n\nValidate API keys before curl config\n\nv1.0.15 | 2026-09-10T12:16:49.906Z | user\n\nKeep API keys out of process arguments\n\nv1.0.14 | 2026-09-10T12:07:34.519Z | user\n\nReject curl local-file query syntax\n\nv1.0.13 | 2026-09-10T11:54:58.042Z | user\n\nStream helper request bodies through curl stdin\n\nv1.0.12 | 2026-09-10T11:43:12.241Z | user\n\nScope helper routes and remove secret-shaped key examples\n\nv1.0.11 | 2026-09-10T07:02:45.997Z | user\n\nMigrate publisher from tonywangcn to crawlora-org for brand consistency with the plugins\n\nv1.0.10 | 2026-09-08T05:43:04.402Z | user\n\nAdd comparison workflows and correct retail and restaurant descriptions from crawlora-skills 1.18.0.\n\nv1.0.9 | 2026-09-08T04:35:33.922Z | user\n\nRefresh stale REST examples, endpoint references, and Bash helper from crawlora-skills 1.17.1.\n\nv1.0.8 | 2026-09-07T13:08:34.631Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.7 | 2026-09-07T07:59:03.254Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.6 | 2026-09-07T06:22:42.566Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.5 | 2026-08-24T06:53:49.028Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.4 | 2026-08-24T06:12:05.250Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.3 | 2026-08-24T04:54:48.852Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.2 | 2026-08-14T18:14:47.957Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.1 | 2026-08-10T18:30:50.178Z | user\n\nSet categories\n\nv1.0.0 | 2026-08-10T18:04:26.671Z | auto\n\n- Initial release of restaurant and food delivery research skill using the Crawlora API.\n- Supports searching and retrieving restaurant reviews (Yelp), reservations (OpenTable), and delivery menus (DoorDash, Uber Eats) via normalized JSON.\n- Enables grocery product and store search through Instacart.\n- Cleanly separates platform-specific search requirements, including necessary location parameters.\n- Includes setup instructions, API endpoint usage examples, and practical use cases.\n\nArchive index:\n\nArchive v1.0.21: 5 files, 76244 bytes\n\nFiles: reference/endpoints.md (262160b), scripts/crawlora.sh (26065b), skill-card.md (2157b), SKILL.md (4891b), _meta.json (153b)\n\nFile v1.0.21:SKILL.md\n\n---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for the full supported restaurant, chain-menu, delivery, and grocery catalog.\n\n## Examples\n\n- **Cross-app delivery compare:** `/doordash/search` and `/ubereats/search`\n  for the same coordinate + cuisine, compare which restaurants/prices show up.\n- **Restaurant due diligence:** `/yelp/business/{id}` (rating, review\n  highlights) + `/opentable/restaurant/reviews` before booking.\n- **Grocery run:** `/instacart/stores` to find the nearest store, then\n  `/instacart/departments` to browse its categories.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/menu/review pages; no ordering or\n  payment actions are performed.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Location is required, not optional**, for DoorDash, Uber Eats, and\n  OpenTable search/store calls — geocode an address first (e.g. via\n  `/yelp/geocode` or the `geocoding_*` endpoints in `web-utilities-research`)\n  if you only have a street address.\n- **Instacart is store-scoped** — you need a `shop_id`+`store_slug` (from\n  `/instacart/stores`) before `search`/`item`/`departments` will work.\n\nFile v1.0.21:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.21\",\n  \"publishedAt\": 1791163356206\n}\n\nFile v1.0.21:skill-card.md\n\n## Description:\n\nResearches restaurant reviews, reservations, delivery menus, and grocery products through the Crawlora API and returns structured results.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and researchers can compare nearby restaurants, reviews, menus, delivery options, and grocery availability across supported services. A Crawlora API key and location or store details are required for relevant searches.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Restaurant and grocery searches can expose precise addresses, coordinates, or postal codes to Crawlora and upstream data sources.\n\nMitigation: Use approximate locations where practical and avoid submitting sensitive address details.\n\nRisk: The Crawlora API key may be disclosed if embedded in prompts, commands, or logs.\n\nMitigation: Keep CRAWLORA_API_KEY in the environment, scope it appropriately, and exclude it from logs and shared outputs.\n\nRisk: The endpoint reference covers more services than the short skill description suggests.\n\nMitigation: Review the endpoint reference and allow only the services needed for the task.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n- [Supported endpoints and parameters](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Guidance]\n\n**Output Format:** [Structured JSON results with concise natural-language summaries]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Public restaurant, menu, review, reservation-availability, and grocery data; no ordering or payments.]\n\n## Skill Version(s):\n\n1.0.21 (source: server-resolved release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.20: 5 files, 77368 bytes\n\nFiles: reference/endpoints.md (261932b), scripts/crawlora.sh (26065b), skill-card.md (1788b), SKILL.md (4891b), _meta.json (153b)\n\nFile v1.0.20:SKILL.md\n\n---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for the full supported restaurant, chain-menu, delivery, and grocery catalog.\n\n## Examples\n\n- **Cross-app delivery compare:** `/doordash/search` and `/ubereats/search`\n  for the same coordinate + cuisine, compare which restaurants/prices show up.\n- **Restaurant due diligence:** `/yelp/business/{id}` (rating, review\n  highlights) + `/opentable/restaurant/reviews` before booking.\n- **Grocery run:** `/instacart/stores` to find the nearest store, then\n  `/instacart/departments` to browse its categories.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/menu/review pages; no ordering or\n  payment actions are performed.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Location is required, not optional**, for DoorDash, Uber Eats, and\n  OpenTable search/store calls — geocode an address first (e.g. via\n  `/yelp/geocode` or the `geocoding_*` endpoints in `web-utilities-research`)\n  if you only have a street address.\n- **Instacart is store-scoped** — you need a `shop_id`+`store_slug` (from\n  `/instacart/stores`) before `search`/`item`/`departments` will work.\n\nFile v1.0.20:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.20\",\n  \"publishedAt\": 1790426907859\n}\n\nFile v1.0.20:skill-card.md\n\n## Description:\n\nResearches public restaurant reviews, reservations, delivery menus, and grocery listings through the Crawlora API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to compare restaurants, reviews, reservations, delivery options, menus, and grocery products near a specified location.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Restaurant searches, addresses, postal codes, and coordinates are shared with a third-party API.\n\nMitigation: Use the service only for user-directed research and avoid submitting unnecessary location details.\n\nRisk: Exposure of the Crawlora API key could allow unauthorized use.\n\nMitigation: Keep the key in the environment; do not include it in prompts, URLs, or committed files.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n- [Supported endpoints and parameters](reference/endpoints.md)\n- [Crawlora API and key setup](https://crawlora.net)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Guidance]\n\n**Output Format:** [Markdown summaries and structured JSON results]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Location-scoped, public restaurant, delivery, and grocery data; no ordering or payments.]\n\n## Skill Version(s):\n\n1.0.20 (source: ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.19: 5 files, 77636 bytes\n\nFiles: reference/endpoints.md (261809b), scripts/crawlora.sh (26065b), skill-card.md (2607b), SKILL.md (4891b), _meta.json (153b)\n\nFile v1.0.19:SKILL.md\n\n---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for the full supported restaurant, chain-menu, delivery, and grocery catalog.\n\n## Examples\n\n- **Cross-app delivery compare:** `/doordash/search` and `/ubereats/search`\n  for the same coordinate + cuisine, compare which restaurants/prices show up.\n- **Restaurant due diligence:** `/yelp/business/{id}` (rating, review\n  highlights) + `/opentable/restaurant/reviews` before booking.\n- **Grocery run:** `/instacart/stores` to find the nearest store, then\n  `/instacart/departments` to browse its categories.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/menu/review pages; no ordering or\n  payment actions are performed.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Location is required, not optional**, for DoorDash, Uber Eats, and\n  OpenTable search/store calls — geocode an address first (e.g. via\n  `/yelp/geocode` or the `geocoding_*` endpoints in `web-utilities-research`)\n  if you only have a street address.\n- **Instacart is store-scoped** — you need a `shop_id`+`store_slug` (from\n  `/instacart/stores`) before `search`/`item`/`departments` will work.\n\nFile v1.0.19:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.19\",\n  \"publishedAt\": 1789955317569\n}\n\nFile v1.0.19:skill-card.md\n\n## Description:\n\nResearches restaurants and grocery/food delivery via the Crawlora API, including Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search and menus, and Instacart grocery search, returning clean JSON for restaurant, menu, delivery, and grocery research.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to research restaurant reviews, reservations, menus, nearby delivery options, and grocery product or store information through Crawlora endpoints. It is suited to location-aware restaurant and grocery lookup tasks that need structured JSON rather than page scraping.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Restaurant, delivery, grocery, address, postal-code, and coordinate queries are sent to Crawlora and its upstream data sources.\n\nMitigation: Use a dedicated Crawlora API key, avoid unnecessarily precise home or work locations, and submit only the location detail needed for the task.\n\nRisk: The supported provider list is broader than the short description and includes many restaurant, delivery, chain menu, and grocery endpoints.\n\nMitigation: Review reference/endpoints.md before use and restrict requests to the specific provider endpoints needed.\n\nRisk: Public restaurant, menu, price, availability, and delivery data can be incomplete, location-scoped, or time-sensitive.\n\nMitigation: Treat returned data as research context and verify critical booking, ordering, pricing, or availability details before acting on them.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n- [Crawlora publisher profile](https://clawhub.ai/user/crawlora-org)\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell command examples and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and sends requests to the Crawlora API.]\n\n## Skill Version(s):\n\n1.0.19 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.18: 5 files, 76426 bytes\n\nFiles: reference/endpoints.md (257758b), scripts/crawlora.sh (25755b), skill-card.md (2436b), SKILL.md (4891b), _meta.json (153b)\n\nFile v1.0.18:SKILL.md\n\n---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for the full supported restaurant, chain-menu, delivery, and grocery catalog.\n\n## Examples\n\n- **Cross-app delivery compare:** `/doordash/search` and `/ubereats/search`\n  for the same coordinate + cuisine, compare which restaurants/prices show up.\n- **Restaurant due diligence:** `/yelp/business/{id}` (rating, review\n  highlights) + `/opentable/restaurant/reviews` before booking.\n- **Grocery run:** `/instacart/stores` to find the nearest store, then\n  `/instacart/departments` to browse its categories.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/menu/review pages; no ordering or\n  payment actions are performed.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Location is required, not optional**, for DoorDash, Uber Eats, and\n  OpenTable search/store calls — geocode an address first (e.g. via\n  `/yelp/geocode` or the `geocoding_*` endpoints in `web-utilities-research`)\n  if you only have a street address.\n- **Instacart is store-scoped** — you need a `shop_id`+`store_slug` (from\n  `/instacart/stores`) before `search`/`item`/`departments` will work.\n\nFile v1.0.18:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.18\",\n  \"publishedAt\": 1789640452141\n}\n\nFile v1.0.18:skill-card.md\n\n## Description:\n\nResearches restaurants and grocery or food delivery through the Crawlora API, including Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search and menus, and Instacart grocery search, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to research public restaurant reviews, reservation context, delivery menus, nearby food options, and grocery products through Crawlora endpoints.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Restaurant or grocery searches, addresses, coordinates, postal codes, and the Crawlora API key are sent to Crawlora.\n\nMitigation: Use the skill only when that data sharing is acceptable, prefer coarse location when exact address is unnecessary, and keep the API key in CRAWLORA_API_KEY rather than hardcoding or committing it.\n\nRisk: Crawlora credit usage may accrue for successful API requests.\n\nMitigation: Monitor Crawlora credit consumption and keep requests focused on the documented restaurant, delivery, and grocery endpoints.\n\nRisk: Location-scoped or store-scoped endpoint results can be incomplete or depend on upstream platform availability.\n\nMitigation: Provide the required location or store identifiers and verify important prices, availability, reservations, or store details before relying on them for decisions.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [ClawHub skill page](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, json, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY; many restaurant, delivery, and grocery endpoints require location, postal code, or store identifiers.]\n\n## Skill Version(s):\n\n1.0.18 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.17: 5 files, 75165 bytes\n\nFiles: reference/endpoints.md (257758b), scripts/crawlora.sh (16553b), skill-card.md (2591b), SKILL.md (4891b), _meta.json (153b)\n\nFile v1.0.17:SKILL.md\n\n---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for the full supported restaurant, chain-menu, delivery, and grocery catalog.\n\n## Examples\n\n- **Cross-app delivery compare:** `/doordash/search` and `/ubereats/search`\n  for the same coordinate + cuisine, compare which restaurants/prices show up.\n- **Restaurant due diligence:** `/yelp/business/{id}` (rating, review\n  highlights) + `/opentable/restaurant/reviews` before booking.\n- **Grocery run:** `/instacart/stores` to find the nearest store, then\n  `/instacart/departments` to browse its categories.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/menu/review pages; no ordering or\n  payment actions are performed.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Location is required, not optional**, for DoorDash, Uber Eats, and\n  OpenTable search/store calls — geocode an address first (e.g. via\n  `/yelp/geocode` or the `geocoding_*` endpoints in `web-utilities-research`)\n  if you only have a street address.\n- **Instacart is store-scoped** — you need a `shop_id`+`store_slug` (from\n  `/instacart/stores`) before `search`/`item`/`departments` will work.\n\nFile v1.0.17:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.17\",\n  \"publishedAt\": 1789351507943\n}\n\nFile v1.0.17:skill-card.md\n\n## Description:\n\nResearches restaurants and grocery or food delivery through the Crawlora API, including Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search and menus, and Instacart grocery search, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and agents use this skill to research restaurants, delivery options, menus, reviews, reservation context, and grocery store products from supported food platforms. It is suited for read-only comparison, due diligence, and planning workflows that need normalized JSON rather than direct ordering or payment actions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Restaurant, delivery, grocery, and nearby-location queries are sent through Crawlora using the user's Crawlora API key.\n\nMitigation: Use city, ZIP, or coarse coordinates when exact address precision is not needed, and keep the API key in CRAWLORA_API_KEY rather than prompts, command arguments, or committed files.\n\nRisk: The full endpoint catalog is broader than the short skill description.\n\nMitigation: Review the endpoint reference before deployment and restrict usage to routes that match the intended restaurant, delivery, grocery, or chain-menu workflow.\n\nRisk: Several supported platforms require location-scoped parameters such as latitude and longitude or postal code.\n\nMitigation: Collect only the minimum location precision needed for the task and geocode addresses only when coarse location inputs are insufficient.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [Crawlora API base](https://api.crawlora.net/api/v1)\n- [ClawHub skill page](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell command examples and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a CRAWLORA_API_KEY environment variable for live Crawlora API calls.]\n\n## Skill Version(s):\n\n1.0.17 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.16: 5 files, 74692 bytes\n\nFiles: reference/endpoints.md (257758b), scripts/crawlora.sh (10966b), skill-card.md (2333b), SKILL.md (4891b), _meta.json (153b)\n\nFile v1.0.16:SKILL.md\n\n---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for the full supported restaurant, chain-menu, delivery, and grocery catalog.\n\n## Examples\n\n- **Cross-app delivery compare:** `/doordash/search` and `/ubereats/search`\n  for the same coordinate + cuisine, compare which restaurants/prices show up.\n- **Restaurant due diligence:** `/yelp/business/{id}` (rating, review\n  highlights) + `/opentable/restaurant/reviews` before booking.\n- **Grocery run:** `/instacart/stores` to find the nearest store, then\n  `/instacart/departments` to browse its categories.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/menu/review pages; no ordering or\n  payment actions are performed.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Location is required, not optional**, for DoorDash, Uber Eats, and\n  OpenTable search/store calls — geocode an address first (e.g. via\n  `/yelp/geocode` or the `geocoding_*` endpoints in `web-utilities-research`)\n  if you only have a street address.\n- **Instacart is store-scoped** — you need a `shop_id`+`store_slug` (from\n  `/instacart/stores`) before `search`/`item`/`departments` will work.\n\nFile v1.0.16:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.16\",\n  \"publishedAt\": 1789043734975\n}\n\nFile v1.0.16:skill-card.md\n\n## Description:\n\nResearches restaurants and grocery or food delivery via the Crawlora API, including Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search and menus, and Instacart grocery search, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to research restaurant reviews, reservation availability, delivery options, menus, prices, and grocery items across supported Crawlora food and delivery providers.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Restaurant, grocery, delivery, and location queries are sent to Crawlora, and some workflows may include precise addresses or coordinates.\n\nMitigation: Share the least precise location that still answers the request and avoid precise home addresses unless required for the specific search.\n\nRisk: The usable endpoint catalog is broader than the short description and includes many food, grocery, chain-menu, and delivery providers.\n\nMitigation: Review reference/endpoints.md and limit calls to provider routes that are relevant to the user's request.\n\nRisk: The helper requires a Crawlora API key.\n\nMitigation: Provide the key only through CRAWLORA_API_KEY and do not hardcode, commit, or pass it in query parameters.\n\n## Reference(s):\n\n- [Endpoint Reference](reference/endpoints.md)\n- [Crawlora Website](https://crawlora.net)\n- [ClawHub Skill Page](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with shell command examples; helper responses are JSON]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses CRAWLORA_API_KEY and returns public restaurant, menu, review, delivery, and grocery data through Crawlora API calls.]\n\n## Skill Version(s):\n\n1.0.16 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.15: 5 files, 74612 bytes\n\nFiles: reference/endpoints.md (257758b), scripts/crawlora.sh (10709b), skill-card.md (2378b), SKILL.md (4891b), _meta.json (153b)\n\nFile v1.0.15:SKILL.md\n\n---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for the full supported restaurant, chain-menu, delivery, and grocery catalog.\n\n## Examples\n\n- **Cross-app delivery compare:** `/doordash/search` and `/ubereats/search`\n  for the same coordinate + cuisine, compare which restaurants/prices show up.\n- **Restaurant due diligence:** `/yelp/business/{id}` (rating, review\n  highlights) + `/opentable/restaurant/reviews` before booking.\n- **Grocery run:** `/instacart/stores` to find the nearest store, then\n  `/instacart/departments` to browse its categories.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/menu/review pages; no ordering or\n  payment actions are performed.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Location is required, not optional**, for DoorDash, Uber Eats, and\n  OpenTable search/store calls — geocode an address first (e.g. via\n  `/yelp/geocode` or the `geocoding_*` endpoints in `web-utilities-research`)\n  if you only have a street address.\n- **Instacart is store-scoped** — you need a `shop_id`+`store_slug` (from\n  `/instacart/stores`) before `search`/`item`/`departments` will work.\n\nFile v1.0.15:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.15\",\n  \"publishedAt\": 1789042609906\n}\n\nFile v1.0.15:skill-card.md\n\n## Description:\n\nResearches restaurants and grocery/food delivery via the Crawlora API, including Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search and menus, and Instacart grocery search, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and agents use this skill to research restaurant reviews, reservation context, nearby delivery options, menus, prices, and grocery products through Crawlora API calls.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Food, grocery, restaurant, address, postal-code, or precise-coordinate queries are sent to the external Crawlora API.\n\nMitigation: Send only the location detail needed for the task, prefer coarse locations when acceptable, and avoid exact home or work addresses unless the request requires them.\n\nRisk: The helper can reach a broader endpoint catalog than the headline restaurant and delivery description implies.\n\nMitigation: Review the endpoint reference before use and restrict calls to routes that match the user's requested research task.\n\nRisk: API-key usage may incur account activity or credit consumption.\n\nMitigation: Keep CRAWLORA_API_KEY in the environment, monitor API-key usage, and avoid unnecessary repeated calls.\n\n## Reference(s):\n\n- [Endpoint Reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [ClawHub Skill Page](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, JSON, guidance]\n\n**Output Format:** [Markdown guidance with shell commands that call Crawlora endpoints and return JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and may use location, postal-code, restaurant, store, cuisine, dish, menu, or grocery search parameters.]\n\n## Skill Version(s):\n\n1.0.15 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.14: 5 files, 74444 bytes\n\nFiles: reference/endpoints.md (257758b), scripts/crawlora.sh (10384b), skill-card.md (2354b), SKILL.md (4958b), _meta.json (153b)\n\nFile v1.0.14:SKILL.md\n\n---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- All requests: `x-api-key: $CRAWLORA_API_KEY` against\n  `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'\n```\n\nRaw `curl` fallback:\n\n```sh\ncurl -fsS -H \"x-api-key: $CRAWLORA_API_KEY\" \\\n  \"https://api.crawlora.net/api/v1/ubereats/search?latitude=37.7749&longitude=-122.4194&query=sushi\" | jq '.'\n```\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for the full supported restaurant, chain-menu, delivery, and grocery catalog.\n\n## Examples\n\n- **Cross-app delivery compare:** `/doordash/search` and `/ubereats/search`\n  for the same coordinate + cuisine, compare which restaurants/prices show up.\n- **Restaurant due diligence:** `/yelp/business/{id}` (rating, review\n  highlights) + `/opentable/restaurant/reviews` before booking.\n- **Grocery run:** `/instacart/stores` to find the nearest store, then\n  `/instacart/departments` to browse its categories.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/menu/review pages; no ordering or\n  payment actions are performed.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Location is required, not optional**, for DoorDash, Uber Eats, and\n  OpenTable search/store calls — geocode an address first (e.g. via\n  `/yelp/geocode` or the `geocoding_*` endpoints in `web-utilities-research`)\n  if you only have a street address.\n- **Instacart is store-scoped** — you need a `shop_id`+`store_slug` (from\n  `/instacart/stores`) before `search`/`item`/`departments` will work.\n\nFile v1.0.14:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.14\",\n  \"publishedAt\": 1789042054519\n}\n\nFile v1.0.14:skill-card.md\n\n## Description:\n\nResearches restaurants and grocery or food delivery via the Crawlora API, including Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search and menus, and Instacart grocery search, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to research restaurant reviews, menus, reservations, delivery options, grocery stores, and grocery product searches through Crawlora endpoints.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Restaurant or grocery searches, postal codes, addresses, and precise coordinates may be sent to Crawlora.\n\nMitigation: Use coarse locations when they are sufficient and avoid sharing a home address unless the task requires it.\n\nRisk: The Crawlora API key could be exposed if it is hardcoded, passed in URLs, or committed.\n\nMitigation: Store the key only in the CRAWLORA_API_KEY environment variable and keep it out of code, query parameters, logs, and commits.\n\nRisk: The skill's operational scope is broader than the five providers named in the summary.\n\nMitigation: Review reference/endpoints.md as the authoritative scope before deployment or policy review.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [Crawlora API base](https://api.crawlora.net/api/v1)\n- [ClawHub skill page](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Shell commands, Configuration, Guidance]\n\n**Output Format:** [JSON responses with concise Markdown guidance and shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY. Many restaurant, delivery, reservation, and grocery endpoints require location inputs such as latitude and longitude or postal code.]\n\n## Skill Version(s):\n\n1.0.14 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.13: 5 files, 74391 bytes\n\nFiles: reference/endpoints.md (257758b), scripts/crawlora.sh (10084b), skill-card.md (2463b), SKILL.md (4958b), _meta.json (153b)\n\nFile v1.0.13:SKILL.md\n\n---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- All requests: `x-api-key: $CRAWLORA_API_KEY` against\n  `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'\n```\n\nRaw `curl` fallback:\n\n```sh\ncurl -fsS -H \"x-api-key: $CRAWLORA_API_KEY\" \\\n  \"https://api.crawlora.net/api/v1/ubereats/search?latitude=37.7749&longitude=-122.4194&query=sushi\" | jq '.'\n```\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for the full supported restaurant, chain-menu, delivery, and grocery catalog.\n\n## Examples\n\n- **Cross-app delivery compare:** `/doordash/search` and `/ubereats/search`\n  for the same coordinate + cuisine, compare which restaurants/prices show up.\n- **Restaurant due diligence:** `/yelp/business/{id}` (rating, review\n  highlights) + `/opentable/restaurant/reviews` before booking.\n- **Grocery run:** `/instacart/stores` to find the nearest store, then\n  `/instacart/departments` to browse its categories.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/menu/review pages; no ordering or\n  payment actions are performed.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Location is required, not optional**, for DoorDash, Uber Eats, and\n  OpenTable search/store calls — geocode an address first (e.g. via\n  `/yelp/geocode` or the `geocoding_*` endpoints in `web-utilities-research`)\n  if you only have a street address.\n- **Instacart is store-scoped** — you need a `shop_id`+`store_slug` (from\n  `/instacart/stores`) before `search`/`item`/`departments` will work.\n\nFile v1.0.13:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1789041298042\n}\n\nFile v1.0.13:skill-card.md\n\n## Description:\n\nResearches restaurants and grocery/food delivery via the Crawlora API, including Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search and menus, and Instacart grocery search, returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and agents use this skill to research restaurant reviews, reservation availability, delivery options, menus, prices, and grocery store/product information through Crawlora API calls.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Food, grocery, restaurant, address, coordinate, or postal-code queries are sent to Crawlora using the user's API key.\n\nMitigation: Use approximate locations when exact home or work addresses are unnecessary, and avoid sending sensitive location details.\n\nRisk: The Crawlora API key can be exposed if it is hardcoded, logged, committed, or pasted into shared transcripts.\n\nMitigation: Keep CRAWLORA_API_KEY in the environment only and exclude it from code, logs, commits, and shared conversations.\n\nRisk: Location-scoped searches can return incomplete or misleading results when required coordinates, postal codes, or store identifiers are missing or too broad.\n\nMitigation: Collect the minimum location precision needed for the task and resolve required store identifiers before comparing or summarizing results.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora API base](https://api.crawlora.net/api/v1)\n- [Crawlora](https://crawlora.net)\n- [ClawHub skill page](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n\n## Skill Output:\n\n**Output Type(s):** [JSON, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with shell command examples and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and location inputs such as latitude/longitude or postal code for many endpoints.]\n\n## Skill Version(s):\n\n1.0.13 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.12: 5 files, 74160 bytes\n\nFiles: reference/endpoints.md (257758b), scripts/crawlora.sh (10036b), skill-card.md (2066b), SKILL.md (4958b), _meta.json (153b)\n\nFile v1.0.12:SKILL.md\n\n---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- All requests: `x-api-key: $CRAWLORA_API_KEY` against\n  `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'\n```\n\nRaw `curl` fallback:\n\n```sh\ncurl -fsS -H \"x-api-key: $CRAWLORA_API_KEY\" \\\n  \"https://api.crawlora.net/api/v1/ubereats/search?latitude=37.7749&longitude=-122.4194&query=sushi\" | jq '.'\n```\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for the full supported restaurant, chain-menu, delivery, and grocery catalog.\n\n## Examples\n\n- **Cross-app delivery compare:** `/doordash/search` and `/ubereats/search`\n  for the same coordinate + cuisine, compare which restaurants/prices show up.\n- **Restaurant due diligence:** `/yelp/business/{id}` (rating, review\n  highlights) + `/opentable/restaurant/reviews` before booking.\n- **Grocery run:** `/instacart/stores` to find the nearest store, then\n  `/instacart/departments` to browse its categories.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/menu/review pages; no ordering or\n  payment actions are performed.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Location is required, not optional**, for DoorDash, Uber Eats, and\n  OpenTable search/store calls — geocode an address first (e.g. via\n  `/yelp/geocode` or the `geocoding_*` endpoints in `web-utilities-research`)\n  if you only have a street address.\n- **Instacart is store-scoped** — you need a `shop_id`+`store_slug` (from\n  `/instacart/stores`) before `search`/`item`/`departments` will work.\n\nFile v1.0.12:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.12\",\n  \"publishedAt\": 1789040592241\n}\n\nFile v1.0.12:skill-card.md\n\n## Description:\n\nResearches restaurants and grocery or food delivery through the Crawlora API for Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search and menus, and Instacart grocery search, returning normalized JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and agents use this skill to research restaurants, menus, reviews, delivery availability, reservation context, and grocery items near a supplied location through Crawlora endpoints.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Restaurant, grocery, address, postal code, and coordinate queries are sent to Crawlora with the user's Crawlora API key.\n\nMitigation: Use coarse location inputs when they are sufficient and avoid sending sensitive location or personal context.\n\nRisk: Raw curl or POST calls can send parameters outside the user's intended request if they are not reviewed.\n\nMitigation: Review generated API calls before execution, especially POST bodies and location-scoped requests.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [Skill page](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY and sends requested search, location, and grocery or restaurant query data to Crawlora.]\n\n## Skill Version(s):\n\n1.0.12 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: restaurant-food-delivery-research Owner: crawlora-org Summary: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search. Tags: latest:1.0.21","codeSnippets":[],"executableExamples":[{"language":"sh","snippet":"# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'"},{"language":"sh","snippet":"# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'"},{"language":"sh","snippet":"# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'"},{"language":"sh","snippet":"# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'"},{"language":"sh","snippet":"# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'"},{"language":"sh","snippet":"# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq '.'\n\n# DoorDash (lat/lon required):\nscripts/crawlora.sh /doordash/search query=\"pizza\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# OpenTable:\nscripts/crawlora.sh /opentable/search term=\"Italian\" latitude=37.7749 longitude=-122.4194 | jq '.'\n\n# Instacart (resolve store first):\nscripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: restaurant-food-delivery-research\ndescription: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search.\n---\n\n# Restaurant & food-delivery research\n\nLook up restaurant reviews, reservations, and delivery menus, plus grocery\nsearch across restaurant, delivery, and grocery platforms as normalized JSON from the Crawlora API — no\nscraping delivery-app pages.\n\n## When to use this skill\n\n- \"What are the reviews / menu for this restaurant?\" (Yelp, OpenTable)\n- \"Can I book a table at <restaurant>?\" (OpenTable availability)\n- \"What's available for delivery near me?\" (DoorDash, Uber Eats)\n- \"What's on this restaurant's delivery menu / what does this dish cost?\"\n- \"Search groceries at this Instacart store.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\nMost of these platforms are **location-scoped** — every search/store call\nneeds a `latitude`/`longitude` (or `postal_code`), not just a keyword.\n\n1. **Yelp** — `/yelp/search` (`term`+`location`) or geocode an address first\n   with `/yelp/geocode`; `/yelp/business/{id}` for detail, `/reviews` (+\n   `/reviews/search`, `/reviews/highlights`), `/menu`, `/photos`.\n2. **OpenTable** — `/opentable/search` (`term`+`latitude`+`longitude`) to\n   find a restaurant, then `/opentable/restaurant` (`restaurant_id`,\n   optional `date_time`+`party_size` for availability context), `/menus`, `/reviews`.\n3. **DoorDash** — `/doordash/search` (`query`+`latitude`+`longitude`,\n   required) or `/doordash/feed`/`/doordash/explore` to browse nearby\n   restaurants; `/doordash/store/{store_id}` (+ `/menu`, `/info`, `/reviews`)\n   for one restaurant — **every store call also needs `latitude`+`longitude`**.\n4. **Uber Eats** — `/ubereats/search` (`latitude`+`longitude`, `query`\n   optional) or `/ubereats/feed`; `/ubereats/store/{store_id}` (+ `/menu`,\n   `/reviews`).\n5. **Instacart** — resolve a store first via `/instacart/stores`\n   (`postal_code`) to get its `shop_id`/`store_slug`, then\n   `/instacart/search` (`shop_id`+`store_slug`+`q`) for product-term\n   suggestions, `/instacart/departments` for its category taxonomy,\n   `/instacart/trending` (`postal_code`) for popular items.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Yelp:\nscripts/crawlora.sh /yelp/search term=\"ramen\" location=\"San Francisco, CA\" | jq "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"restaurant-food-delivery-research\",\n  \"version\": \"1.0.21\",\n  \"publishedAt\": 1791163356206\n}"},{"path":"skill-card.md","content":"## Description:\n\nResearches restaurant reviews, reservations, delivery menus, and grocery products through the Crawlora API and returns structured results.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and researchers can compare nearby restaurants, reviews, menus, delivery options, and grocery availability across supported services. A Crawlora API key and location or store details are required for relevant searches.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Restaurant and grocery searches can expose precise addresses, coordinates, or postal codes to Crawlora and upstream data sources.\n\nMitigation: Use approximate locations where practical and avoid submitting sensitive address details.\n\nRisk: The Crawlora API key may be disclosed if embedded in prompts, commands, or logs.\n\nMitigation: Keep CRAWLORA_API_KEY in the environment, scope it appropriately, and exclude it from logs and shared outputs.\n\nRisk: The endpoint reference covers more services than the short skill description suggests.\n\nMitigation: Review the endpoint reference and allow only the services needed for the task.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/crawlora-org/skills/restaurant-food-delivery-research)\n- [Supported endpoints and parameters](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Guidance]\n\n**Output Format:** [Structured JSON results with concise natural-language summaries]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Public restaurant, menu, review, reservation-availability, and grocery data; no ordering or payments.]\n\n## Skill Version(s):\n\n1.0.21 (source: server-resolved release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search. Skill: restaurant-food-delivery-research Owner: crawlora-org Summary: Researches restaurants and grocery/food delivery via the Crawlora API — Yelp reviews, OpenTable reservations, DoorDash and Uber Eats restaurant search/menus, and Instacart grocery search — returning clean JSON. Use when the user wants restaurant reviews or menus, delivery options near a location, or grocery product/store search. Tags: latest:1.0.21","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1156,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T04:06:18.226Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T04:06:18.226Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T07:43:51.641Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}