4.2M+ foods indexed, with scheduled daily updates

The food & nutrition API
built for real apps.

DietlyAPI gives your app 4.2 million+ foods with source-labeled macros, micronutrients, and barcode lookups - auto-sorted by confidence. Origin health and search probes run every minute; customer-visible latency depends on location and workload.

Get a free API key View docs
0
Foods indexed (live)
Origin search probe (live)
Uptime, last 7 days (live)
0
Documented fields per food
Built for production

Three things every nutrition app needs.

Scale, speed, and ranked relevance. We do them so you don't have to import Open Food Facts's multi-million-row dump, normalize it, or build your own search index.

4.2M+ foods, one endpoint

A multi-million-row Open Food Facts catalog plus existing Dietly community and labeled AI-estimated entries. Public search reads indexed foods; it does not generate new AI entries.

Fast where it counts

Search uses GIN trigram indexes and barcode lookup uses a B-tree. The public status page shows current origin probes; use the browser measurement and playground to test the complete path from your users' region.

Auto-sorted by confidence

Complete, plausibility-checked label data ranks above sparse entries, which rank above AI estimates. Your users see the most trustworthy match first - every time.

Indexed barcode lookup

EAN-13 and UPC-A lookups use a B-tree index and return the existing nutrition object in one API call. Actual response time varies with network path and load.

EU-hosted, globally fronted

The origin runs in Nuremberg, Germany - EU data residency by default. Cloudflare's global edge terminates TLS close to your users and shields the origin.

Private by design

Encrypted in transit, EU hosting, and no card required: read endpoints work without an account, and registering a key takes just a username, password and a verified email.

Speed you can feel

Measured continuously. Test it from your users' region.

A monitor runs origin health and search probes every 60 seconds and publishes their history on the public status page. The card on the right separately measures the health route from your browser.

  • Indexed barcode lookups backed by a B-tree on EAN and UPC values.
  • Trigram fuzzy search tolerant of typos, plurals, and locale spellings.
  • Cloudflare in front - TLS terminates at the edge nearest your users, worldwide.
  • Public status page with uptime, probe latency history and recent incidents.
LIVE · measured now testing…
you → API (median of 3)
origin: /search probe
origin: /health probe
// your number = browser → Cloudflare edge → Nuremberg origin → back
How we compare

Clear evidence, simpler pricing.

Dietly figures come from the live service and published plan configuration. Other vendors change their products and terms; use their official links and benchmark every option with your own workload.

DietlyAPI FatSecret Nutritionix Edamam
Response time* Live probes + measure from your region Benchmark directly Benchmark directly Benchmark directly
Foods 4.2M+ (live) Country-specific datasets See vendor documentation Close to 1M
Free tier 30 req/min per IP, forever Basic: 5,000 calls/day See vendor pricing 30-day Basic trial
Getting a key Self-serve - no card needed Self-signup for Basic See vendor signup Sign-up + plan selection
Authentication One Bearer key OAuth 2.0 tokens App ID + key headers App ID + key in every URL
Attribution required A one-line Open Food Facts credit Yes on free plans Per contract Required on listed plans
Billing & cancellation Monthly, cancel anytime, self-serve See vendor terms See vendor terms See vendor terms
API pricing €27/mo for 500 req/min · €92/mo for 3,000 - self-serve, no overage charges Custom quote via sales See vendor pricing From $14/month

*The status page reports Dietly's origin probes, not a latency promise for every customer. Anonymous and free-tier reads add a configured ~350 ms fairness delay; paid reads skip it. Network distance and workload still matter. Vendor details are a July 2026 snapshot and should be confirmed on their current official pages: FatSecret · Nutritionix · Edamam.

Ranked results

Auto-sorted so users see the right thing first.

Every result ships with a confidence score - complete, plausibility-checked label data outranks sparse entries, which outrank AI estimates. The frustrating "which one of these is right?" problem just goes away.

Chobani · Greek Yogurt Plain 0%
59 kcal · 10 g protein · 3.5 g carbs · per 100 g
OFF 0.95 · complete label
FAGE Total 0% Greek Yogurt
57 kcal · 10 g protein · 3 g carbs · per 100 g
OFF 0.93 · complete label
FAGE Total 5% Greek Yogurt
96 kcal · 9 g protein · 4 g carbs · per 100 g
OFF 0.90 · complete label
Greek Style Yogurt (store brand)
97 kcal · 8 g protein · 12 g carbs · per 100 g
OFF 0.82 · partial label
Homemade Greek-style yogurt
71 kcal · 9 g protein · 4 g carbs · per 100 g
AI 0.75 · estimated
Two lines of code

Ship nutrition search this afternoon.

No SDK install. No signup for reads - search, barcode and food lookups are open with per-IP rate limits. Send your API key as a Bearer token and you get your plan's limit instead. One fetch call, same shape in Python, JS, Swift, Go, anywhere that speaks HTTP.

Grab a key Endpoint reference Integration guide
quickstart.js
// One call. No API key needed for reads. Try it in your console.
const r = await fetch(
  'https://api.getdietly.com/search?q=greek+yogurt'
);

const results = await r.json();

// → Ranked by confidence, highest first
results[0];
// {
//   name: "Greek Yogurt, Plain, Non-Fat",
//   calories_kcal: 59,
//   protein_g: 10,
//   source: "off",
//   confidence: 1.0
// }
Reference

Every endpoint, one table.

Endpoint What it does Auth
GET /search?q=&limit=&source= Fuzzy full-text search, ranked by relevance × confidence. limit 1–50, source = off | claude. Optional
GET /barcode/{ean} EAN-13 / UPC-A lookup. Returns one fully populated nutrition object. Optional
GET /food/{id} Fetch a single food by its stable id. Optional
GET /foods/popular Curated list of common foods - great for empty-state UIs. Optional
GET /foods/categories All food categories with counts. Optional
GET /health Liveness probe - also what the latency card above calls. None

"Optional" = works without a key at 30 req/min per IP (with a small fairness delay). Send Authorization: Bearer <key> on a paid plan for per-account limits and priority speed - free keys share the per-IP limit. Rate-limited responses are a clean 429 with Retry-After.

Simple pricing

Pay for traffic, not seats.

Every plan unlocks the full 4.2M food database. Upgrade only when you need more throughput or commercial use rights.

Starter
For side-projects & prototypes.
$0/month
Forever free. No card required.
  • 30 requests / minute per IP
  • Full 4.2M food database
  • Search, barcode, food/:id
  • Instant key - no card needed
  • Usage dashboard + key rotation
  • Lower priority speed
  • Non-commercial use
  • Slower support
Get a free key
Scale
For apps with serious traffic.
92/month
14 days free, then €92/month unless cancelled
  • 3,000 requests / minute, per account
  • No overage charges, ever
  • Priority speed - no fairness delay
  • Commercial use license
  • Priority support
  • Cancel anytime
Start 14-day free trial
Enterprise
For high-volume & regulated apps.
Custom
Volume pricing - from $0.0002/call
  • Custom rate limits & quotas
  • Bulk dataset exports
  • Custom data licensing
  • Priority support & custom terms
  • EU data residency
  • Invoiced billing
Talk to sales

Pro starts at €27/month immediately. Scale starts with 14 free days and then renews at €92/month. Paid plans renew monthly until cancelled; cancellation keeps access through the current paid period. Stripe securely handles checkout and shows the final total before you confirm. No overage charges. Terms · Refunds · Billing help

Questions, answered

Everything else you might be wondering.

Where does the data come from?
DietlyAPI is built primarily on Open Food Facts (ODbL), with millions of product labels contributed and photographed by its community. We normalize, dedupe, plausibility-check and index the imported data. Existing Dietly community entries and clearly labeled AI estimates may also appear in results; public search itself does not call an AI model or create new entries.
How is auto-sorting different from regular search ranking?
Most food APIs rank by string similarity alone - so "Yogurt 0% from a forgotten 2014 brand" can beat a fully documented plain Greek yogurt just because the name matched better. We rank by (relevance × confidence), which means trustworthy lab data always beats noisy long-tail entries when the query is ambiguous.
How fast is "fast", really?
The public status page shows one-minute origin health and search probes, while the card above measures the health route from your browser. End-to-end latency varies by region, network and workload, so test the actual endpoints your app uses. Anonymous and free-tier reads add a configured ~350 ms fairness delay; Pro and Scale skip that delay, but no self-serve plan promises a fixed response time.
Can I use this in a commercial app?
Yes - Pro, Scale and Enterprise plans include full commercial use rights, including redistribution within your app. The free Starter plan is for non-commercial / prototyping use. If your app shows the data publicly, a one-line Open Food Facts credit is required on every plan - see the next question.
Do I need to credit anyone in my app?
Yes, one line. Part of the database comes from Open Food Facts, which is licensed under the ODbL - that license requires a credit wherever the data is publicly displayed, on every plan including the free Starter. Something like Food data from Open Food Facts (ODbL) via DietlyAPI near the data, in your about screen, or in your footer is enough - link it to world.openfoodfacts.org where you can. The "via DietlyAPI" part is optional. Full details in the API Terms.
What happens if I hit the rate limit?
You get a clean 429 with a Retry-After header - never a surprise bill. Configured public-data limits are 30 requests/minute per IP for Starter (with an hourly anti-scraping cap), 500/min per account for Pro and 3,000/min per account for Scale when the key is sent. App-only AI routes have separate authorization and safeguards and are not included in these plans. Track your usage on your dashboard.
Can I build the same thing myself?
The raw source is open: Open Food Facts is ODbL. DietlyAPI exists so you don't have to run the multi-million-row import, dedupe and normalize it, build the search indexes, and operate the scheduled daily delta refresh. Results may also include Dietly community submissions and labeled AI-estimated entries. If you'd rather self-host, we can license bulk exports - email us.

Make your nutrition app feel instant.

Free API key in seconds - no credit card. You can have search live in your app before your coffee gets cold.