Gurunavi Japan Restaurant Scraper
Pricing
from $3.40 / 1,000 results
Gurunavi Japan Restaurant Scraper
Scrape restaurant data from Gurunavi (ぐるなび), one of Japan's biggest restaurant guides: names, genres, budgets, access, course menus with prices, photos, and with details addresses, GPS coordinates, phone numbers, hours, seating and payment methods across all 47 prefectures. HTTP-only, no API key.
Pricing
from $3.40 / 1,000 results
Rating
0.0
(0)
Developer
Piquno
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape restaurant data from Gurunavi (ぐるなび), one of Japan's largest restaurant guides and reservation platforms, covering every prefecture. Get names, genres, lunch and dinner budgets, station access, advertised set courses with prices, photos and online-reservation availability straight from the search results, and, with detail pages enabled, full addresses, GPS coordinates, phone numbers, opening hours, closed days, seating, private rooms, smoking policy, accepted cards and e-money, and more.
HTTP-only. No browser, no API key, no login. Gurunavi ships its search results as structured JSON inside the page, so the scraper reads clean data instead of guessing at CSS classes.
What you can do with it
- Lead generation – build lists of restaurants by area and genre for B2B sales (POS, payments, delivery, staffing, supplies).
- Market research – compare budgets, course prices and genre mix across neighbourhoods or cities.
- Location intelligence – geocoded restaurant points (with
includeDetails) for mapping, site selection and competitor analysis. - Data enrichment – match Gurunavi records to your own database by name, phone or address.
- Travel and food apps – keep restaurant catalogues fresh.
How it works
- Pick a prefecture (all 47 supported), optionally a sub-area (e.g. 新宿, 梅田, 博多) and a genre (izakaya, sushi, ramen, yakiniku…).
- Choose a crawl mode. Gurunavi caps any single search at roughly 10,000 results, so the default splits the prefecture into its sub-areas and paginates each one;
subareas-genresgoes one level deeper for exhaustive coverage. - Or paste your own Start URLs – any
https://r.gnavi.co.jp/area/…/rs/search page, filters included. Each one is paginated for you. - Set Max restaurants and, if you want the rich fields, tick Scrape detail pages.
Results land in the run's dataset, one item per restaurant, with ready-made table views for Overview, Location & contact, Facilities and Courses.
Proxy
The default is Apify's datacenter proxy pool, which served Gurunavi listing and detail pages fine in testing and is the cheapest option. Gurunavi does redirect some IP ranges to its corporate site (www.gnavi.co.jp); if that happens the Actor logs a clear "Redirected to www.gnavi.co.jp" warning and falls back to browser-impersonated requests. If a run still comes back empty, switch the proxy to Residential with country Japan and re-run.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
prefecture | string | tokyo | Prefecture slug (e.g. tokyo, osaka, kyoto, fukuoka, hokkaido). |
area | string | – | Sub-area name (Japanese) or code such as areal2115. Partial matches allowed. |
genre | string | all | One of izakaya, japanese, sushi, roastmeat, western, buffet, curry, chinese, continental, hotpots, ethnic, noodle, beerandcuisine, cafe, entertainment, casual, others. |
crawlMode | string | subareas | subareas, prefecture, or subareas-genres. |
startUrls | array | – | Gurunavi search URLs. Overrides the fields above. |
maxResults | integer | 100 | Unique restaurants to collect. |
includeDetails | boolean | false | Fetch each restaurant page (one extra request per restaurant). |
requestDelaySecs | number | 1 | Pause after each request. |
maxConcurrency | integer | 3 | Parallel requests. |
proxyConfiguration | object | Apify datacenter | Switch to Residential (Japan) only if runs log the www.gnavi.co.jp redirect. |
Example:
{"prefecture": "tokyo","area": "新宿","genre": "izakaya","maxResults": 200,"includeDetails": true}
Output
Listing fields (always present): shopId, urlShopNo, url, name, nameSub, category, lunchBudget, dinnerBudget, access, subAccess, info, memberType, suspended, attractivePoints, photo, photos, courseCount, minCoursePrice, courses[] (name, price, discountPrice, menuCount), vacancyDaysAvailable, instantBookingDays, isPromoted, prefecture, areaCode, sourceListUrl.
Detail fields (with includeDetails): displayName, nameReading, phone, phoneReservation, reservationUrl, openingHours, description, priceRange, acceptsReservations, genres, paymentAccepted, images, postalCode, prefectureName, city, streetAddress, address, latitude, longitude, amenities, accessFull, parking, hours, closedDays, budgetText, creditCards, eMoney, cancellationPolicy, totalSeats, seatingNotes, partyMax, charter, privateRoom, smoking, children, foreignLanguage, wifiPower, restroom, otherFacilities, menuServices, takeout, dressCode, scenes, sellingPoints, businessType, nearestStation, areaName, genreText.
Example item:
{"shopId": "g123456","urlShopNo": "g123456","url": "https://r.gnavi.co.jp/g123456/","name": "個室居酒屋 なんとか 新宿店","category": "居酒屋","lunchBudget": 1000,"dinnerBudget": 4000,"access": "JR新宿駅 徒歩3分","courseCount": 2,"minCoursePrice": 3800,"courses": [{ "name": "2時間飲み放題付き 全8品", "price": 4500, "discountPrice": 3500, "menuCount": 8 }],"vacancyDaysAvailable": 12,"instantBookingDays": 9,"isPromoted": false,"phone": "080-1234-5678","phoneReservation": "050-1234-5678","address": "東京都新宿区新宿3-1-1 ビル5F","latitude": 35.6903,"longitude": 139.7005,"hours": "月~金 17:00~23:30 (L.O.23:00)","openingHours": ["Mon-Fri 17:00-23:30"],"closedDays": "年中無休","totalSeats": 120,"creditCards": ["VISA", "MasterCard", "JCB"],"smoking": "全席禁煙"}
Export as JSON, CSV, Excel or XML from the dataset, or pull it through the Apify API.
Pricing
Pay per result: you are charged only for restaurants actually saved to the dataset. A run with includeDetails makes about twice the requests but costs the same per restaurant. Start with a small maxResults to check the fields you need, then scale up.
Tips
- Sub-area names are matched as substrings, so
新宿also matches新宿西口. Use theareal…code from a Gurunavi URL for an exact pick. - Use
crawlMode: "prefecture"for a quick sample of a whole prefecture,subareasfor full coverage, andsubareas-genreswhen a single sub-area still exceeds ~10,000 restaurants (central Tokyo and Osaka). phoneReservationis Gurunavi's 050 forwarding number shown on the page;phonecomes from the page's structured data and is usually the restaurant's own line.- Prices and budgets are in Japanese yen. A course's
discountPriceis the price after the advertised discount.
Related scrapers
Looking for other Japanese restaurant data? See the HotPepper Gourmet, Tabelog and Retty scrapers by the same author for review scores, coupons and cross-platform matching.
Legal
This Actor collects publicly available business information. You are responsible for using the data in line with Gurunavi's terms and applicable law, including Japan's Act on the Protection of Personal Information where relevant.