Everything on Typed is generated from structured data on every deploy. These endpoints are that data, as JSON, with CORS on so you can call them from a browser. No key, no rate limit, no sign-up.
/api/v1/index.jsonManifest: what exists, terms, contact/api/v1/supplements.json250 supplements/api/v1/foods.json2,222 foods, with macros per 100 g/api/v1/movements.json355 movements/api/v1/recipes.json300 recipes{
"id": "vitd",
"name": "Vitamin D3",
"category": "Vitamins",
"goals": ["Immune Support", "Bone Health"],
"tags": ["fat-soluble", "bone-support"],
"url": "https://typedsupps.com/supplement/vitd"
}
curl -s https://typedsupps.com/api/v1/foods.json \
| jq '.items[] | select(.nutrition.protein_g > 25) | .name'
These endpoints carry the index: identity, classification, tags, goals, and for foods the macro fields. That is enough to look something up, match it against your own data, and link to it.
They do not carry the writeups — the absorption stages, the evidence
grades, the myth sections, the sources. Every record includes the
url of the page that does.
Free to use with attribution: link back to the record’s url.
Food values derive from the Australian Food Composition Database (AFCD),
Food Standards Australia New Zealand. Educational content only — not
medical advice, and not suitable as the basis of clinical decisions.
Breaking changes get a new path (/api/v2/); v1
stays as it is. Questions and corrections:
corrections@typedsupps.com.