Edamam · Capability
Edamam Food Database — Food Database
Food Database — Parser, Nutrients, AI Vision, Autocomplete. 4 operations. Lead operation: Food Search. Self-contained Naftiko capability covering one Edamam business surface.
What You Can Do
GET
Searchfood
— Search foods by keyword, brand, or UPC.
/v1/foods/search
POST
Lookupnutrients
— Full nutrition lookup.
/v1/foods/nutrients
POST
Analyzefoodimage
— Nutrition lookup from a food image.
/v1/foods/image
GET
Autocompletefoodsearch
— Food search autocomplete.
/v1/foods/autocomplete
MCP Tools
search-foods
Search foods by keyword, brand, or UPC.
read-only
idempotent
lookup-nutrients
Resolve nutrients for foods + measures.
read-only
analyze-food-image
Nutrition lookup from a food image (AI Vision).
read-only
autocomplete-foods
Autocomplete food search.
read-only
idempotent
Capability Spec
naftiko: "1.0.0-alpha2"
info:
label: "Edamam Food Database — Food Database"
description: >-
Food Database — Parser, Nutrients, AI Vision, Autocomplete. 4 operations. Lead operation: Food Search.
Self-contained Naftiko capability covering one Edamam business surface.
tags:
- Edamam
- Food Database
- Food And Drink
created: "2026-05-30"
modified: "2026-05-30"
binds:
- namespace: env
keys:
EDAMAM_FOOD_APP_ID: EDAMAM_FOOD_APP_ID
EDAMAM_FOOD_APP_KEY: EDAMAM_FOOD_APP_KEY
capability:
consumes:
- type: http
namespace: "food-database-food-database"
baseUri: "https://api.edamam.com"
description: "Edamam Food Database API v2 — keyword/UPC food parsing, nutrient lookup, AI vision, autocomplete."
authentication:
type: apikey
key: app_id
value: "{{env.EDAMAM_FOOD_APP_ID}}"
placement: query
resources:
- name: "food-database-parser"
path: "/api/food-database/v2/parser"
operations:
- name: "searchFood"
method: GET
description: "Food search by keyword, brand or UPC/EAN barcode."
inputParameters:
- name: app_id
in: query
type: string
required: true
- name: app_key
in: query
type: string
required: true
- name: ingr
in: query
type: string
required: false
- name: brand
in: query
type: string
required: false
- name: upc
in: query
type: string
required: false
- name: nutrition-type
in: query
type: string
required: false
- name: health
in: query
type: array
required: false
- name: calories
in: query
type: string
required: false
- name: category
in: query
type: string
required: false
- name: categoryLabel
in: query
type: string
required: false
- name: Edamam-Account-User
in: header
type: string
required: false
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "food-database-nutrients"
path: "/api/food-database/v2/nutrients"
operations:
- name: "lookupNutrients"
method: POST
description: "Full nutrition lookup for one or more resolved food + measure quantities."
inputParameters:
- name: app_id
in: query
type: string
required: true
- name: app_key
in: query
type: string
required: true
- name: body
in: body
type: object
required: true
description: "ingredients[]: {quantity, measureURI, foodId}."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "food-database-image"
path: "/api/food-database/v2/image"
operations:
- name: "analyzeFoodImage"
method: POST
description: "Full nutrition lookup from a food image (URL or base64 data URI). Beta."
inputParameters:
- name: app_id
in: query
type: string
required: true
- name: app_key
in: query
type: string
required: true
- name: body
in: body
type: object
required: true
description: "{ image: <url|data:>, ... }."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "food-database-autocomplete"
path: "/auto-complete"
operations:
- name: "autocompleteFoodSearch"
method: GET
description: "Autocomplete suggestions for food search input."
inputParameters:
- name: app_id
in: query
type: string
required: true
- name: app_key
in: query
type: string
required: true
- name: q
in: query
type: string
required: true
- name: limit
in: query
type: integer
required: false
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
exposes:
- type: rest
namespace: "food-database-food-database-rest"
port: 8080
description: "REST adapter for Edamam Food Database."
resources:
- path: "/v1/foods/search"
name: "foods-search"
description: "Food search."
operations:
- method: GET
name: "searchFood"
description: "Search foods by keyword, brand, or UPC."
call: "food-database-food-database.searchFood"
with:
app_id: "rest.app_id"
app_key: "rest.app_key"
ingr: "rest.ingr"
brand: "rest.brand"
upc: "rest.upc"
nutrition-type: "rest.nutrition-type"
health: "rest.health"
calories: "rest.calories"
category: "rest.category"
categoryLabel: "rest.categoryLabel"
Edamam-Account-User: "rest.Edamam-Account-User"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/foods/nutrients"
name: "foods-nutrients"
description: "Resolve nutrients for foods + measures."
operations:
- method: POST
name: "lookupNutrients"
description: "Full nutrition lookup."
call: "food-database-food-database.lookupNutrients"
with:
app_id: "rest.app_id"
app_key: "rest.app_key"
body: "rest.body"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/foods/image"
name: "foods-image"
description: "Nutrition from image (AI Vision)."
operations:
- method: POST
name: "analyzeFoodImage"
description: "Nutrition lookup from a food image."
call: "food-database-food-database.analyzeFoodImage"
with:
app_id: "rest.app_id"
app_key: "rest.app_key"
body: "rest.body"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/foods/autocomplete"
name: "foods-autocomplete"
description: "Autocomplete food search."
operations:
- method: GET
name: "autocompleteFoodSearch"
description: "Food search autocomplete."
call: "food-database-food-database.autocompleteFoodSearch"
with:
app_id: "rest.app_id"
app_key: "rest.app_key"
q: "rest.q"
limit: "rest.limit"
outputParameters:
- type: object
mapping: "$."
- type: mcp
namespace: "food-database-food-database-mcp"
port: 9090
transport: http
description: "MCP adapter for Edamam Food Database."
tools:
- name: "search-foods"
description: "Search foods by keyword, brand, or UPC."
hints:
readOnly: true
destructive: false
idempotent: true
call: "food-database-food-database.searchFood"
with:
app_id: "tools.app_id"
app_key: "tools.app_key"
ingr: "tools.ingr"
brand: "tools.brand"
upc: "tools.upc"
nutrition-type: "tools.nutrition-type"
health: "tools.health"
calories: "tools.calories"
category: "tools.category"
categoryLabel: "tools.categoryLabel"
Edamam-Account-User: "tools.Edamam-Account-User"
outputParameters:
- type: object
mapping: "$."
- name: "lookup-nutrients"
description: "Resolve nutrients for foods + measures."
hints:
readOnly: true
destructive: false
idempotent: false
call: "food-database-food-database.lookupNutrients"
with:
app_id: "tools.app_id"
app_key: "tools.app_key"
body: "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "analyze-food-image"
description: "Nutrition lookup from a food image (AI Vision)."
hints:
readOnly: true
destructive: false
idempotent: false
call: "food-database-food-database.analyzeFoodImage"
with:
app_id: "tools.app_id"
app_key: "tools.app_key"
body: "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "autocomplete-foods"
description: "Autocomplete food search."
hints:
readOnly: true
destructive: false
idempotent: true
call: "food-database-food-database.autocompleteFoodSearch"
with:
app_id: "tools.app_id"
app_key: "tools.app_key"
q: "tools.q"
limit: "tools.limit"
outputParameters:
- type: object
mapping: "$."