レストラン向けに販売している場合(デリバリーテック、マーケティングサービス、POSシステム、ロイヤリティアプリなど)——すでにイライラする最初のステップを知っているはずです:レストランを見つける。どんなレストランでもいいわけではなく、特定の料理、特定の都市、UberEatsに出店している店舗など、ICPに合致する店舗が必要です。
通常のワークフローは次のようになります:UberEatsを開き、都市内で「ピザ」を検索し、スクロールして名前とURLをスプレッドシートにコピーし、都市を切り替えて繰り返す。20都市のエリアだと、1件のメールを送る前に午後が終わってしまいます。
手作業に疲れたので、ApifyのUberEats Stores Search by Location and Keywordアクターを使って自動化し、約10分で本物のリードリストパイプラインに仕上げました。
アイデア
このアクターは2つのシンプルな入力(デリバリー先住所のリストと検索キーワード)を受け取り、一致する店舗の構造化データ(名前、UberEats URL、評価、評価数、推定配達時間、都市、画像)を返します。ブラウザ不要、手動スクロール不要、パースするHTMLも不要です。
リード獲得にとってこれは、ターゲット都市を選び、キーワード(料理名、または競合ブランド名で「まだその技術を導入していない」レストランを探す)を選んで、CRMに直接フィルタリング・エクスポートできるクリーンなデータセットを得られることを意味します。
ウォークスルー:Python + Apifyクライアント
クライアントをインストール:
pip install apify-client
ターゲット都市のバッチに対してアクターを呼び出す:
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"locations": [
"85 Marsh St, Newark, NJ 07114, USA",
"95th Ave, Ozone Park, NY 11416, USA",
"1600 Pennsylvania Ave NW, Washington, DC 20500, USA",
],
"search_keyword": "pizza",
"max_search_results": 50,
}
run = client.actor("datacach/ubereats-stores-search-by-location-and-keyword").call(run_input=run_input)
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
各アイテムは次のようになります:
{
"store_uuid": "35e7a890-3f2a-5948-815e-7a2a3cb77d1f",
"name": "Pizza Near Me",
"url": "https://www.ubereats.com/store/pizza-near-me/NeeokD8qWUiBXnoqPLd9Hw",
"estimated_time_to_delivery": "20 min",
"rating": 4.53,
"rating_count": "14",
"city": "Newark",
"country_code": "US",
"input": { "search_location": "85 Marsh St, Newark, NJ 07114, USA" }
}
リードリストへの変換
DataFrameに読み込んで、営業チームが実際に使える形に整形します:
import pandas as pd
df = pd.DataFrame(items)
df["rating_count"] = pd.to_numeric(df["rating_count"], errors="coerce")
# 過小評価だが人気:高評価、低レビュー数。
# 有機的にうまくいっているが、マーケティング/技術投資がほとんどないレストラン——最適なアプローチ対象。
leads = df[(df["rating"] >= 4.3) & (df["rating_count"] < 50)]
leads = leads[["name", "city", "url", "rating", "rating_count", "estimated_time_to_delivery"]]
leads.to_csv("restaurant_leads.csv", index=False)
このフィルターは出発点に過ぎません。ピッチに合ったシグナルに置き換えてください。実際に効果的なものをいくつか:
-
配達時間の遅さ(
estimated_time_to_delivery> 40 min)→ 物流/運用ツールの提案 - 大都市での低評価数 → マーケティング/認知度向上サービスの提案
- 競合ブランド名で検索(料理名ではなく)→ 特定のPOSやデリバリー専用コンセプトを導入している店舗をすべて特定し、すでにコンバージョン済みと未導入の店舗を正確に把握
いずれにせよ、名前・URL・位置情報付きの見込み客CSVが得られ、使っているアウトリーチツールにインポートする準備が整います。
自分でスクレイピングするより優れている理由
UberEatsに対して独自のスクレイパーを書くこともできますが、レストラン名のリストを得るためだけに、アンチボット処理、ページネーション、マークアップ変更のメンテナンスを永遠に続けることになります。このアクターはすでにその部分を処理済み——都市とキーワードを入力するだけでJSONが返ってきます。また、 trivially repeatableです:地域ごとに毎月再実行すれば、一度きりの陳腐化するリストではなく、自己更新型のリードパイプラインが手に入ります。
ワークフローを自分の都市で試してから全地域に拡大したい場合、無料プラン(1ロケーション、1回あたり10件の結果)があります。
試してみる
- UberEats Stores Search by Location and Keyword — 上記で使用したアクター
- UberEats Listing Brands By Country — ブランドレベルのターゲットリスト作成用
- UberEats Stores Discovery By Brand URL — 単一ブランドを全店舗に展開する場合
この方法でリードパイプラインを構築した場合、どのようなフィルター/シグナルを使ったか、ぜひコメントで教えてください。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.