TastedEarly access

Tasted for Developers · preview

The world’s food,
machine-readable.

A sourced knowledge graph of the world’s dishes — origins, ingredients, techniques, taste — and the API that lets apps and AI assistants understand food.

GET/v1/entities/hakata-ramenIn development
{
  "slug": "hakata-ramen",
  "type": "FOOD",
  "names": [
    { "language": "ja", "value": "博多ラーメン", "kind": "local" },
    { "language": "en", "value": "Hakata ramen", "kind": "translation" }
  ],
  "relationships": [
    { "relationship": STYLE_OF,       "entity": "ramen",          "confidence": "high" },
    { "relationship": ORIGINATES_IN,  "entity": "fukuoka",        "confidence": "high" },
    { "relationship": TYPICALLY_USES, "entity": "tonkotsu-broth", "confidence": "high" }
  ],
  "sources": [ /* cited, licensed, dated */ ]
}
  • GET/v1/entities/{slug}

    One food entity: names in every language, origin, typed relationships, sources and confidence.

    In development
  • GET/v1/search?q=

    Hybrid search — full-text over names & aliases in any script, plus semantic retrieval (“a cold, sour noodle soup from Korea”).

    Planned
  • GET/v1/entities/{slug}/similar

    Nearest dishes, scored per axis: ingredients, flavour, texture, technique, culture.

    Planned
  • POST/v1/identify

    Free text in, canonical dishes out. Menu lines, recipe titles, receipts, chat messages.

    Planned
  • GET/v1/places/{id}/specialties

    What to eat in a city or region, ranked by how characteristic it is of that place.

    Planned
  • POST/v1/taste/rank

    Rank candidate dishes for one consenting user. Returns scores and reasons — never their history.

    Later
博多ラーメンCeviche김치찌개Pastel de nataPhở bòكشريKhao soiБорщPizza napoletanaข้าวซอยTielle sétoise麻婆豆腐FeijoadaΤζατζίκιMole poblanoInjera

Intro

Tasted started as a culinary passport: 2,069 regional dishes from 78 countries, collected one plate at a time. Now we are turning that catalogue into the food layer for apps and AI — structured, multilingual, sourced, and honest about what it doesn’t know.

2,069
published dishes
78
countries
32
relationship types
5
levels of evidence

The model

Three graphs.
Kept apart on purpose.

A

Food Knowledge Graph

The culinary world: dishes, ingredients, techniques, places — and typed edges between them.

Hakata ramenSTYLE_OFRamen
B

User Taste Graph

One person’s food life — what they tasted, how they rated it. Private by default, theirs to share.

YouTASTED · 5/5Hakata ramen
C

Behavioral Food Graph

Anonymous, aggregated signal: people who love this tend to love that. Never traceable to anyone.

Tonkotsu fansALSO_LOVEKhao soi

Food intelligence

Vectors measure.
The graph explains.

Every dish gets embeddings built from what we know about it. Similarity comes back per axis, and the graph tells you why two dishes are close — never one opaque score.

Hakata ramenKhao soi
  • Texture
    0.91
  • Sensory
    0.88
  • Technique
    0.74
  • Ingredients
    0.62

Illustrative scores · multi-axis similarity is planned

pgvector, inside Postgres

One source of truth. No separate vector store until volume genuinely demands it.

vector(n) · per model

Versioned embeddings

Model and input recipe recorded with every vector. Re-embed without breaking results.

Hybrid retrieval, any script

Vectors for meaning, full-text for exact names — Latin, Kana, Hangul, Thai, Arabic, Cyrillic. Ask for “博多ラーメン” or “that pork-bone ramen from Fukuoka”, get the same dish.

Trust

AI output
is not evidence.

Models draft candidate facts. They never get the last word. Every assertion carries its sources, its scope and a validation level — and when cuisine disagrees with itself, the fact is marked DISPUTED, not silently picked.

  1. GENERATED

    Proposed by a model. Never published as fact on its own.

  2. SUPPORTED

    Backed by at least one cited source.

  3. CORROBORATED

    Independent sources agree.

  4. REVIEWED

    Checked by a human editor.

  5. AUTHORITATIVE

    Matches a reference body (PDO/AOP register, national cuisine institute…).

Built for machines

Ask an assistant about a dish.
It should find Tasted.

  • llms.txtLive

    A plain-text map of Tasted for language models: what it is, what is live, where to look.

  • llms-full.txtLive

    The full public catalogue in one file — every published dish, its country and its canonical URL.

  • schema.org on every dishLive

    Each public dish page ships Recipe + BreadcrumbList JSON-LD: name, cuisine, ingredients, image.

  • Open to AI crawlersLive

    robots.txt explicitly welcomes GPTBot, ClaudeBot, PerplexityBot, Google-Extended and friends.

  • MCP serverPlanned

    Plug Tasted into Claude, ChatGPT or any agent as a tool: lookup, search, similar, identify.

  • OpenAPI 3.1 specPlanned

    One machine-readable contract, generated from the code, versioned with /v1.

tasted-app.vercel.app/llms.txt
# Tasted

> Tasted is a free iOS and Android app — a culinary
> passport where people collect the world's regional
> specialties (2,069 dishes, 78 countries).

## Developers
- [Tasted for Developers](/developers)
- [Full catalogue for LLMs](/llms-full.txt)

## The app
- [Tasted — home](/)

Later · Portable taste

“Will I
like this?”

One day any app or assistant a user trusts could ask Tasted to rank a menu, a delivery list or a city’s specialties for them. The user grants a scope. The app gets an answer — not a dossier.

Roadmap

From a food Pokédex
to taste infrastructure.

  1. 01

    Food Pokédex

    The consumer app: thousands of regional specialties to collect, country by country.

    Live
  2. 02

    Food Knowledge Graph

    Canonical entities, multilingual names, typed relationships, assertions with evidence.

    In development
  3. 03

    Food Intelligence API

    Public read API, hybrid search, identification, multi-axis similarity on pgvector.

    Planned
  4. 04

    Taste Engine

    Recommendations that combine content, collaborative signals and graph reasoning — and explain themselves.

    Later
  5. 05

    Portable Taste Identity

    Users carry their taste to other apps through OAuth scopes they control.

    Later

FAQ

Questions,
answered.

What is Tasted?

Tasted is a free iOS and Android app — a culinary passport where people collect the world's regional specialties by tasting them. Behind the app, Tasted is building a structured, sourced knowledge graph of the world's dishes, meant to be read by other apps and by AI assistants.

Is the Tasted API available today?

Not yet. The public dish pages, llms.txt and schema.org data are live. The first API endpoint (entity lookup) is in development and the rest is planned. Developers can ask for early access by email.

How is Tasted different from a recipe database?

A recipe database stores instructions. Tasted models what a dish is: how it relates to other dishes (style of, variant of, originates in, typically uses), where it comes from, how it tastes and feels, and how confident we are about each of those facts and why.

Does Tasted use AI-generated data?

AI helps propose candidate facts, but AI output is not treated as evidence. Every assertion carries its sources and a validation level, from GENERATED to AUTHORITATIVE, and model-only claims are not published as fact.

How does dish similarity work?

Each dish gets versioned embeddings stored in PostgreSQL with pgvector. Similarity is returned per axis — ingredients, flavour, texture, technique, culture — and the knowledge graph explains why two dishes are close, instead of returning a single opaque score.

Will third-party apps see my food history?

No. The future Taste API is consent-based with least-privilege OAuth scopes. An app granted taste.rank receives a ranking and reasons, not the user's history or taste vector.

Build with
the world’s food.

A travel app, a menu reader, a grocery tool, an agent that talks about food? Tell us what you need — the first partners shape the API.

Request early access