Edamam Food Database API

Search foods by keyword or barcode and resolve nutrition.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/edamam-food-database-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

edamam-food-database-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Edamam Food and Grocery Database Food Database API
  description: 'REST API for the Edamam Food and Grocery Database. Search a database of

    close to 900,000 generic foods, branded packaged foods, and over 680,000

    unique UPC/barcode entries by keyword, food name, or barcode, then resolve

    full nutrition for a given food, quantity, and measure. Requests are

    authenticated with `app_id` and `app_key` query parameters issued from the

    Edamam developer dashboard. This specification is a best-effort,

    documentation-derived description and may omit fields.

    '
  version: 2.0.0
  contact:
    name: Edamam
    url: https://developer.edamam.com/food-database-api-docs
  x-generated-from: documentation
  x-last-validated: '2026-06-02'
servers:
- url: https://api.edamam.com
  description: Production
security:
- AppCreds: []
tags:
- name: Food Database
  description: Search foods by keyword or barcode and resolve nutrition.
paths:
  /api/food-database/v2/parser:
    get:
      summary: Edamam Search Foods by Keyword or Barcode
      description: Search the food and grocery database by keyword, food name, or UPC/EAN barcode. Returns a parsed top match plus a ranked list of hints, each including the food record and its available measures and qualifiers.
      operationId: parseFood
      tags:
      - Food Database
      parameters:
      - $ref: '#/components/parameters/AppId'
      - $ref: '#/components/parameters/AppKey'
      - in: query
        name: ingr
        description: Food keyword or name to search for.
        schema:
          type: string
        example: apple
      - in: query
        name: upc
        description: UPC/EAN barcode to look up.
        schema:
          type: string
        example: 038000138416
      - in: query
        name: category
        description: Filter results by food category.
        schema:
          type: string
          enum:
          - generic-foods
          - packaged-foods
          - generic-meals
          - fast-foods
        example: generic-foods
      - in: query
        name: categoryLabel
        description: Broader category filter.
        schema:
          type: string
          enum:
          - food
          - meal
        example: food
      - in: query
        name: nutrition-type
        description: Nutrient profile to apply to returned foods.
        schema:
          type: string
          enum:
          - cooking
          - logging
        example: cooking
      - in: query
        name: health
        description: Health label filter (repeatable).
        schema:
          type: string
        example: vegan
      - in: header
        name: Edamam-Account-User
        description: Active user identifier for tracking (required when account tracking is enabled).
        schema:
          type: string
        example: user-12345
      responses:
        '200':
          description: Parsed match and ranked hints
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParserResponse'
              examples:
                ParseFood200Example:
                  summary: Default parseFood 200 response
                  x-microcks-default: true
                  value:
                    text: apple
                    parsed:
                    - food:
                        foodId: food_bpdj2labtmnvf2a8tk4nqa1y9pty
                        label: Apple
                        knownAs: apple
                        nutrients:
                          ENERC_KCAL: 52
                          PROCNT: 0.26
                          FAT: 0.17
                          CHOCDF: 13.81
                        category: Generic foods
                        categoryLabel: food
                        image: https://www.edamam.com/food-img/apple.jpg
                    hints:
                    - food:
                        foodId: food_bpdj2labtmnvf2a8tk4nqa1y9pty
                        label: Apple
                        knownAs: apple
                        nutrients:
                          ENERC_KCAL: 52
                        category: Generic foods
                        categoryLabel: food
                        image: https://www.edamam.com/food-img/apple.jpg
                      measures:
                      - uri: http://www.edamam.com/ontologies/edamam.owl#Measure_unit
                        label: Whole
                        weight: 182
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/food-database/v2/nutrients:
    post:
      summary: Edamam Resolve Nutrients for Selected Foods
      description: Retrieve the full nutrient breakdown for one or more foods at specific quantities and measures, using the `foodId` and `measureURI` values returned by the parser endpoint.
      operationId: foodNutrients
      tags:
      - Food Database
      parameters:
      - $ref: '#/components/parameters/AppId'
      - $ref: '#/components/parameters/AppKey'
      - in: header
        name: Edamam-Account-User
        description: Active user identifier for tracking.
        schema:
          type: string
        example: user-12345
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NutrientsRequest'
            examples:
              FoodNutrientsRequestExample:
                summary: Default foodNutrients request
                x-microcks-default: true
                value:
                  ingredients:
                  - quantity: 1
                    measureURI: http://www.edamam.com/ontologies/edamam.owl#Measure_unit
                    foodId: food_bpdj2labtmnvf2a8tk4nqa1y9pty
      responses:
        '200':
          description: Full nutrient breakdown for the requested foods
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NutrientsResponse'
              examples:
                FoodNutrients200Example:
                  summary: Default foodNutrients 200 response
                  x-microcks-default: true
                  value:
                    uri: http://www.edamam.com/ontologies/edamam.owl#recipe_xyz789
                    calories: 95
                    totalWeight: 182
                    dietLabels:
                    - Low-Fat
                    - Low-Sodium
                    healthLabels:
                    - Vegan
                    - Vegetarian
                    totalNutrients:
                      ENERC_KCAL:
                        label: Energy
                        quantity: 95
                        unit: kcal
                    totalDaily:
                      ENERC_KCAL:
                        label: Energy
                        quantity: 4.75
                        unit: '%'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Food:
      type: object
      properties:
        foodId:
          type: string
          example: food_bpdj2labtmnvf2a8tk4nqa1y9pty
        label:
          type: string
          example: Apple
        knownAs:
          type: string
          example: apple
        nutrients:
          type: object
          additionalProperties:
            type: number
          example:
            ENERC_KCAL: 52
            PROCNT: 0.26
            FAT: 0.17
            CHOCDF: 13.81
        category:
          type: string
          example: Generic foods
        categoryLabel:
          type: string
          example: food
        image:
          type: string
          format: uri
          example: https://www.edamam.com/food-img/apple.jpg
    Nutrient:
      type: object
      properties:
        label:
          type: string
          example: Energy
        quantity:
          type: number
          example: 95
        unit:
          type: string
          example: kcal
    Measure:
      type: object
      properties:
        uri:
          type: string
          example: http://www.edamam.com/ontologies/edamam.owl#Measure_unit
        label:
          type: string
          example: Whole
        weight:
          type: number
          example: 182
    FoodHint:
      type: object
      properties:
        food:
          $ref: '#/components/schemas/Food'
        measures:
          type: array
          items:
            $ref: '#/components/schemas/Measure'
    ParserResponse:
      type: object
      properties:
        text:
          type: string
          example: apple
        parsed:
          type: array
          items:
            type: object
            properties:
              food:
                $ref: '#/components/schemas/Food'
        hints:
          type: array
          items:
            $ref: '#/components/schemas/FoodHint'
        _links:
          type: object
          additionalProperties: true
    NutrientsRequest:
      type: object
      required:
      - ingredients
      properties:
        ingredients:
          type: array
          items:
            type: object
            required:
            - quantity
            - measureURI
            - foodId
            properties:
              quantity:
                type: number
                example: 1
              measureURI:
                type: string
                example: http://www.edamam.com/ontologies/edamam.owl#Measure_unit
              foodId:
                type: string
                example: food_bpdj2labtmnvf2a8tk4nqa1y9pty
    NutrientsResponse:
      type: object
      properties:
        uri:
          type: string
          example: http://www.edamam.com/ontologies/edamam.owl#recipe_xyz789
        calories:
          type: integer
          example: 95
        totalWeight:
          type: number
          example: 182
        dietLabels:
          type: array
          items:
            type: string
          example:
          - Low-Fat
          - Low-Sodium
        healthLabels:
          type: array
          items:
            type: string
          example:
          - Vegan
          - Vegetarian
        totalNutrients:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Nutrient'
        totalDaily:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Nutrient'
    Error:
      type: object
      properties:
        error:
          type: string
          example: unauthorized
        message:
          type: string
          example: Invalid app_id or app_key
  parameters:
    AppKey:
      in: query
      name: app_key
      required: true
      description: Application key from the Edamam developer dashboard.
      schema:
        type: string
      example: 0123456789abcdef0123456789abcdef
    AppId:
      in: query
      name: app_id
      required: true
      description: Application identifier from the Edamam developer dashboard.
      schema:
        type: string
      example: 1234abcd
  responses:
    Unauthorized:
      description: Invalid or missing app_id / app_key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            Unauthorized401Example:
              summary: Default unauthorized response
              x-microcks-default: true
              value:
                error: unauthorized
                message: Invalid app_id or app_key
  securitySchemes:
    AppCreds:
      type: apiKey
      in: query
      name: app_key
      description: App key issued by Edamam. Must be sent with the matching `app_id` query parameter.