yelp-search について
Yelp Search Integration は、Yelp で地域の店舗を検索し、詳細を取得するスクリプト群です。近隣のサービスを比較する用途に向き、電話番号検索やレビュー本文の抽出も選択できます。
主な機能
- 01場所とカテゴリによる店舗検索
- 02評価、距離、価格での並べ替えと絞り込み
- 03店舗情報と営業時間の取得
- 04電話番号から店舗を検索
- 05ブラウザー経由でのレビュー本文抽出
活用シーン
- 01価格帯を指定した近隣レストラン探し
- 02評価と距離によるサービス事業者の比較
- 03訪問前の営業時間確認
- 04電話番号を使った店舗の特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ letta-ai/ skills --skill yelp-searchインストール後、Claude Code で/yelp-searchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEscripts/details.pyget_reviews.pyphone_search.pyscrape_reviews.pysearch.py詳細
Yelp 検索連携
Yelp で地域のビジネスを検索し、サービスを探したり、連絡先情報を確認したり、評価をチェックしたり、営業時間を取得したりできます。
セットアップ
1. Yelp API キー(必須)
- https://www.yelp.com/developers にアクセスします
- アカウントを作成するか、サインインします
- 「Create App」をクリックして、フォームに入力します
- API キーをコピーします
.env ファイルに追加します:
YELP_API_KEY=your_api_key_here
2. レビュー用の Browser-Use(任意)
レビューのテキストを抽出する場合にのみ必要です(処理に時間がかかり、リクエストあたり約 30~60 秒かかります)。
依存関係をインストールします:
uv add browser-use playwright langchain-openai
uv run playwright install chromium
.env に追加します:
OPENAI_API_KEY=your_openai_key_here
注:レビューの抽出では、(Yelp が直接のスクレイピングをブロックするため)DuckDuckGo を検索するのに browser-use を使用します。ほとんどの用途では、API から取得できる評価と review_count で十分です。
スクリプト
すべてのスクリプトは tools/yelp-search/scripts/ にあり、uv run python で実行してください。
search.py - ビジネスを検索する(主要ツール)
uv run python tools/yelp-search/scripts/search.py "search term" --location "City, State"
オプション:
| フラグ | 説明 | 例 |
|---|---|---|
--location、-l | 市区町村、住所、または郵便番号 | "San Francisco" または "94123" |
--latitude/--longitude | GPS 座標 | --latitude 37.78 --longitude -122.41 |
--limit、-n | 結果の件数(デフォルト:5) | -n 10 |
--sort-by | 並べ替え順 | rating、distance、review_count、best_match |
--price | 価格フィルター(1~4) | $ と $$ のみの場合は --price 1,2 |
--json | JSON をそのまま出力 |
例:
# Find top-rated dog groomers
uv run python tools/yelp-search/scripts/search.py "dog groomer" -l "San Francisco" --sort-by rating
# Find cheap restaurants nearby
uv run python tools/yelp-search/scripts/search.py "restaurants" -l "94123" --price 1,2 --sort-by distance
# Search near a specific address
uv run python tools/yelp-search/scripts/search.py "laundry pickup" -l "123 Main St, San Francisco"
details.py - ビジネスの営業時間と情報を取得する
uv run python tools/yelp-search/scripts/details.py "business-alias"
ビジネスのエイリアスは Yelp の URL にあります(例:the-laundry-corner-san-francisco)。
phone_search.py - 電話番号から逆引き検索する
uv run python tools/yelp-search/scripts/phone_search.py "+14155551234"
get_reviews.py - レビューのテキストを抽出する(時間がかかります)
uv run python tools/yelp-search/scripts/get_reviews.py "Business Name" -l "City" -n 3
注: browser-use を使用するため、処理に時間がかかります(約 30~60 秒)。Yelp は直接のスクレイピングをブロックするため、回避策として DuckDuckGo でキャッシュされたレビューを検索します。
scrape_reviews.py - Yelp を直接スクレイピングする(代替手段)
uv run python tools/yelp-search/scripts/scrape_reviews.py "https://www.yelp.com/biz/business-alias" -n 5
Browserbase の認証情報が必要です:
BROWSERBASE_API_KEY=your_key_here
BROWSERBASE_PROJECT_ID=your_project_id
注: Browserbase とプロキシを使用して、Yelp の CAPTCHA を回避します。get_reviews.py より信頼性が高い一方、Browserbase アカウントが必要です。
ベストプラクティス
レビューのテキストを使わずに品質を評価する
通常、API が提供する評価と review_count で十分です:
| 評価 | レビュー件数 | 解釈 |
|---|---|---|
| 4.5+ | 50+ | 優秀で、信頼できるデータ |
| 4.5+ | <20 | 有望ですが、データは限定的 |
| 4.0-4.4 | 100+ | 良好で、実績が豊富 |
| <4.0 | 任意 | 注意して利用してください |
特定の要件に合ったサービスを探す
(週末の営業時間、集荷/配達など)特定の要件に合ったサービスを探す場合:
--sort-by ratingを指定して検索し、最適な候補を見つけます- 上位候補の詳細を取得し、営業時間を確認します
- 必要な時間に営業しているビジネスに絞り込みます
- Yelp には情報がない場合もあるため、集荷や配達などの具体的なサービスについては、直接連絡して確認します
検索のヒント
"laundry"だけでなく、"laundry pickup"のように具体的な語句を使います- 正確な距離を調べるには、住所の近くを検索します:
-l "123 Main St, City" - まず
ratingで並べ替え、その後、結果のdistanceを確認します review_countを確認します。レビュー数が少ないのに評価が高い場合、信頼性が低い可能性があります
応答データ
各ビジネスの結果には、次の情報が含まれます:
- name - ビジネス名
- phone - 電話番号(テキスト送信や電話に使用)
- rating - Yelp の評価(星 1~5 個)
- review_count - レビュー件数
- price - 価格帯($~$$$$)
- location - 住所全体
- hours - 曜日ごとの営業時間(詳細情報に含まれます)
- distance - 検索場所からの距離
- categories - ビジネスのカテゴリ
- is_open_now - 現在の営業/休業状況
制限事項
| 機能 | ステータス | 備考 |
|---|---|---|
| ビジネス検索 | ✅ 動作します | 高速で信頼性があります |
| ビジネス詳細 | ✅ 動作します | 営業時間を含みます |
| 電話番号検索 | ✅ 動作します | 逆引き検索 |
| レビュー本文(API) | ❌ 有料のみ | エンタープライズプランが必要です |
| レビュー本文(スクレイピング) | ⚠️ 遅い | DuckDuckGo 経由の browser-use による回避策 |
- 無料 API プラン:1 日あたり 500 回の呼び出し
- 1 リクエストあたりの結果は最大 50 件です
- 一部のビジネス情報(店頭受け取り/配達)は API に含まれていません。店舗に直接お問い合わせください