DATA SPECIFICATION
Everything you need to evaluate us — before you get in touch.
Field definitions, licensing classes, coverage by segment, and samples of the real data. Run your internal evaluation first, then talk to us.
Every count and completeness figure is measured directly from the database and follows the nightly update automatically.
Catalog last confirmed 2026-10-20























Generated imagery from the dish-name master (kalori-generated, class G)
Scale and completeness
All figures are measured, with the underlying numbers shown alongside the rounded display.
Products listed
61,666
items
Brands covered
457
brands
Dish-name master
5,370
items
Complete on all four macros
100%
61,666 / 61,666
Confirmed within 7 days
89%
55,007 / 61,666
With JAN barcode
12,344
items
The figures above are a snapshot of today. Which brands were added on which date, and how many items change each day, are published as a full historical record. See the changelog
Licensing classes
Within a single record, different fields carry different rights. kalori manages them in three classes and states which are included by default. Please start here when evaluating what you can use.
Factual
Product name, serving brand, price, first-seen and last-confirmed dates, JAN codes — facts observable from public information.
Availability: Included by default
kalori-generated
AI-estimated nutrition, the dish-name master, normalization metadata (aliases, kana readings), and generated imagery — created by kalori, with clear title.
Availability: Included by default
Official nutrition values
Nutrition figures as published by each brand. Redistribution depends on the relationship with the source, so they are excluded from the default scope of bulk delivery (CSV, feeds). The Catalog API does return them, for display inside the contracted service only (provenance: official).
Availability: Bulk delivery by separate agreement / included in the Catalog API for display
Coverage by segment
Listing scale, nutrition completeness, and freshness for each segment, so you can check whether the areas you need are sufficiently covered.
| Segment | Brands | Products | Macros complete | Official-based | Within 7 days |
|---|---|---|---|---|---|
| Convenience Store | 25 | 12,425 | 100% | 45% | 98% |
| Beef Bowls and Rice Bowls | 6 | 940 | 100% | 89% | 100% |
| Curry | 4 | 156 | 100% | 71% | 100% |
| Fast Food | 13 | 846 | 100% | 62% | 100% |
| Café | 37 | 5,601 | 100% | 77% | 88% |
| Set Meals | 16 | 2,248 | 100% | 25% | 75% |
| Udon | 14 | 1,282 | 100% | 30% | 79% |
| Soba | 11 | 1,028 | 100% | 54% | 75% |
| Izakaya | 24 | 3,391 | 100% | 47% | 72% |
| Family Restaurants | 22 | 3,479 | 100% | 69% | 84% |
| Hamburger Steak & Steak | 17 | 1,699 | 100% | 42% | 82% |
| Yakiniku | 15 | 1,952 | 100% | 11% | 73% |
| Fried Chicken | 7 | 621 | 100% | 49% | 76% |
| Tonkatsu | 12 | 679 | 100% | 8% | 77% |
| Sushi | 19 | 3,171 | 100% | 46% | 81% |
| Ramen | 46 | 1,660 | 100% | 21% | 92% |
| Chinese | 18 | 1,506 | 100% | 53% | 69% |
| Korean | 4 | 586 | 100% | 4% | 17% |
| Indian | 2 | 146 | 100% | 0% | 5% |
| Tempura | 2 | 441 | 100% | 97% | 100% |
| Okonomiyaki | 2 | 126 | 100% | 0% | 100% |
| Pizza | 5 | 1,701 | 100% | 90% | 100% |
| Italian and Pasta | 16 | 2,093 | 100% | 72% | 100% |
| Bento and Prepared Foods | 13 | 1,320 | 100% | 37% | 100% |
| Other Restaurants | 11 | 1,168 | 100% | 6% | 87% |
| Bread | 13 | 691 | 100% | 64% | 100% |
| Snacks and Sweets | 34 | 3,743 | 100% | 82% | 100% |
| Seasonings & Processed Foods | 8 | 932 | 100% | 76% | 100% |
| Frozen Foods | 14 | 2,930 | 100% | 86% | 100% |
| Instant Noodles | 3 | 1,036 | 100% | 98% | 100% |
| Beverages | 11 | 1,061 | 100% | 89% | 94% |
| Health Foods and Dairy | 13 | 1,008 | 100% | 85% | 100% |
| Total | 457 | 61,666 | 100% | 56% | 89% |
Individual brand names are not listed in this table. You can see exactly which brands are covered on our public store directory. The brand list and scope for a partnership are shared after an NDA. Browse the public store directory
Field definitions
The structure of the records we provide, including units, nullability, and licensing class, so you can confirm the fields you need are present.
Product catalog
| Field | Type | Null | Class | Description |
|---|---|---|---|---|
| id | integer | No | F | Stable product ID. Never reused, even after delisting. |
| shop_id | string | No | F | Serving brand identifier. Withheld in the public sample. |
| name | string | No | F | Product name. Withheld in the public sample. |
| category | enum | No | F | Brand category (convenience store, fast food, …). |
| genre | enum | Yes | G | Dish genre, normalized to one taxonomy across every brand. |
| cal | number (kcal) | Yes | O/G | Energy. |
| protein | number (g) | Yes | O/G | Protein. |
| fat | number (g) | Yes | O/G | Fat. |
| carbs | number (g) | Yes | O/G | Carbohydrate. |
| fiber | number (g) | Yes | O/G | Dietary fiber, where published. |
| salt | number (g) | Yes | O/G | Salt equivalent, where published. |
| nutrition_source | enum | No | F | Provenance of the nutrition values: official / partial (official with AI-filled gaps) / estimated. |
| price | integer (JPY) | Yes | F | Displayed price, tax-inclusive where available. |
| jan_code | string | Yes | F | JAN (EAN-13) barcode where obtainable. Checksum-verified. |
| first_seen_date | date | Yes | F | First appearance in the catalog (UTC ISO 8601). |
| last_confirmed_at | date | Yes | F | Last time the item was confirmed at the source (UTC ISO 8601). Use this column to judge freshness. |
| lifecycle_state | enum | No | F | Listing state (active, discontinued, …). Delisted items are retained as history. |
Dish-name master
| Field | Type | Null | Class | Description |
|---|---|---|---|---|
| id | integer | No | G | Stable dish ID. |
| canonical_name | string | No | G | Canonical name — a generic dish name that belongs to no brand. |
| aliases | array | Yes | G | Surface variants, used for search normalization. |
| reading | string | Yes | G | Kana reading, used for matching across kanji/kana/romaji. |
| category | string | No | G | Dish category. |
| cal | number (kcal) | Yes | G | Estimated energy per serving. |
| protein | number (g) | Yes | G | Estimated protein per serving. |
| fat | number (g) | Yes | G | Estimated fat per serving. |
| carbs | number (g) | Yes | G | Estimated carbohydrate per serving. |
| total_grams | number (g) | Yes | G | Serving weight the estimate is based on. |
| estimation_confidence | number | Yes | G | Estimate confidence (0–1). Values below 0.6 are rejected. |
Samples of the real data
Download and take these straight into your internal evaluation. Available as JSON and CSV.
Dish-name master
50 rowsA master of generic dish names that belong to no particular brand. Canonical names, surface variants, kana readings, and estimated nutrition are all included as real values.
First row
{
"id": 1,
"canonical_name": "醤油ラーメン",
"aliases": [
"醤油らーめん",
"しょうゆラーメン",
"中華そば",
"醤油そば"
],
"reading": "しょうゆらーめん",
"category": "ラーメン",
"cal": 470,
"protein": 16.5,
"fat": 12.2,
"carbs": 67.5,
"total_grams": 495,
"estimation_confidence": 0.65
} Product catalog (structural sample)
50 rowsProduct names and brand identifiers are withheld. Nutrition, price, provenance, and dates are real data, so you can evaluate record shape, completeness, and freshness.
First row
{
"id": 1,
"shop_id": null,
"name": null,
"category": "fastfood",
"genre": "burger",
"cal": 408,
"protein": 11.4,
"fat": 18.6,
"carbs": 49.5,
"fiber": 4.5,
"salt": 2.2,
"nutrition_source": "official",
"price": 440,
"jan_code": null,
"first_seen_date": "2025-11-29T07:44:11.962Z",
"last_confirmed_at": "2026-10-19T16:51:09.947Z",
"lifecycle_state": "active"
} Samples are for evaluation purposes only. Redistribution and resale are not permitted.
How we provide data
Pricing and scope are quoted individually once we understand your use case. The shape of the arrangement is set in advance.
We review the use case first
We confirm who will use the data, for what, and whether it will be redistributed. Not every request is accepted.
Non-exclusive, fixed-term by default
We do not grant exclusivity to a single company. Fixed-term agreements are the standard.
Ongoing maintenance is included
Keeping up with source revisions, normalizing naming, and daily updates are part of what we provide. We do not sell one-off dumps.
Start with a small proof of concept
Begin with a PoC scoped to specific data and success criteria. We are happy to talk before your requirements are settled.
This page covers the product catalog and nutrition information. The personal meal records and personal data of people who use kalori are not part of what we provide.
Frequently asked questions
How are official and AI-estimated nutrition values distinguished?
Provenance is kept per field. Each value is marked as officially published, partially AI-completed, or fully AI-estimated, and deliveries preserve this distinction. AI estimates carry error margins, so we ask that this is disclosed wherever the values are displayed.
How often is the data updated?
Every night we automatically collect and refresh each chain's official information. New products, discontinuations, and price or nutrition revisions are reflected daily, and dated as-of snapshots of the full catalog are retained.
Can the data be used commercially?
Yes, under a corporate license agreement. Non-exclusive, fixed-term contracts are our standard. The samples on this page are for evaluation only and may not be used commercially before a contract is in place.
Can the data be resold or redistributed?
No. Reselling or redistributing the data to third parties, or rebuilding a database from it, is restricted by contract.
How much does it cost?
We quote individually based on scope (brands, fields, whether images are included), intended use, and update frequency. You can also start with a small, tightly scoped proof of concept.
Are kalori users' meal records included?
No. What we provide is the product catalog and nutrition information only — the personal meal records and personal data of kalori users are never part of it.
Evaluate first, then talk to us
Tell us the fields, scope, integration method, and timing you need, and we will come back with a specific proposal. There is no charge for the conversation.
Discuss the Catalog API