Chope Scraper - Singapore & Asia Restaurant Leads
Pricing
from $4.00 / 1,000 restaurant scrapeds
Chope Scraper - Singapore & Asia Restaurant Leads
Scrape Chope restaurants across Singapore and Asia: name, phone, full address, area, cuisine, price band, ratings, geo, menus, photos and reviews. Turn dining venues into B2B leads. Export to JSON, CSV or Excel.
Pricing
from $4.00 / 1,000 restaurant scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Chope Scraper — Singapore & Asia Restaurant Leads, Ratings & Reservations
Extract complete restaurant data from Chope — Asia's largest restaurant-reservation platform — by market, by cuisine, or by URL. Get every venue's name, phone, full street address, area/neighbourhood, cuisine, price band, rating, review count, geo-coordinates, menus, photos and optional diner reviews. Every dining venue is a ready-to-use B2B lead: a contactable restaurant with phone, address, location and a quality score.
No login, no cookies, no browser — this actor reads Chope's own public restaurant pages directly, so the output is first-party and reliable.
Why this Chope scraper?
Most restaurant scrapers return a name and a star rating and call it done. This actor pulls the full venue record from Chope's directory and profile pages and ships the richest dataset in the category — including the contact fields that turn a listing into a lead:
| Data | Typical scrapers | This actor |
|---|---|---|
| Restaurant name, cuisine, price band | ✅ | ✅ |
| Chope rating + number of reviews | partial | ✅ |
| Phone number | ❌ | ✅ |
| Full street address + postal code | partial | ✅ |
| Area / neighbourhood | ❌ | ✅ |
| Latitude / longitude | ❌ | ✅ |
| Menus (Chope-hosted menu files) | ❌ | ✅ when published |
| Photo gallery | partial | ✅ |
| Diner reviews (author, rating, date, full text) | ❌ | ✅ opt-in |
| Reservation link | ❌ | ✅ |
| Multi-market: Singapore, Malaysia, Indonesia, Thailand | ❌ | ✅ |
| Lead score (0–100) per venue | ❌ | ✅ |
| One clean dataset, no empty columns | ❌ | ✅ |
Use cases
- Lead generation — restaurants are active buyers of POS, reservation, marketing, delivery, payroll, supply and insurance products. Score them by quality and reach (
leadScore,phone,address) and export straight to your CRM. - Market & competitive research — map a city's dining scene by cuisine, price band, area and rating; benchmark venues and track new openings across Singapore and Southeast Asia.
- Sales territory planning — pull every Chope restaurant in a market with full addresses and geo-coordinates for route and territory planning.
- Directory & app enrichment — power restaurant guides, concierge tools and travel apps with standardized records, menus, photos and coordinates.
- Reputation & review intelligence — collect ratings, review counts and full diner review text to monitor sentiment for a venue or a whole market.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Chope Scraper, select one or more Markets (e.g.
singapore), optionally add Search terms (e.g.omakase), and click Start. - Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML or RSS — or pull results programmatically via the Apify API.
Input
{"countries": ["singapore"],"searchQueries": ["steakhouse", "omakase"],"maxResults": 100,"includeDetails": true,"includeReviews": false,"cuisines": ["japanese"],"priceTiers": ["3", "4"],"areaFilter": ["orchard"],"minRating": 4,"monitorMode": false}
- countries — Chope markets to scrape every restaurant in:
singapore,kuala-lumpur,bali,jakarta,bandung,surabaya,bangkok,phuket. Singapore has the deepest coverage. One per row. - searchQueries — keep only restaurants whose name or cuisine matches one of these (e.g.
italian,omakase,Marriott). Leave empty for every restaurant. - startUrls — direct Chope restaurant URLs (
https://www.chope.co/singapore-restaurants/restaurant/10-scotts). - maxResults (default 100) — cap on restaurant records for the whole run.
- includeDetails (default true) — open each restaurant's Chope profile for the full lead record (phone, full address, area, geo, price band, rating, menus, photos). One fast extra request per restaurant. Off = a quick, cheap directory pass (name, cuisine, market, profile URL).
- includeReviews (default false) — also extract visible diner reviews (author, star rating, date, full text). No extra request — parsed from the same profile page.
- cuisines / priceTiers / areaFilter / minRating — keep only venues matching these filters.
- monitorMode (default false) — emit only restaurants not seen in previous runs (see below).
Output
One record per restaurant (type: "restaurant"):
{"type": "restaurant","chopeRid": "10scotts2282sg","slug": "10-scotts","name": "10|SCOTTS","profileUrl": "https://www.chope.co/singapore-restaurants/restaurant/10-scotts","phone": "+6567321234","address": "10 Scotts Road Lobby Level Grand Hyatt Singapore Singapore (228211)","area": "Orchard","city": "Singapore","region": "Singapore","postalCode": "228211","country": "Singapore","countryCode": "SG","market": "Singapore","latitude": 1.3062616,"longitude": 103.8334004,"cuisines": ["Bar", "Mediterranean", "Coffee", "High Tea"],"primaryCuisine": "Bar","priceTier": 3,"priceRange": "$$$","rating": 4.1,"reviewCount": 11,"acceptsReservations": true,"reservationUrl": "https://www.chope.co/singapore-restaurants/restaurant/10-scotts","imageUrl": "https://static.chope.co/uploads/2025/09/Group-Shot-1-1-1757584197.jpg","photos": ["https://static.chope.co/uploads/..."],"menus": [{ "name": "À La Carte Menu", "url": "https://static.chope.co/uploads/...pdf" }],"leadScore": 70,"scrapedAt": "2026-06-26T12:00:00.000Z"}
With includeReviews on, each record also carries reviews (author, rating, date, text) and reviewsScraped.
Use the Restaurants, Leads and Locations dataset views to switch between column sets.
What to expect (field coverage)
With includeDetails on, across a market you can typically expect:
| Field | Coverage |
|---|---|
| name, market, cuisine, profile URL | ~100% |
| phone, full address, area, latitude/longitude, price band | ~95–100% |
| rating + review count | present for venues with ≥1 diner review (newly-listed venues have none) |
| menus, photos | present when the venue publishes them on Chope |
| reviews | present (opt-in) for venues that have diner reviews |
| restaurant's own website | not published by Chope (it keeps users on-platform) |
A blank field means Chope doesn't publish that value for that venue — not that scraping failed. Nothing is dropped, so you always get the richest record available.
Monitoring mode — only new restaurants
Turn on monitorMode to make the actor remember which restaurants it has already returned and emit only restaurants not seen in previous runs — perfect for tracking new restaurant openings in a market. It stores seen restaurant ids in a named key-value store (monitorStoreName, one per tracked market).
This complements Apify Schedules and does not conflict with them: Schedules decide when the actor runs (e.g. every morning), and monitoring mode decides what is new in each run. Use both together to get a daily feed of just-opened restaurants in your target markets.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it daily/weekly to monitor new restaurant openings or to refresh ratings and contacts.
- Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/chope-scraper').call({countries: ['singapore'],maxResults: 200,includeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} restaurants`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new restaurant leads straight into your CRM.
- Slack — get notified when a monitored market adds new restaurants.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "list every Chope restaurant in Singapore with phone and area" and let it run the scraper for you.
More scrapers from scrapesage
Build a complete restaurant & local-business lead-gen stack:
- Resy Scraper — premium US restaurants, ratings, contacts and reservation availability.
- Burpple Scraper — Singapore restaurant, cafe and hawker discovery with reviews.
- DoorDash Scraper — restaurants, full menus and prices by city.
- UberEats Scraper — restaurants, menus and delivery data.
- Foodpanda Scraper — restaurants and menus across Asia.
- Zomato Scraper — restaurants, ratings and reviews.
- Google Maps Scraper — local businesses with phone, website and reviews.
- Website Contact Scraper — emails, phones and socials from any website.
Tips
- Whole-market coverage: put the market in
countries(e.g.singapore) and leave the filters empty to pull every restaurant in that market. - Cuisine by market: combine
countrieswithcuisinesorsearchQueriesfor the most precise targeting. - Cost control: turn off
includeDetailsfor a fast, cheap directory pass (name, cuisine, market, URL); turn it on to add phone, address, area, geo, rating, menus and photos. - Best leads first: sort the dataset by
leadScoreto surface contactable, rated, well-located venues at the top. - Recurring monitoring: combine Schedules with
monitorModeto capture only newly listed restaurants.
FAQ
How do I scrape every restaurant in a market? Put the market in countries (e.g. singapore) and leave the filters empty. The actor reads Chope's full A-Z directory for that market.
Does it need a Chope account or API key? No. This actor reads Chope's own public restaurant pages — the same data the website shows — with no login, cookie or key.
Where do the phone and address come from? From the restaurant's own Chope profile page. Phone and full address are present on nearly every venue.
Can I get the restaurant's own website? Chope keeps users on-platform and does not publish a venue's external website on its profile, so that field is not available. Phone, address and area are.
Can I get individual diner reviews? Yes — turn on includeReviews to capture the visible reviews (author, star rating, date and full text). Chope also reports an aggregate rating and review count, which are always included with details.
Which countries are supported? Singapore (deepest coverage), Malaysia (Kuala Lumpur), Indonesia (Jakarta, Bali, Bandung, Surabaya) and Thailand (Bangkok, Phuket).
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
How do I monitor new restaurant openings? Turn on monitorMode and create a Schedule; each run returns only restaurants not seen before. Add a webhook to push them into your CRM.
Is scraping Chope legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (e.g. PDPA/GDPR for personal data) and Chope's terms.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.