# Tabelog Scraper - Low-cost💲🔥🍣🔎 (`delectable_incubator/tabelog-scraper-low-cost`) Actor

🍣 Extract restaurant listings from Tabelog with ease. Collect restaurant names, rankings, genres, ratings, nearest stations, distances, lunch & dinner prices, awards, images, and listing URLs. Ideal for Japan restaurant research, food market intelligence, price monitoring & restaurant datasets 🇯🇵

- **URL**: https://apify.com/delectable\_incubator/tabelog-scraper-low-cost.md
- **Developed by:** [Prime Scrape](https://apify.com/delectable_incubator) (community)
- **Categories:** Travel, Lead generation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.00005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

<p align="center">
  <img src="https://i.ibb.co/jkNS73wX/readme.png" alt="Tabelog List Scraper" width="100%">
</p>

***

## 🍣 Tabelog List Scraper | Bulk Restaurant Search Scraper Japan | Apify Actor 🇯🇵

### 🚀 Scrape Tabelog Restaurants in Bulk (No Code)

The **Tabelog List Scraper (Apify Actor)** is a powerful and scalable restaurant data extraction tool designed to scrape restaurant listing cards from **Tabelog's English website**.

Extract detailed restaurant information from Tabelog area pages, search-result pages and reservation searches, with automatic pagination and support for multiple URLs in a single run.

Perfect for **restaurant research, Japan market intelligence, food market analysis, competitor research, tourism datasets, location intelligence, price analysis, lead generation and AI datasets**.

***

### 🔥 Why This Tabelog Scraper?

✔ Scrape Tabelog restaurant listings

✔ Supports **bulk URL scraping**

✔ Process multiple Tabelog URLs in one run

✔ Supports Tokyo, Osaka, Kyoto and other Japanese areas

✔ Automatic pagination

✔ Supports reservation-search URLs

✔ Extract restaurant rankings

✔ Extract ratings and review counts

✔ Extract restaurant genres

✔ Extract nearest stations and distances

✔ Extract lunch and dinner price ranges

✔ Extract restaurant awards and tags

✔ Extract restaurant images

✔ Extract review URLs

✔ Clean structured JSON / CSV / Excel output

✔ No coding required

✔ Fast & scalable cloud execution

***

### 🎯 What This Scraper Does

This Apify Actor extracts structured restaurant information directly from Tabelog listing and search-result pages.

#### 📌 Core Features

🍣 **Restaurant Listing Extraction**

🔍 **Tabelog Search Result Scraping**

📍 **Area & Location Search**

🔗 **Bulk URL Processing**

📄 **Automatic Pagination**

⭐ **Rating & Review Extraction**

💴 **Lunch & Dinner Price Extraction**

🚉 **Station & Distance Extraction**

🏆 **Award Extraction**

🏷️ **Restaurant Tags Extraction**

🖼️ **Restaurant Image Extraction**

🔎 **Review URL Extraction**

🇯🇵 **Japan-focused Residential Proxy Support**

***

### ⚡ Input Configuration

#### 🔥 BULK TABELOG URL MODE

Provide one or multiple Tabelog listing or search-result URLs.

```
{
  "urls": [
    "https://tabelog.com/en/tokyo/",
    "https://tabelog.com/en/osaka/",
    "https://tabelog.com/en/rstLst/?utf8=%E2%9C%93&pal=kyoto&LstPrf=A2601&LstAre=&station_id=&area_datatype=Area1&area_id=Kyoto&genre_name=&sw=&search_mode=&svd=20260812&svt=1900&svps=2&vac_net=1"
  ],
  "maxItemsPerUrl": 50
}
```

Each URL is processed independently.

***

### 📄 Supported Tabelog URLs

The scraper supports different types of Tabelog English-site listing URLs.

#### 🌆 Area Pages

```
https://tabelog.com/en/tokyo/
```

#### 🍜 City / Area Listings

```
https://tabelog.com/en/osaka/
```

#### 🔎 Search Result Pages

```
https://tabelog.com/en/rstLst/?pal=kyoto&LstPrf=A2601
```

#### 📅 Reservation Search URLs

Search URLs containing reservation parameters such as:

```
svd=20260812
svt=1900
svps=2
vac_net=1
```

#### 📄 Already-Paginated URLs

```
https://tabelog.com/en/kyoto/A2601/rstLst/2/
```

The Actor automatically follows numbered pagination such as:

```
/rstLst/2/
/rstLst/3/
/rstLst/4/
```

until the configured maximum number of restaurants is reached or no more results are available.

***

### 🎛️ Maximum Items Per URL

Use `maxItemsPerUrl` to control the number of restaurant listings collected from each URL.

```
{
  "maxItemsPerUrl": 100
}
```

For example, with 3 URLs and `maxItemsPerUrl: 50`, the Actor can collect up to approximately **50 restaurants per URL**.

***

### 📊 Extracted Restaurant Data

| Field            | Description                     |
| ---------------- | ------------------------------- |
| source           | Data source                     |
| sourceUrl        | Original input URL              |
| pageUrl          | URL of the scraped page         |
| pageNumber       | Pagination page number          |
| rstId            | Tabelog restaurant ID           |
| rank             | Restaurant ranking              |
| name             | Restaurant name                 |
| detailUrl        | Restaurant listing URL          |
| award            | Restaurant award                |
| station          | Nearest station                 |
| distanceMeters   | Distance from station in meters |
| genres           | Restaurant genres               |
| prTitle          | Restaurant PR blurb             |
| ratingValue      | Numeric restaurant rating       |
| ratingLabel      | Rating label                    |
| reviewCount      | Number of reviews               |
| reviewUrl        | Restaurant reviews URL          |
| dinnerPriceRange | Dinner price range              |
| dinnerPriceMin   | Minimum dinner price            |
| dinnerPriceMax   | Maximum dinner price            |
| lunchPriceRange  | Lunch price range               |
| lunchPriceMin    | Minimum lunch price             |
| lunchPriceMax    | Maximum lunch price             |
| holiday          | Restaurant closed days          |
| tags             | Restaurant tags                 |
| imageUrl         | Restaurant image URL            |

***

### 🍽️ Example Output

```
{
  "source": "tabelog",
  "sourceUrl": "https://tabelog.com/en/tokyo/",
  "pageUrl": "https://tabelog.com/en/tokyo/rstLst/",
  "pageNumber": 1,
  "rstId": "13000001",
  "rank": 1,
  "name": "Example Sushi Restaurant",
  "detailUrl": "https://tabelog.com/en/tokyo/A1301/A130101/13000001/",
  "award": "Tabelog Award",
  "station": "Tokyo Station",
  "distanceMeters": 250,
  "genres": "Sushi, Japanese",
  "prTitle": "Authentic Japanese sushi in Tokyo.",
  "ratingValue": 4.2,
  "ratingLabel": "Very Good",
  "reviewCount": 1250,
  "reviewUrl": "https://tabelog.com/en/tokyo/A1301/A130101/13000001/dtlrvwlst/",
  "dinnerPriceRange": "¥5,000 - ¥9,999",
  "dinnerPriceMin": 5000,
  "dinnerPriceMax": 9999,
  "lunchPriceRange": "¥1,000 - ¥1,999",
  "lunchPriceMin": 1000,
  "lunchPriceMax": 1999,
  "holiday": "Sunday",
  "tags": "Popular, Reservation Recommended",
  "imageUrl": "https://example.com/restaurant.jpg"
}
```

***

### 📊 Dataset Views

The Actor includes multiple preconfigured dataset views for easier analysis.

#### 📋 Overview

The **Overview** view provides the main restaurant information:

- Rank
- Name
- Genres
- Nearest Station
- Distance
- Rating
- Rating Label
- Reviews
- Dinner Price
- Lunch Price
- Restaurant Listing

Perfect for quick restaurant research and comparison.

#### 📑 Detailed Listings

The **Detailed Listings** view provides the complete extracted dataset, including:

- Source information
- Pagination data
- Restaurant ID
- Restaurant details
- Awards
- Location information
- Ratings
- Reviews
- Pricing
- Holidays
- Tags
- Images

#### 🔗 By Source URL

The **By Source URL** view makes it easy to analyze restaurants grouped by their original input URL.

Perfect for:

📊 Bulk URL analysis

🔍 Search comparison

📈 Area comparison

📋 Dataset organization

***

### 💡 Use Cases

This Tabelog scraper is ideal for:

🍣 **Restaurant Research**

🇯🇵 **Japan Food Market Intelligence**

📍 **Location Intelligence**

🏆 **Restaurant Ranking Analysis**

⭐ **Restaurant Reputation Monitoring**

💴 **Restaurant Price Analysis**

🍜 **Food & Dining Market Research**

🏢 **Restaurant Competitor Analysis**

✈️ **Tourism Research**

📊 **Hospitality Market Intelligence**

🔎 **Restaurant Discovery**

🤖 **AI Training Datasets**

📈 **Business Intelligence**

⚙️ **Automated Data Pipelines**

***

### 🚀 Key Features

⚡ **Bulk URL Scraping**

🍣 **Restaurant Listing Extraction**

🇯🇵 **Japan-focused Scraping**

📄 **Automatic Pagination**

🔎 **Search Result Extraction**

📅 **Reservation Search Support**

⭐ **Ratings & Reviews**

💴 **Lunch & Dinner Prices**

🚉 **Station & Distance Data**

🏆 **Awards & Tags**

🖼️ **Restaurant Images**

🔗 **Review & Listing URLs**

📊 **Multiple Dataset Views**

🔁 **Scalable Cloud Execution**

***

### 🌐 Proxy Configuration

Because Tabelog is a Japan-focused website, the Actor is configured to support **Japanese residential proxies**.

Default configuration:

```
{
  "useApifyProxy": true,
  "apifyProxyGroups": [
    "RESIDENTIAL"
  ],
  "apifyProxyCountry": "JP"
}
```

Using a Japan-based residential proxy can improve scraping reliability when accessing Tabelog pages.

***

### 📤 Output Formats

Export your Tabelog restaurant dataset through Apify in:

✔ JSON

✔ CSV

✔ Excel / XLSX

✔ XML

✔ HTML

✔ RSS

***

### 🔥 Why Use This Tabelog Scraper?

✔ Built specifically for Tabelog restaurant listings

✔ Supports bulk restaurant URL scraping

✔ Automatic pagination

✔ Reservation-search URL support

✔ Detailed restaurant information

✔ Ratings and review data

✔ Lunch and dinner pricing

✔ Location and station information

✔ Multiple dataset views

✔ Japan residential proxy support

✔ No coding required

✔ Ready for automation workflows

✔ Ideal for large-scale restaurant research

***

### 💸 Pricing

This scraper runs on a **pay-per-result pricing model**.

You only pay for successfully extracted restaurant records.

💳 **Price: $0.99 / 1,000 results**

***

### ❓ FAQ

#### Can I scrape multiple Tabelog URLs at once?

Yes. Add multiple URLs to the `urls` input field. Each URL is processed independently.

#### Does the scraper support pagination?

Yes. The Actor automatically follows numbered Tabelog pagination pages until the maximum number of restaurants is reached or no more results are available.

#### Can I scrape Tokyo and Osaka in the same run?

Yes. Simply provide both URLs in the `urls` list.

#### Does it support Kyoto search URLs?

Yes. The Actor supports Tabelog search URLs containing area, date, time, party-size and reservation parameters.

#### Can I scrape reservation search results?

Yes. Tabelog reservation-search URLs with parameters such as date, time and party size are supported.

#### Can I limit the number of restaurants?

Yes. Use `maxItemsPerUrl` to define the maximum number of restaurant cards collected per input URL.

#### What restaurant information is extracted?

The scraper can extract restaurant names, rankings, genres, ratings, review counts, prices, stations, distances, awards, tags, images and listing URLs.

#### Does the scraper support Japan proxies?

Yes. The default configuration uses Apify Residential proxies with Japan (`JP`) as the proxy country.

#### Is coding required?

No. This is a fully no-code Apify Actor.

#### Can I export the data?

Yes. Apify supports JSON, CSV, Excel and other dataset export formats.

***

### ⚠️ Disclaimer

This tool is an independent scraper and is not affiliated with, endorsed by, or sponsored by Tabelog.

Tabelog and all related trademarks belong to their respective owners.

Users are responsible for complying with Tabelog's terms of service, applicable laws and regulations when using this tool.

***

### 🔗 Related Actors — PrimeScrape Ecosystem

We are building a complete **PrimeScrape Restaurant & Local Business Intelligence Suite**.

🚀 More restaurant, food, travel, business directory and location intelligence scrapers coming soon.

***

### 🌍 PrimeScrape Ecosystem

Built for modern data extraction and automation workflows.

🍣 **Restaurant Intelligence**

🏨 **Hospitality Intelligence**

📍 **Location Intelligence**

✈️ **Travel Research**

📊 **Market Research**

🧲 **Lead Generation**

🤖 **AI Training Datasets**

📈 **Business Intelligence**

⚙️ **Automation Pipelines**

🌍 **Large-Scale Data Collection**

***

### 📬 Support

⭐⭐⭐⭐⭐ Leave a review if you enjoy this scraper.

📩 Need custom scraping solutions, enterprise integrations, bulk datasets or dedicated extraction workflows?

Contact **PrimeScrape** directly through Apify.

# Actor input Schema

## `urls` (type: `array`):

One or more Tabelog English-site listing URLs to scrape. Supports plain area pages (/en/tokyo/), the search-form endpoint (/en/rstLst/?pal=...\&LstPrf=...), and already-paginated URLs (/en/kyoto/A2601/rstLst/2/...).

## `maxItemsPerUrl` (type: `integer`):

Maximum number of restaurant cards to collect for each URL in the bulk list above.

## `proxy` (type: `object`):

Residential JP proxy strongly recommended (Tabelog is a Japan-focused site).

## Actor input object example

```json
{
  "urls": [
    "https://tabelog.com/en/tokyo/",
    "https://tabelog.com/en/osaka/",
    "https://tabelog.com/en/rstLst/?utf8=%E2%9C%93&pal=kyoto&LstPrf=A2601&LstAre=&station_id=&area_datatype=Area1&area_id=Kyoto&genre_name=&sw=&search_mode=&svd=20260812&svt=1900&svps=2&vac_net=1"
  ],
  "maxItemsPerUrl": 50,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "JP"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://tabelog.com/en/tokyo/",
        "https://tabelog.com/en/osaka/",
        "https://tabelog.com/en/rstLst/?utf8=%E2%9C%93&pal=kyoto&LstPrf=A2601&LstAre=&station_id=&area_datatype=Area1&area_id=Kyoto&genre_name=&sw=&search_mode=&svd=20260812&svt=1900&svps=2&vac_net=1"
    ],
    "maxItemsPerUrl": 50,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "JP"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("delectable_incubator/tabelog-scraper-low-cost").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": [
        "https://tabelog.com/en/tokyo/",
        "https://tabelog.com/en/osaka/",
        "https://tabelog.com/en/rstLst/?utf8=%E2%9C%93&pal=kyoto&LstPrf=A2601&LstAre=&station_id=&area_datatype=Area1&area_id=Kyoto&genre_name=&sw=&search_mode=&svd=20260812&svt=1900&svps=2&vac_net=1",
    ],
    "maxItemsPerUrl": 50,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "JP",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("delectable_incubator/tabelog-scraper-low-cost").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://tabelog.com/en/tokyo/",
    "https://tabelog.com/en/osaka/",
    "https://tabelog.com/en/rstLst/?utf8=%E2%9C%93&pal=kyoto&LstPrf=A2601&LstAre=&station_id=&area_datatype=Area1&area_id=Kyoto&genre_name=&sw=&search_mode=&svd=20260812&svt=1900&svps=2&vac_net=1"
  ],
  "maxItemsPerUrl": 50,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "JP"
  }
}' |
apify call delectable_incubator/tabelog-scraper-low-cost --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,delectable_incubator/tabelog-scraper-low-cost"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/BFGjvAVTgzFPJBxkD/builds/g9raWz7T3vz5p23H8/openapi.json
