Open data
250 canonical dishes, measured.
When we shared our look at when ingredients enter a recipe, the most common question was: can we have the recipes? Yes. This is a hand-picked sample of our corpus — 250 dishes we'd call canonical, six or seven per cuisine across all 36 cuisines in our hand-authored curated set. Paella, pho bo, doro wat, khachapuri, mole poblano, cacio e pepe.
Every dish carries the engine's core measurement: an 18-note flavor profile, the salt-fat-acid-heat balance, per-100g macros, timing, and the gram-normalized ingredient list. It's the same flavor data behind every hexagon on this site — in a form you can actually load into pandas.
Licensed CC BY-NC 4.0 — analyze it, visualize it, write about it, teach with it; just credit Palate with a link back to this page, and get in touch first for commercial use. Every row also links to its live palate_url so readers of whatever you build can see the dish's X-ray themselves.
What's inside
The columns, in plain language
| Group | Columns | What it tells you |
|---|---|---|
| Identity | recipe_id · title · cuisine · category · region · palate_url | Which dish this is, where it's from, and a link to its live flavor X-ray. |
| Timing & effort | total / active / passive_minutes · effort | How long it takes and how much of that is hands-on. |
| Dietary & macros | vegetarian · vegan · contains_* · calories…fiber (per 100 g) | Best-effort flags and per-100g macros — useful for filtering, not allergen-safe. |
| Flavor (18 notes) | flavor_umami … flavor_marine_briny · flavor_potency | The engine's objective flavor profile — the same 18 notes behind every hexagon on the site. |
| Balance | balance_salt · fat · acid · thermal_heat | The salt-fat-acid-heat backbone, normalized 0–1. |
| Ingredients | ingredients · ingredient_lines | Engine-normalized ingredient masses in grams, plus the hand-written recipe lines. |
The spread
36 cuisines, evenly weighted
Six or seven dishes from each — so no single food culture dominates the sample, and cross-cuisine comparisons start from level ground.
- American Southern
- Argentine
- Brazilian
- British
- Cajun/Creole
- Chinese
- Cuban
- Egyptian
- Ethiopian
- Filipino
- French
- Georgian
- German
- Greek
- Hungarian
- Indian
- Indonesian
- Italian
- Jamaican
- Japanese
- Korean
- Lebanese
- Malaysian
- Mexican
- Moroccan
- Nigerian
- Persian
- Peruvian
- Polish
- Portuguese
- Russian
- Scandinavian
- Spanish
- Thai
- Turkish
- Vietnamese
How it's measured
Measurements, not opinions
The flavor numbers are deterministic: language models do perception and structure only — reading a recipe into ingredients and steps — and never emit a flavor number. From there, the engine propagates each ingredient's flavor through the cooking steps (mass-aware, technique by technique) the same way every time. Run it twice, get the same profile twice.
These 250 recipes come from our hand-authored curated set, so the ingredient lines are ours to share. Dietary flags and macros are engine-derived estimates — good for filtering and analysis, not allergen decisions.
The flavor layer is open on purpose. The engine measures more than this — texture structure, and process features like Maillard development and flavor melding, derived from how a dish is actually cooked — and that layer stays inside the product. If your project needs it, ask us.
See the data journalism →Browse the full corpus →See it mapped in the Atlas →
Build something with it.
Want more — the full corpus, the ingredient flavor lexicon, pairing affinities, or a slice cut for a specific question? Tell us what you're building through the feedback button anywhere in the app, or find us on Reddit where this started. We read everything.
Explore the corpus →