Tabelog Japan Restaurant Scraper avatar

Tabelog Japan Restaurant Scraper

Pricing

from $10.00 / 1,000 tabelog restaurant records

Go to Apify Store
Tabelog Japan Restaurant Scraper

Tabelog Japan Restaurant Scraper

Scrape public Tabelog Japan restaurant search and detail pages into normalized ratings, prices, address, phone, cuisine, hours, reservation, and map fields. MCP-ready at $0.01 per restaurant.

Pricing

from $10.00 / 1,000 tabelog restaurant records

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

19 hours ago

Last modified

Share

Scrape public Tabelog Japan search, ranking, map, and restaurant-detail pages into normalized restaurant records. The actor is designed for Japan travel planning, hospitality research, food-market analysis, and AI agents that need consistent restaurant data rather than raw HTML. It supports Japanese, English, Chinese, and Korean Tabelog URL variants, follows search pagination, and can enrich search cards with public detail-page fields.

Use this actor only where you have the right to access and process the source data. Tabelog’s Terms of Use and robots/access controls apply; do not use the actor to bypass challenges, republish protected content, copy reviews or photos at scale, or create an unauthorized competing directory.

What it returns

Field groupIncluded data
IdentityrestaurantId, name, nameJapanese, canonical url, page language
Locationarea, address, postal code, latitude, longitude
Contactpublic phone and reservation-link signal
Food and pricecuisine, lunch/dinner budgets, structured-data price range
PopularityTabelog rating and public review count
Operationsopening hours and closed days when labeled on the page
Enrichmentbounded description, image URLs, features, parser warnings

Each restaurant is one flat, schema-stable dataset item. Optional values are emitted as null, [], or false rather than disappearing, which makes the output easier to validate in databases and MCP clients.

Input

{
"startUrls": [
{ "url": "https://tabelog.com/tokyo/C13113/rstLst/ramen/" },
{ "url": "https://tabelog.com/en/tokyo/A1329/A132901/13225889/" }
],
"maxResults": 25,
"maxPages": 5,
"enrichDetails": true,
"responseFormat": "detailed"
}
  • startUrls: Tabelog search/list or restaurant-detail URLs. Defaults to a Shibuya ramen search.
  • maxResults: hard cap across all input URLs, from 1 to 1,000.
  • maxPages: search pagination cap, from 1 to 100.
  • enrichDetails: when true, opens each search result for more public fields; set false for faster cards.
  • responseFormat: concise keeps core fields; detailed includes descriptions, images, and features.

Proxy and concurrency settings are kept internal so the default run is predictable for both people and AI agents. A challenge page is reported in warnings; the actor does not attempt to defeat access controls.

Pricing

The actor charges $0.01 for each schema-valid restaurant record stored, plus the small actor-start event. A 25-record run costs about $0.25 in result events. Pay-Per-Usage platform compute and proxy charges, if enabled for the account, are separate. The actor prints its result-event cap before scraping and never charges for a malformed or skipped record.

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('YOUR_USERNAME/tabelog-japan-restaurant-scraper').call({
startUrls: [{ url: 'https://tabelog.com/tokyo/C13113/rstLst/ramen/' }],
maxResults: 20,
enrichDetails: true,
responseFormat: 'concise',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('MY_APIFY_TOKEN')
run = client.actor('YOUR_USERNAME/tabelog-japan-restaurant-scraper').call(run_input={
'startUrls': [{'url': 'https://tabelog.com/en/tokyo/A1329/A132901/13225889/'}],
'maxResults': 1,
'responseFormat': 'detailed',
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

MCP usage

Configure the actor through Apify’s hosted MCP server with:

https://mcp.apify.com/?tools=YOUR_USERNAME/tabelog-japan-restaurant-scraper

Use it when an agent needs public restaurant search/detail data for Japan travel or market research. Do not use it for Google Maps, Yelp, private Tabelog pages, reservation transactions, or full review-text harvesting. The tool returns one restaurant object per result with stable keys including name, url, address, cuisine, rating, reviewCount, price fields, and optional enrichment.

Reliability and limitations

The parser uses Tabelog’s public restaurant JSON-LD where available, then visible headings and labeled sections, with separate list-card selectors for search pages. It deduplicates restaurant IDs, follows next links up to maxPages, preserves partial results, and returns actionable warnings when a page is blocked or its structure no longer matches. Tabelog can vary fields by language, region, and restaurant; missing values are not guessed.

This actor does not log in, submit forms, make reservations, access private reviews, or bypass CAPTCHA, rate limits, or access-denied pages. Before production use, review Tabelog’s current terms, applicable Japanese privacy/copyright/database rules, and any authorization required for your use case.

FAQ

Can I pass a direct restaurant URL?

Yes. A direct URL such as https://tabelog.com/en/tokyo/A1329/A132901/13225889/ returns one enriched record.

Yes. Pass the search URL copied from Tabelog. The actor follows pagination up to maxPages and stops at maxResults.

Why are some fields null?

Tabelog does not expose every field on every page or language variant. The actor keeps a stable shape and uses warnings for parser or access issues.

How do I reduce output size?

Set responseFormat to concise and enrichDetails to false when you only need search-card identity, location, rating, cuisine, and price signals.