product

One pipeline, five surfaces.

Everything reads from the same verified store: one crawl, one verification pass, one grade per record. Pick the surface that fits how you consume data.

the shared record
every response, every surface
{
  "name": "Bratwurst — pork & veal",
  "price": 9.5,
  "diet_tags": [...],
  "source_url": "https://…",
  "verified_at": "2026-07-28T…",
  "menu_status": "verified"
}

Nothing is returned without a source URL and a grade. If we could not read a restaurant, you still get the record — labeled with the reason.