api-ninjas-com Nutrition API

The Nutrition API extracts nutrition information from text using natural language processing. It can read any text and calculate the corresponding nutrition data, automatically scaling the nutrition data in the result accordingly if quantities are specified. Branded/packaged foods can be looked up by barcode.

Operations 3

GET /v1/nutrition Get nutrition information from text #
GET /v1/nutritionitem Get nutrition information for a single food item with a specific quantity #
GET /v1/nutritionbranded Get nutrition information for branded/packaged foods by barcode, name, or brand #

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/api-ninjas-com:api-ninjas-com-nutrition-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

api-ninjas-com-nutrition-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ninjas Nutrition API
  description: 'Combined OpenAPI specification for every API Ninjas endpoint. Requests go to https://api.api-ninjas.com with an `X-Api-Key` header; get a free key at https://api-ninjas.com/register. Human-readable docs: https://api-ninjas.com/api. Index for LLMs: https://api-ninjas.com/llms.txt.'
  version: 1.0.0
  contact:
    name: API Ninjas
    url: https://api-ninjas.com
  license:
    name: Proprietary
servers:
- url: https://api.api-ninjas.com
  description: API Ninjas Production
security:
- ApiKeyAuth: []
tags:
- name: Nutrition
  description: The Nutrition API extracts nutrition information from text using natural language processing. It can read any text and calculate the corresponding nutrition data, automatically scaling the nutrition data in the result accordingly if quantities are specified. Branded/packaged foods can be looked up by barcode.
paths:
  /v1/nutrition:
    get:
      tags:
      - Nutrition
      summary: Get nutrition information from text
      description: Extracts nutrition data from free-form text, scaling values to any quantities mentioned. Requires `query`. For one food item with an explicit amount use /nutritionitem.
      operationId: getNutrition
      parameters:
      - name: query
        in: query
        description: Query text to extract nutrition information. It can list several foods separated by commas, new lines, semicolons or "and", each with an optional amount before or after it.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A list of nutrition information extracted from the given text.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NutritionResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
  /v1/nutritionitem:
    get:
      tags:
      - Nutrition
      summary: Get nutrition information for a single food item with a specific quantity
      description: Returns nutrition data for a single food item at a stated amount. Requires `query` and `quantity` such as "1 cup". For free-form text with several foods use /nutrition.
      operationId: getNutritionItem
      parameters:
      - name: query
        in: query
        description: A single string containing the food item to be queried.
        required: true
        schema:
          type: string
      - name: quantity
        in: query
        description: A string indicating the quantity of the item in question. Supports various units of measurements (e.g., "1 cup", "2 lbs", "100g", "2 tbsp").
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Nutrition information for a single food item with the specified quantity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NutritionItem'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
  /v1/nutritionbranded:
    get:
      tags:
      - Nutrition
      summary: Get nutrition information for branded/packaged foods by barcode, name, or brand
      description: Look up nutrition, allergens, and ingredients for branded/packaged food products. A UPC/EAN barcode returns a single product; a name or brand search returns a ranked list. Provide at least one of upc, name, or brand. Premium only (any paid plan).
      operationId: getNutritionBarcode
      parameters:
      - name: upc
        in: query
        description: The UPC/EAN barcode of a product for an exact lookup. Returns a single product.
        required: false
        schema:
          type: string
      - name: name
        in: query
        description: Product name to search for (e.g. chocolate chip cookies). Returns a ranked list of matching products.
        required: false
        schema:
          type: string
      - name: brand
        in: query
        description: Brand name to search for (e.g. Oreo). Can be combined with name to narrow results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of results for a name or brand search. Default 10, maximum 50.
        required: false
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 50
      - name: offset
        in: query
        description: Number of results to skip when paging through a name or brand search. Default 0. Paging is limited to the first 1000 results.
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      responses:
        '200':
          description: A list of matching branded food products, or an empty list if nothing matches.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandedNutritionResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
components:
  schemas:
    NutritionResponse:
      type: array
      items:
        $ref: '#/components/schemas/NutritionItem'
    NutritionItem:
      type: object
      properties:
        name:
          type: string
          description: Name of the food item.
        calories:
          type: number
          description: Nutritional energy in calories. Available on premium (paid) plans.
        serving_size_g:
          type: number
          description: Serving size in grams.
        fat_total_g:
          type: number
          description: Total combined fat in grams.
        fat_saturated_g:
          type: number
          description: Saturated fat in grams.
        protein_g:
          type: number
          description: Protein in grams. Available on premium (paid) plans.
        sodium_mg:
          type: number
          description: Sodium in milligrams.
        potassium_mg:
          type: number
          description: Potassium in milligrams.
        cholesterol_mg:
          type: number
          description: Cholesterol in milligrams.
        carbohydrates_total_g:
          type: number
          description: Total carbohydrates in grams.
        fiber_g:
          type: number
          description: Fiber in grams.
        sugar_g:
          type: number
          description: Sugar in grams.
        fat_trans_g:
          type: number
          description: Trans fat in grams.
        added_sugars_g:
          type: number
          description: Added sugars in grams. Available on premium (paid) plans.
        net_carbs_g:
          type: number
          description: Net carbohydrates (total carbohydrates minus fiber) in grams. Available on premium (paid) plans.
        iron_mg:
          type: number
          description: Iron in milligrams. Available on premium (paid) plans.
        calcium_mg:
          type: number
          description: Calcium in milligrams. Available on premium (paid) plans.
        magnesium_mg:
          type: number
          description: Magnesium in milligrams. Available on premium (paid) plans.
        zinc_mg:
          type: number
          description: Zinc in milligrams. Available on premium (paid) plans.
        vitamin_a_mcg:
          type: number
          description: Vitamin A in micrograms (RAE). Available on premium (paid) plans.
        vitamin_c_mg:
          type: number
          description: Vitamin C in milligrams. Available on premium (paid) plans.
        vitamin_d_mcg:
          type: number
          description: Vitamin D in micrograms. Available on premium (paid) plans.
        image_url:
          type: string
          format: uri
          description: URL of a representative image of the food. Available on premium (paid) plans.
    BrandedNutritionResponse:
      type: array
      items:
        $ref: '#/components/schemas/BrandedNutritionItem'
    BrandedNutritionItem:
      type: object
      properties:
        name:
          type: string
          description: Name/description of the branded food product.
        brand:
          type: string
          description: Brand owner or brand name of the product.
        barcode:
          type: string
          description: GTIN/UPC barcode of the product.
        category:
          type: string
          description: Branded food category.
        serving_size_g:
          type: number
          description: Serving size in grams (or milliliters). Nutrition values below are per this serving. When a label gives no weight or volume for its serving, values are per 100 g and this is 100.
        serving_size_household:
          type:
          - string
          - 'null'
          description: The serving as printed on the label (e.g. 3 cookies, 1/4 cup).
        calories:
          type: number
          description: Nutritional energy in calories.
        protein_g:
          type: number
          description: Protein in grams.
        fat_total_g:
          type: number
          description: Total combined fat in grams.
        fat_saturated_g:
          type: number
          description: Saturated fat in grams.
        fat_trans_g:
          type: number
          description: Trans fat in grams.
        carbohydrates_total_g:
          type: number
          description: Total carbohydrates in grams.
        fiber_g:
          type: number
          description: Fiber in grams.
        sugar_g:
          type: number
          description: Sugar in grams.
        added_sugars_g:
          type: number
          description: Added sugars in grams.
        net_carbs_g:
          type: number
          description: Net carbohydrates (total carbohydrates minus fiber) in grams.
        sodium_mg:
          type: number
          description: Sodium in milligrams.
        potassium_mg:
          type: number
          description: Potassium in milligrams.
        cholesterol_mg:
          type: number
          description: Cholesterol in milligrams.
        iron_mg:
          type: number
          description: Iron in milligrams.
        calcium_mg:
          type: number
          description: Calcium in milligrams.
        vitamin_a_mcg:
          type: number
          description: Vitamin A in micrograms (RAE).
        vitamin_c_mg:
          type: number
          description: Vitamin C in milligrams.
        vitamin_d_mcg:
          type: number
          description: Vitamin D in micrograms.
        allergens:
          type: array
          items:
            type: string
          description: Detected allergens (e.g., milk, egg, peanut, tree_nut, soy, wheat, fish, shellfish, sesame).
        ingredients:
          type: string
          description: Full ingredient statement from the product label.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
externalDocs:
  description: API Ninjas documentation
  url: https://api-ninjas.com/api