openapi: 3.0.3
info:
version: '2.0'
title: Food Database API
description: ''
servers:
- url: https://api.edamam.com
tags:
- name: Food Request Step 1 - Parser
- name: Food Request Step 2 - Nutrients
- name: Food Nutrition Request - AI Vision (Beta)
- name: Food Search Autocomplete
paths:
/api/food-database/v2/parser:
get:
tags:
- Food Request Step 1 - Parser
summary: Food Search
description: |-
The parser access point handles text search for foods as well as filters for the foods like presence specific
nutrient content or exclusion of allergens.
- Search for a phrase or keyword using NLP to get food entities from it
- Get basic nutrition facts and ingredients for each food
- Search for food by given nutrient quantity for 28 nutrients
- Search for foods within a given brand
- With the build in food-logging context it allows for requests which do not contain quantity and suggest
expected quantities for them.
**Access Point:** <https://api.edamam.com/api/food-database/v2/parser>
parameters:
- name: app_id
in: query
x-data-threescale-name: app_ids
description:
The application ID, obtained from the account dashboard, <https://developer.edamam.com/admin/applications>.
required: true
schema:
type: string
- name: app_key
in: query
x-data-threescale-name: app_keys
description:
The application key, obtained from the account dashboard, <https://developer.edamam.com/admin/applications>.
required: true
schema:
type: string
- name: Edamam-Account-User
description:
ID of the account user. Should be used *only* if the account is configured for active user tracking.
in: header
schema:
type: string
- name: ingr
in: query
description: |-
A keyword search parameter to be found in the food name. **REQUIRED** if `upc` **and** `brand` are not
specified. **NOT REQUIRED** if `brand` is specified. **DO NOT POPULATE** if `upc` is specified.
schema:
type: string
- name: brand
in: query
description: |-
A keyword search parameter to be found in the food's brand. **REQUIRED** if `ingr` **and** `upc` are not
specified. **NOT REQUIRED** if `ingr` is specified. **DO NOT POPULATE** if `upc` is specified.
schema:
type: string
- name: upc
in: query
description: |-
Valid UPC, EAN, or PLU code. **REQUIRED** if neither `ingr` **nor** `brand` are specified.
**DO NOT POPULATE** otherwise.
schema:
type: string
- name: nutrition-type
in: query
description: Select between cooking and food logging processor.
schema:
type: string
default: cooking
enum:
- cooking
- logging
- name: health
in: query
description: Health label
style: form
explode: true
schema:
type: array
uniqueItems: true
items:
type: string
enum:
- alcohol-free
- celery-free
- crustacean-free
- dairy-free
- egg-free
- fish-free
- fodmap-free
- gluten-free
- immuno-supportive
- keto-friendly
- kidney-friendly
- kosher
- low-fat-abs
- low-potassium
- low-sugar
- lupine-free
- mustard-free
- no-oil-added
- paleo
- peanut-free
- pescatarian
- pork-free
- red-meat-free
- sesame-free
- shellfish-free
- soy-free
- sugar-conscious
- tree-nut-free
- vegan
- vegetarian
- wheat-free
- name: calories
in: query
description: |-
The format is calories=RANGE where RANGE is replaced by the value in kcal. RANGE is in one of MIN+, MIN-MAX
or MAX, where MIN and MAX are non-negative integer numbers. The + symbol needs to be properly encoded.
Examples: “calories=100-300” will return all recipes with which have between 100 and 300 kcal per serving.
schema:
type: string
- name: category
in: query
description: Categories
style: form
explode: true
schema:
type: array
uniqueItems: true
items:
type: string
enum:
- generic-foods
- generic-meals
- packaged-foods
- fast-foods
- name: nutrients[CA]
in: query
description: |-
Calcium, Ca. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
For example: nutrients[CA]=50+ means minimum 50mg calcium, where ‘50+’ has to be properly encoded as ‘50%2B’
nutrients[FAT]=30 means maximum 30g fat and nutrients[FE]=5-10 means iron between 5mg and 10mg inclusive.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[CHOCDF]
in: query
description: |-
Carbohydrate, by difference. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and
MAX are non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[CHOCDF.net]
in: query
description: |-
Carbohydrates (net). Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[CHOLE]
in: query
description: |-
Cholesterol. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[ENERC_KCAL]
in: query
description: |-
Energy. Unit: kcal. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are non-negative
floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[FAMS]
in: query
description: |-
Fatty acids, total monounsaturated. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN
and MAX are non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[FAPU]
in: query
description: |-
Fatty acids, total polyunsaturated. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN
and MAX are non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[FASAT]
in: query
description: |-
Fatty acids, total saturated. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and
MAX are non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[FAT]
in: query
description: |-
Total lipid (fat). Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[FATRN]
in: query
description: |-
Fatty acids, total trans. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX
are non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[FE]
in: query
description: |-
Iron, Fe. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are non-negative
floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[FIBTG]
in: query
description: |-
Fiber, total dietary. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[FOLAC]
in: query
description: |-
Folic acid. Unit: µg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[FOLDFE]
in: query
description: |-
Folate, DFE. Unit: µg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[FOLFD]
in: query
description: |-
Folate (food). Unit: µg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[K]
in: query
description: |-
Potassium, K. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[MG]
in: query
description: |-
Magnesium. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[NA]
in: query
description: |-
Sodium, Na. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[NIA]
in: query
description: |-
Niacin. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are non-negative
floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[P]
in: query
description: |-
Phosphorus, P. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[PROCNT]
in: query
description: |-
Protein. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are non-negative
floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[RIBF]
in: query
description: |-
Riboflavin. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[SUGAR]
in: query
description: |-
Sugars, total. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[SUGAR.added]
in: query
description: |-
Sugars, added. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[Sugar.alcohol]
in: query
description: |-
Sugar alcohols. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[THIA]
in: query
description: |-
Thiamin. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are non-negative
floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[TOCPHA]
in: query
description: |-
Vitamin E (alpha-tocopherol). Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and
MAX are non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[VITA_RAE]
in: query
description: |-
Vitamin A, RAE. Unit: µg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[VITB12]
in: query
description: |-
Vitamin B12. Unit: µg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[VITB6A]
in: query
description: |-
Vitamin B6. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
type: string
- name: nutrients[VITC]
in: query
description: |-
Vitamin C, total ascorbic acid. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN
and MAX are non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[VITD]
in: query
description: |-
Vitamin D (D2 + D3). Unit: µg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are
non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[VITK1]
in: query
description: |-
Vitamin K (phylloquinone). Unit: µg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX
are non-negative floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[WATER]
in: query
description: |-
Water. Unit: g. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are non-negative
floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
- name: nutrients[ZN]
in: query
description: |-
Zinc, Zn. Unit: mg. Input the range which is one of MIN+, MIN-MAX or MAX, where MIN and MAX are non-negative
floating point numbers.
See calcium for an example for how to fill in the range.
schema:
type: string
pattern: (?:[+-]?\d+(?:\.\d*)?)|(?:(?:[+-]?\d+(?:\.\d*)?)-(?:[+-]?\d+(?:\.\d*)?))|(?:(?:[+-]?\d+(?:\.\d*)?)[+-])
responses:
'200':
description: |-
List of food objects, with each food object containing: kcal per 100gr, protein per 100 grams, carbohydrates
per 100 grams, brand of the food, if the food is generic or branded, a list of existing measures for the
food, contents label of the food'
content:
application/json:
schema:
$ref: '#/components/schemas/ParseResponse'
'404':
description: The specified URL was not found or couldn't be retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
/api/food-database/v2/nutrients:
post:
tags:
- Food Request Step 2 - Nutrients
summary: Full Nutrition Lookup
description: |-
In the response to your parser request you receive the a food ID for each database match. Using the food ID and
the measure URI, which parser provides, you can make a request to the nutrients access point. The nutrients
access points returns nutrition with diet and health labels for a given quantity of the food.
**Access Point:** <https://api.edamam.com/api/food-database/v2/nutrients>
parameters:
- name: app_id
in: query
x-data-threescale-name: app_ids
description:
The application ID, obtained from the account dashboard, <https://developer.edamam.com/admin/applications>.
required: true
schema:
type: string
- name: app_key
in: query
x-data-threescale-name: app_keys
description:
The application key, obtained from the account dashboard, <https://developer.edamam.com/admin/applications>.
required: true
schema:
type: string
- name: Edamam-Account-User
description: |-
ID of the account user. Should be used *only* if the account is configured for active user tracking.
in: header
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/List'
responses:
'200':
description: |-
Object containing number of servings (yield), total calories for the food (calories), nutrient content by
nutrient type (totalNutrients, totalDaily), diet and health classification (dietLabels, healthLabels)
content:
application/json:
schema:
$ref: '#/components/schemas/RecipeInfo'
'404':
description: The specified URL was not found or couldn't be retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'422':
description: Couldn't parse the request or extract the nutritional info
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'555':
description: Text with insufficient quality to process correctly
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
/api/food-database/nutrients-from-image:
post:
tags:
- Food Nutrition Request - AI Vision (Beta)
summary: Full Nutrition Lookup From Image (Beta)
description: |-
This endpoint analyzes an image of food (provided as a URL or a Base64 encoded data URI)
and returns its full nutrition analysis.
**Access Point:** <https://api.edamam.com/api/food-database/nutrients-from-image>
parameters:
- name: app_id
in: query
x-data-threescale-name: app_ids
description:
The application ID, obtained from the account dashboard, <https://developer.edamam.com/admin/applications>.
required: true
schema:
type: string
- name: app_key
in: query
x-data-threescale-name: app_keys
description:
The application key, obtained from the account dashboard, <https://developer.edamam.com/admin/applications>.
required: true
schema:
type: string
- name: beta
in: query
description: Allow beta features in the request and response
schema:
type: boolean
requestBody:
description: A JSON object containing the image to be analyzed. Either "image" or "image_url" property should be supplied.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImageRequest'
responses:
'200':
description: |-
Nutrition, health/diet labels, etc., for the recognized food.
content:
application/json:
schema:
$ref: '#/components/schemas/VisionResponse'
'404':
description: The specified URL was not found or couldn't be retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'400':
description: Couldn't parse the request or extract the nutritional info
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'555':
description: Text with insufficient quality to process correctly
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
/auto-complete:
get:
tags:
- Food Search Autocomplete
summary: Autocomplete for Food Search
description: |-
Edamam provides a convenient autocomplete functionality which can be implemented for use when searching for
ingredients. Just send in the current query as the "q" parameter and the number of suggestions you wish to
receive as the "limit" parameter.
**Access Point:** <https://api.edamam.com/auto-complete>
parameters:
- name: app_id
in: query
x-data-threescale-name: app_ids
description:
The application ID, obtained from the account dashboard, <https://developer.edamam.com/admin/applications>.
required: true
schema:
type: string
- name: app_key
in: query
x-data-threescale-name: app_keys
description:
The application key, obtained from the account dashboard, <https://developer.edamam.com/admin/applications>.
required: true
schema:
type: string
- name: Edamam-Account-User
description: |-
ID of the account user. Should be used *only* if the account is configured for active user tracking.
in: header
schema:
type: string
- name: q
in: query
description: Query text. For example q=chi. This or the r parameter are required.
required: true
schema:
type: string
- name: limit
in: query
description: Limit the number of suggestions.
schema:
type: integer
minimum: 1
maximum: 10
responses:
'200':
description: The autocomplete suggestions.
content:
application/json:
schema:
type: array
items:
type: string
components:
schemas:
Ingredients:
type: object
properties:
quantity:
type: number
measureURI:
type: string
qualifiers:
type: array
items:
type: string
foodId:
type: string
ImageRequest:
type: object
required:
- image_url or image
properties:
image:
type: string
description: An image of food, provided either as a Base64-encoded data (e.g., "data:image/jpeg;base64,...").
example: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD..."
image_url:
type: string
description: An image of food, provided either a publicly accessible URL).
example: "https://example.com/image_xyz.jpg"
Errors:
type: array
items:
$ref: '#/components/schemas/Error'
Error:
properties:
errorCode:
type: string
message:
type: string
params:
type: array
items:
type: string
List:
type: object
properties:
ingredients:
type: array
items:
$ref: '#/components/schemas/Ingredients'
ParseResponse:
type: object
properties:
text:
type: string
count:
type: integer
parsed:
type: array
items:
$ref: '#/components/schemas/Parsed'
hints:
type: array
items:
$ref: '#/components/schemas/Hint'
_links:
$ref: '#/components/schemas/HATEOAS'
VisionResponse:
type: object
properties:
parsed:
$ref: '#/components/schemas/Parsed'
recipe:
$ref: '#/components/schemas/RecipeInfo'
Parsed:
type: object
properties:
food:
$ref: '#/components/schemas/Food'
quantity:
type: number
measure:
$ref: '#/components/schemas/Measure'
Hint:
type: object
properties:
pluCode:
$ref: '#/components/schemas/PLUCode'
food:
$ref: '#/components/schemas/Food'
measures:
type: array
items:
$ref: '#/components/schemas/Measure'
PLUCode:
type: object
properties:
code:
type: string
category:
type: string
commodity:
type: string
variety:
type: string
isRetailerAssigned:
type: boolean
Food:
type: object
properties:
foodId:
type: string
uri:
type: string
label:
type: string
knownAs:
type: string
nutrients:
type: object
additionalProperties:
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/edamam-recipes/refs/heads/main/openapi/edamam-food-database-v2-openapi.yml