{
  "openapi": "3.0.1",
  "info": {
    "title": "Tabelog 日本美食点评 Japan Restaurant Market Stats by Area",
    "description": "日本美食、日本餐厅的商圈行情一次调用即得：指定食べログ（Tabelog，日本最大的餐厅点评网站）的商圈，返回餐厅总数、晚餐/午餐预算档位分布、评分分布与有评分占比、点评数量、菜系构成、最近车站与步行距离。绝不采集点评正文。适合访日美食内容、选址调研与餐饮B2B获客。Restaurant-market stats per Tabelog area, from $0.02 per area, no subscription.",
    "version": "0.1",
    "x-build-id": "KpFfu5HgCamLmIDgd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jpmarketdata~tabelog-restaurant-market-cn/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jpmarketdata-tabelog-restaurant-market-cn",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/jpmarketdata~tabelog-restaurant-market-cn/runs": {
      "post": {
        "operationId": "runs-sync-jpmarketdata-tabelog-restaurant-market-cn",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/jpmarketdata~tabelog-restaurant-market-cn/run-sync": {
      "post": {
        "operationId": "run-sync-jpmarketdata-tabelog-restaurant-market-cn",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "areas"
        ],
        "properties": {
          "areas": {
            "title": "商圈 Tabelog areas",
            "maxItems": 10,
            "type": "array",
            "description": "一个或多个食べログ商圈，格式为 '<都道府県>/<大区>/<小区>'，例如 'tokyo/A1301/A130101'（银座）、'osaka/A2701/A270101'（梅田）。直接粘贴完整的 https://tabelog.com/... 网址也可以，会自动归一化成商圈路径。每个商圈都是独立计费单位（$0.02），并各自发起间隔 2 秒的请求，因此请把单次运行控制在 10 个商圈以内，更多请分几次调用——达到时间预算后会停止抓取后续列表页并标记 'truncatedForTimeLimit'。",
            "default": [
              "tokyo/A1301/A130101"
            ],
            "items": {
              "type": "string"
            }
          },
          "genre": {
            "title": "菜系 slug（可选）",
            "type": "string",
            "description": "把商圈限定到某一个食べログ菜系。slug 就是网址中的路径段：'sushi'（寿司）、'ramen'（拉面）、'izakaya'（居酒屋）、'yakitori'（烤鸡串）、'washoku'、'japanese'、'seafood'、'soba'、'unagi'、'okonomiyaki'、'monjya'、'yoshoku' 等等。留空表示全部菜系。slug 原样传递——食べログ对未知 slug 不会返回 404，因此零结果的商圈会判定为失败而不是照常计费。"
          },
          "sort": {
            "title": "排序 Sort order",
            "enum": [
              "rating",
              "most-viewed",
              "most-reserved",
              "standard"
            ],
            "type": "string",
            "description": "食べログ返回该商圈时使用的顺序。这里只提供页面真正会执行的排序。'rating'（SrtT=rt）是默认值：它是确定性的、不带广告加权，而且返回的名单与食べログ日文站完全一致——2026-08-05 在第 1、10、60 页逐页比对，餐厅 id 与评分完全相同。'most-viewed' 与 'most-reserved' 是食べログ面向访日客的自家榜单。'standard' 表示不发送任何排序参数，也就是食べログ的编辑推荐顺序：带广告/推广加权，而且每个语种版本都不一样，因此提供但绝不作为默认值。**不提供**「最新开业优先（新着順）」——本 Actor 读取的页面会忽略该参数并改用编辑推荐顺序，若标成 'newest' 就等于谎报了取样顺序。",
            "default": "rating"
          },
          "pagesPerArea": {
            "title": "每个商圈抓取的列表页数",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "每个商圈取样多少个列表页。食べログ每页 20 家餐厅，因此 3 页 = 最多 60 家。这些页是**均匀分散在整个结果集上**取的，而不是从头部连着取：排序对评分是单调的，头几页装的都是高分店，它们的预算与评分分布并不代表这个商圈。对一个 2,666 家的商圈取 3 页，实际取的是第 1、31、60 页，汇总里的 'sampledPages' 会如实写明取了哪几页。页数越多分布越细，但运行也越久（每页一次请求，间隔 2 秒）。达到运行时间预算后会跳过剩余页，商圈汇总保留已获取的数据并标记 'truncatedForTimeLimit'，同时如实记录较小的 'pagesFetched'。无论命中数写多少，食べログ对一个结果集只枚举到第 60 页 / 1,200 家（2026-08-05 实测），汇总里记为 'enumerablePages'。",
            "default": 3
          },
          "includeIndividualItems": {
            "title": "输出单店记录 Include individual restaurants",
            "type": "boolean",
            "description": "默认关闭：一次运行每个商圈汇总固定 $0.02。开启后还会为每一家取样餐厅输出一条记录（店名、网址、食べログ ID、评分、点评数、最近车站、距离、菜系、晚餐与午餐预算档位），费用 +$0.002/家。只采集经营信息——点评正文与点评人昵称一律不采集。",
            "default": false
          },
          "fetchDetails": {
            "title": "抓取餐厅详情页 Fetch detail pages",
            "type": "boolean",
            "description": "默认关闭。开启后会再抓取前 N 家取样餐厅的详情页，补充地址、邮编、电话、经纬度、价格区间、料理类别、座位数、营业时间、预约政策与交通方式——正是获客名单需要的字段。费用 +$0.002/条，并且每家餐厅多一次请求（间隔 2 秒）。",
            "default": false
          },
          "maxDetails": {
            "title": "每个商圈的详情页上限",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "开启「抓取餐厅详情页」时，每个商圈抓取多少个详情页。每一个都是间隔 2 秒的额外请求，因此这是运行时长的主要来源。达到运行时间预算后会跳过剩余详情页，并把该商圈的汇总标记为 'truncatedForTimeLimit'。",
            "default": 10
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}