Zestful Parse API

Ingredient parsing operations

OpenAPI Specification

zestful-parse-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Zestful Parse API
  version: 1.0.0
  description: Zestful's ingredient parser API uses machine learning to turn plain recipe ingredient strings into beautiful, structured JSON data. It extracts quantity, unit, product name, preparation notes, and USDA FoodData Central database matches from free-form recipe text.
  contact:
    email: michael@zestfuldata.com
  x-api-id: zestful
  x-audience: external-public
servers:
- url: https://zestfuldata.com
  description: Production server
- url: https://sandbox.zestfuldata.com
  description: Sandbox server (free tier, 30 parses/day)
tags:
- name: Parse
  description: Ingredient parsing operations
paths:
  /parseIngredients:
    post:
      summary: Parse a List of Raw Ingredient Strings
      description: Parses raw ingredient strings into structured data, including quantity, unit, product, preparation notes, and USDA information.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ingredients:
                  type: array
                  items:
                    type: string
                    maxLength: 1024
                  minItems: 1
                  maxItems: 100
              required:
              - ingredients
      responses:
        '200':
          description: Successfully parsed ingredients.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        ingredientRaw:
                          type: string
                        ingredientParsed:
                          type: object
                          properties:
                            quantity:
                              type: number
                              nullable: true
                            unit:
                              type: string
                              nullable: true
                            productSizeModifier:
                              type: string
                              nullable: true
                            product:
                              type: string
                            preparationNotes:
                              type: string
                              nullable: true
                            usdaInfo:
                              type: object
                              properties:
                                category:
                                  type: string
                                description:
                                  type: string
                                fdcId:
                                  type: string
                                matchMethod:
                                  type: string
                                  enum:
                                  - exact
                                  - closestUnbranded
                                  - closestBranded
                          required:
                          - product
                        confidence:
                          type: number
                        error:
                          type: string
                          nullable: true
                  requestsRemaining:
                    type: integer
                  error:
                    type: string
                    nullable: true
        '400':
          description: Bad request due to invalid input.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
      operationId: parseIngredients
      security:
      - ApiKeyAuth: []
      tags:
      - Parse
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: API key for authentication. Required for professional and enterprise plans. Sandbox tier uses no authentication.