The public flat-file export of the Japan Fine Dining Index. One CSV, regenerated on every build.
Every Michelin-recognized restaurant currently in the index, one row per restaurant.
Download restaurants.csv| Column | Type | Description |
|---|---|---|
slug | string | URL-safe identifier, unique within city |
name_en | string | English / romanized name |
name_ja | string | Japanese (native) name |
city | enum | tokyo | osaka | kyoto |
cuisine | string | Cuisine category (kaiseki, sushi, french, …) |
michelin_status | enum | 3-star | 2-star | 1-star | Bib Gourmand | Selected | Plate |
score | int 0–100 | Overall six-dimension score |
prestige | int 0–100 | Dimension: established standing |
rating | int 0–100 | Dimension: aggregated diner rating |
heat | int 0–100 | Dimension: current attention |
value | int 0–100 | Dimension: value within price band |
foreigner | int 0–100 | Dimension: foreign-visitor accessibility |
risk | int 0–100 | Dimension: rating stability / cross-source agreement |
price_band | enum | ¥ | ¥¥ | ¥¥¥ | ¥¥¥¥ (empty if undisclosed) |
area | string | Neighborhood / district (where available) |
detail_url | url | English-language detail page |
The score column maps to the letter bands used on the site:
See methodology for the rubric, signal sources, and weight calibration.
The data in restaurants.csv is released under
CC BY-NC 4.0.
You may use, share, and adapt the data for non-commercial purposes with attribution to
Japan Fine Dining Index (finediningindex.com).
For commercial use, bulk / programmatic access, or other licensing arrangements, email [email protected].
import pandas as pd
df = pd.read_csv("https://finediningindex.com/data/restaurants.csv")
# Top-value 1-stars (high value dim, 1-star, sorted by overall score)
df[df["michelin_status"] == "1-star"] \
.nlargest(10, "value")[["name_en", "city", "score", "value", "price_band"]]
# Distribution of score by city
df.groupby("city")["score"].describe()