restaurant-food-delivery-research について
restaurant-food-delivery-researchは、レストランのレビュー、予約、メニュー、デリバリー情報、食料品を調べるスキルです。Crawloraを通じて各サービスのデータを正規化されたJSONで取得します。多くの検索には位置情報または店舗情報が必要です。
主な機能
- 01レストラン検索とレビュー取得
- 02予約可能状況の確認
- 03デリバリーメニューと店舗情報
- 04店舗単位の食料品検索
- 05位置情報に基づく各サービスの検索
活用シーン
- 01近隣のデリバリーと価格を比較
- 02予約前にレストランの評価を確認
- 03店舗を探して食料品を閲覧
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ crawlora-org/ crawlora-skills --skill restaurant-food-delivery-researchインストール後、Claude Code で/restaurant-food-delivery-researchを入力して読み込まれたか確認します。
同梱ファイルreference/endpoints.mdscripts/crawlora.sh
詳細
レストラン・フードデリバリーの調査
Crawlora API から正規化された JSON 形式で、レストランの口コミ、予約、デリバリーメニューのほか、レストラン、デリバリー、食料品の各プラットフォームをまたいで食料品を検索できます。デリバリーアプリのページをスクレイピングする必要はありません。
このスキルを使う場面
- 「このレストランの口コミ/メニューは?」(Yelp、OpenTable)
- 「のテーブルを予約できますか?」(OpenTable の空席状況)
- 「近くでデリバリーを頼めるものは?」(DoorDash、Uber Eats)
- 「このレストランのデリバリーメニューには何がある?/この料理はいくら?」
- 「この Instacart の店舗で食料品を検索して。」
セットアップ(一度だけ)
- 無料の Crawlora API キー(カード不要、月 2,000 クレジット)を https://crawlora.net で取得します。
- ヘルパーを実行する前に、環境変数に
CRAWLORA_API_KEYを設定します。 - ヘルパーは環境変数から
CRAWLORA_API_KEYを読み取り、https://api.crawlora.net/api/v1にリクエストを送信します。キーがない、または無効な場合は401が返されます。
仕組み
これらのプラットフォームのほとんどは位置情報に基づいています。キーワードだけでなく、すべての検索/店舗呼び出しで latitude/longitude(または postal_code)が必要です。
- Yelp —
/yelp/search(term+location)、または最初に/yelp/geocodeで住所をジオコードします。詳細には/yelp/business/{id}、口コミには/reviews(および/reviews/search、/reviews/highlights)、メニューには/menu、写真には/photosを使います。 - OpenTable —
/opentable/search(term+latitude+longitude)でレストランを探し、次に/opentable/restaurant(restaurant_id。空席状況の確認には任意でdate_time+party_sizeを指定)、/menus、/reviewsを使います。 - DoorDash —
/doordash/search(必須のquery+latitude+longitude)、または/doordash/feed//doordash/exploreで近くのレストランを閲覧します。1 軒のレストランの情報には/doordash/store/{store_id}(および/menu、/info、/reviews)を使います。すべての店舗呼び出しでもlatitude+longitudeが必要です。 - Uber Eats —
/ubereats/search(latitude+longitude、queryは任意)または/ubereats/feedを使います。店舗情報には/ubereats/store/{store_id}(および/menu、/reviews)を使います。 - Instacart — まず
/instacart/stores(postal_code)で店舗を特定し、そのshop_id/store_slugを取得します。次に/instacart/search(shop_id+store_slug+q)で商品名の候補を検索し、/instacart/departmentsでカテゴリー体系を確認します。人気商品は/instacart/trending(postal_code)で検索できます。
エンドポイント、メソッド、パラメーターの一覧は reference/endpoints.md を参照してください。
API の呼び出し
# Yelp:
scripts/crawlora.sh /yelp/search term="ramen" location="San Francisco, CA" | jq '.'
# DoorDash (lat/lon required):
scripts/crawlora.sh /doordash/search query="pizza" latitude=37.7749 longitude=-122.4194 | jq '.'
# OpenTable:
scripts/crawlora.sh /opentable/search term="Italian" latitude=37.7749 longitude=-122.4194 | jq '.'
# Instacart (resolve store first):
scripts/crawlora.sh /instacart/stores postal_code=94103 | jq '.'
すべてのリクエストには scripts/crawlora.sh を使います。API キーをコマンドライン引数に含めずに済みます。
エンドポイントのリファレンス
レストラン、チェーン店のメニュー、デリバリー、食料品カタログでサポートされている全項目については、reference/endpoints.md を参照してください。
例
- 複数アプリ間でのデリバリー比較: 同じ座標と料理ジャンルで
/doordash/searchと/ubereats/searchを実行し、表示されるレストランや価格を比較します。 - レストランの事前調査: 予約前に
/yelp/business/{id}(評価、口コミの要点)と/opentable/restaurant/reviewsを確認します。 - 食料品の買い物:
/instacart/storesで最寄りの店舗を探し、次に/instacart/departmentsでカテゴリーを閲覧します。
注意事項と制限
- クレジット/成功時課金:
2xxの場合にのみ課金されます。無料枠は月2,000クレジットです。 https://crawlora.net でキーを取得してください。 - 公開データのみ — 公開されている店舗情報、メニュー、レビューのページが対象です。注文や支払いの操作は行われません。
- セキュリティ: キーは
CRAWLORA_API_KEYにのみ保存してください。ハードコード、クエリパラメーターへの指定、コミットは絶対にしないでください。 - 位置情報は必須であり、省略できません。 DoorDash、Uber Eats、OpenTable の検索/店舗呼び出しでは位置情報が必要です。住所しかわからない場合は、先に住所をジオコーディングしてください(例:
/yelp/geocodeまたはweb-utilities-researchのgeocoding_*エンドポイントを使用)。 - Instacart は店舗ごとに利用します —
search/item/departmentsを使用する前に、/instacart/storesからshop_idとstore_slugを取得する必要があります。
コメント
Markdown 対応