PUBLIC API · v2.4.1 · ALL SYSTEMS OPERATIONAL ●Build on
Build on
Thai nutrition
The Ginsuk API gives you our complete Thai food database — 3,200+ dishes, regional variants, portion-aware nutrition, and snap-to-log vision. Built for developers who ship.
# Identify a Thai dish from a photo curl https://api.ginsuk.co/v2/vision/identify \ -H "Authorization: Bearer $GINSUK_KEY" \ -F "image=@som-tam.jpg" \ -F "region=th-ne" › 200 OK · 84ms { "dish": "som_tam_pu", "name_th": "ส้มตำปู", "confidence": 0.94, "portion_g": 280, "nutrition": { "kcal": 482, "protein_g": 18, "carbs_g": 62, "sodium_mg": 1840 } }
Uptime · 90d
99.98%
P50 latency
84ms
Requests / day
12.4M
Dishes in DB
3,240
22 endpoints. One key.
POST/v2/vision/identify
Identify a Thai dish from a photo. Returns dish, portion estimate, and per-macro breakdown.
GET/v2/foods/{id}
Fetch full nutrition, ingredients, regional variants, and cooking method breakdown for any dish.
GET/v2/foods/search
Search by Thai or English name, ingredient, region, or nutritional filter. 8ms P50.
POST/v2/log/entries
Log a meal entry for a user. Supports image attachment, manual entry, and voice.
POST/v2/insights/weekly
Generate a weekly report for a user with trends, anomalies, and personalized suggestions.
GET/v2/users/{id}/ring
Get today's progress ring — calories, macros, water, steps. Stream-compatible.
POST/v2/voice/transcribe
Thai voice-to-log. "กินส้มตำปู กับข้าวเหนียวหนึ่งจาน" → structured entry.
POST/v2/webhook/subscribe
Subscribe to events: user.logged, goal.hit, insight.generated, lab.completed.
Official SDKs
Typed, tree-shakable, and kept in sync with the API — we version them together. All MIT-licensed on GitHub.
TS
TypeScript
v2.4.1
Py
Python
v2.4.0
Sw
Swift
v2.3.2
Kt
Kotlin
v2.3.2
Dt
Dart
v2.2.0
Rs
Rust
v1.9.0
Add snap-to-log
to your app — in 6 lines.
import { Ginsuk } from '@ginsuk/sdk' const gin = new Ginsuk({ apiKey: process.env.GINSUK_KEY }) const result = await gin.vision.identify({ image: photo, region: 'th-ne', }) console.log(result.dish) // → "som_tam_pu"
from ginsuk import Client gin = Client(api_key=os.getenv("GINSUK_KEY")) report = gin.insights.weekly( user_id="usr_a9f2", week="2026-W16", ) for finding in report.findings: print(finding.headline, finding.severity) # → Sleep dropped 38min on Tuesdays medium # → Sodium 2.1x above target high
Join 1,400+ developers
From university research projects to 50M-download apps — Ginsuk is the quiet infrastructure behind Thai nutrition.