MealMe Stores API

Store lookup, inventory, and product details.

OpenAPI Specification

mealme-stores-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: MealMe Food Ordering Carts Stores API
  version: 4.1.0
  description: 'MealMe provides a food and grocery ordering API for menus, inventory, and

    order placement at over one million restaurants and grocery stores in the

    United States and Canada. The API covers store and product search, store

    lookup, inventory/menu retrieval, product details, cart creation and

    management, order creation and finalization, payment methods, MealMe

    Connect accounts, customer support chat, order tracking webhooks, places

    search, and geocoding. Every menu item and grocery product returned

    includes real-time availability, prices, and customizations or modifiers.

    The current reference is version 4.1.0.


    Paths in this specification mirror the documented MealMe endpoints under

    https://api.mealme.ai (for example `/search/store/v3`, `/cart/create`,

    and `/order/order/v4`). Authentication uses an API key passed in the

    Authorization header.

    '
  contact:
    name: MealMe API Reference
    url: https://docs.mealme.ai/reference
servers:
- url: https://api.mealme.ai
  description: MealMe production API
security:
- apiKeyHeader: []
tags:
- name: Stores
  description: Store lookup, inventory, and product details.
paths:
  /utils/store_lookup/v3:
    get:
      tags:
      - Stores
      operationId: storeLookup
      summary: Get a MealMe Store
      description: Fetch stores by a comma-delimited list of store IDs (max 50).
      parameters:
      - in: query
        name: store_ids
        required: true
        schema:
          type: string
        example: 8c9f33d5-d138-4a49-9a4f-162f195c89b8
      - in: query
        name: use_new_db
        schema:
          type: boolean
          default: true
        example: true
      responses:
        '200':
          description: Stores.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Store'
              examples:
                StoreLookup200Example:
                  summary: Default storeLookup 200 response
                  x-microcks-default: true
                  value:
                  - _id: 8c9f33d5-d138-4a49-9a4f-162f195c89b8
                    name: Tony's Pizza Napoletana
                    address: 188 King Street, San Francisco, CA 94107
                    type: restaurant
                    is_open: false
                    phone_number: '+14155550123'
                    cuisines:
                    - Pizza
                    - Italian
                    rating: 4.5
                    miles: 1.5
                    quotes: []
        '400':
          description: Input Validation Error
        '401':
          description: Missing Authorization
        '429':
          description: Too Many Requests
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /utils/add_store:
    get:
      tags:
      - Stores
      operationId: addStore
      summary: Add a Google Place to MealMe
      description: Add a store to MealMe by its Google Place identifier.
      parameters:
      - in: query
        name: place_id
        required: true
        schema:
          type: string
        example: id_7b2c4e
      responses:
        '200':
          description: Store added.
        '401':
          description: Missing Authorization
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /details/inventory/v4:
    get:
      tags:
      - Stores
      operationId: getInventory
      summary: Get Inventory
      description: Retrieve a store's menu or grocery inventory.
      parameters:
      - in: query
        name: store_id
        required: true
        schema:
          type: string
        example: 8c9f33d5-d138-4a49-9a4f-162f195c89b8
      - in: query
        name: subcategory_id
        schema:
          type: string
        example: id_7b2c4e
      - in: query
        name: pickup
        schema:
          type: boolean
          default: false
        example: false
      - in: query
        name: include_quote
        schema:
          type: boolean
          default: false
        example: false
      - in: query
        name: include_customizations
        schema:
          type: boolean
          default: true
        example: true
      - in: query
        name: available
        schema:
          type: boolean
          default: true
        example: true
      - in: query
        name: page
        schema:
          type: integer
        example: 0
      - in: query
        name: menu_id
        schema:
          type: string
        example: id_7b2c4e
      responses:
        '200':
          description: Inventory.
        '400':
          description: Input Validation Error
        '401':
          description: Missing Authorization
        '429':
          description: Too Many Requests
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /details/product/v2:
    get:
      tags:
      - Stores
      operationId: getProductDetails
      summary: Get Product Details
      description: Retrieve details for a single product including customizations.
      parameters:
      - in: query
        name: product_id
        required: true
        schema:
          type: string
        example: prod_5a3e9d12
      - in: query
        name: pickup
        schema:
          type: boolean
          default: false
        example: false
      - in: query
        name: include_quote
        schema:
          type: boolean
          default: false
        example: false
      - in: query
        name: user_latitude
        schema:
          type: number
        example: 37.7786357
      - in: query
        name: user_longitude
        schema:
          type: number
        example: -122.3918135
      - in: query
        name: include_fees
        schema:
          type: boolean
          default: true
        example: true
      responses:
        '200':
          description: Product.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
              examples:
                GetProductDetails200Example:
                  summary: Default getProductDetails 200 response
                  x-microcks-default: true
                  value:
                    product_id: prod_5a3e9d12
                    name: Tony's Pizza Napoletana
                    price: 1299
                    available: false
                    store_name: Tony's Pizza Napoletana
                    menu_id: id_7b2c4e
        '400':
          description: Input Validation Error
        '401':
          description: Missing Authorization
        '406':
          description: Product Unavailable
        '429':
          description: Too Many Requests
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Product:
      type: object
      properties:
        product_id:
          type: string
          example: prod_5a3e9d12
        name:
          type: string
          example: Tony's Pizza Napoletana
        price:
          type: integer
          description: Price in cents.
          example: 1299
        available:
          type: boolean
          example: false
        store_name:
          type: string
          example: Tony's Pizza Napoletana
        menu_id:
          type: string
          example: id_7b2c4e
    Store:
      type: object
      properties:
        _id:
          type: string
          example: 8c9f33d5-d138-4a49-9a4f-162f195c89b8
        name:
          type: string
          example: Tony's Pizza Napoletana
        address:
          type: string
          example: 188 King Street, San Francisco, CA 94107
        type:
          type: string
          enum:
          - restaurant
          - grocery
          example: restaurant
        is_open:
          type: boolean
          example: false
        phone_number:
          type: string
          example: '+14155550123'
        cuisines:
          type: array
          items:
            type: string
          example:
          - Pizza
          - Italian
        rating:
          type: number
          example: 4.5
        miles:
          type: number
          example: 1.5
        quotes:
          type: array
          items:
            type: object
          example: []
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      in: header
      name: Authorization
      description: API key issued by MealMe, passed in the Authorization header.