instacart Last Mile Delivery API

Endpoints for last mile delivery where items are pre-packed and only require delivery from the store to the customer.

Business capability
Last-Mile Delivery Operations Management BC-2420.40

Operations 4

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /v2/fulfillment/stores/last_mile Find stores offering last mile delivery · Find stores offering last mile delivery #
Ask an LLM
“Which stores can handle last mile delivery of pre-packed orders to an address?”
“Can I search for last mile stores by postal code?”
Tell an agent
Find last mile delivery stores for postal code {postal_code}.
List stores offering last mile delivery near {latitude}, {longitude}.
POST /v2/fulfillment/lastmile/users/{user_id}/service_options Reserve a last mile delivery window · Reserve a time slot for last mile delivery #
Ask an LLM
“How do I secure a delivery window for a pre-packed last mile order?”
“What time slots are available for last mile delivery from a store?”
Tell an agent
Reserve a last mile delivery slot for user {user_id} from store {store_id}.
Get and hold last mile time slots for user {user_id} delivering to {address}.
POST /v2/fulfillment/lastmile/users/{user_id}/orders Place a last mile delivery order · Create a last mile delivery order #
Ask an LLM
“How do I create an order for pre-packed items that only need transport to the customer?”
“Can I include driver instructions on a last mile order?”
Tell an agent
Create a last mile order for user {user_id} with hold {hold_id}.
Place a last mile delivery for user {user_id} on hold {hold_id} to {delivery_address}.
POST /v2/fulfillment/lastmile/orders/{order_id}/staged Mark a last mile order packed and ready · Stage a last mile delivery order #
Ask an LLM
“How do I tell the driver a last mile order is packed and ready at the store?”
“When should a last mile order be marked as staged?”
Tell an agent
Mark last mile order {order_id} as staged for driver pickup.
Flag order {order_id} as packed and ready at the store.

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/instacart:instacart-last-mile-delivery-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

instacart-last-mile-delivery-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Instacart Connect Fulfillment Last Mile Delivery API
  description: The Instacart Connect Fulfillment API enables retailers to integrate Instacart fulfillment capabilities directly into their e-commerce sites.
  version: '2.0'
  contact:
    name: Instacart Connect Support
    url: https://docs.instacart.com/connect/fulfillment/
  termsOfService: https://www.instacart.com/terms
servers:
- url: https://connect.instacart.com
  description: Production Server
security:
- bearerAuth: []
tags:
- name: Last Mile Delivery
  description: Endpoints for last mile delivery where items are pre-packed and only require delivery from the store to the customer.
paths:
  /v2/fulfillment/stores/last_mile:
    post:
      operationId: findLastMileStores
      summary: Find stores offering last mile delivery
      description: Returns an array of stores that offer last mile delivery for the customer's location. Last mile delivery is for pre-packed orders that only require transportation from the store to the customer.
      tags:
      - Last Mile Delivery
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindStoresRequest'
      responses:
        '200':
          description: List of stores offering last mile delivery
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoresResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v2/fulfillment/lastmile/users/{user_id}/service_options:
    post:
      operationId: previewLastMileServiceOptions
      summary: Reserve a time slot for last mile delivery
      description: Previews and reserves a time slot for a last mile delivery order. Used to secure a delivery window before creating the order.
      tags:
      - Last Mile Delivery
      parameters:
      - $ref: '#/components/parameters/userId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewServiceOptionsRequest'
      responses:
        '200':
          description: Service options for last mile delivery
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceOptionsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v2/fulfillment/lastmile/users/{user_id}/orders:
    post:
      operationId: createLastMileOrder
      summary: Create a last mile delivery order
      description: Creates a last mile delivery order for a previously reserved time slot. Last mile orders are for pre-packed items that require only delivery from the store to the customer location.
      tags:
      - Last Mile Delivery
      parameters:
      - $ref: '#/components/parameters/userId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
      responses:
        '200':
          description: Last mile delivery order created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v2/fulfillment/lastmile/orders/{order_id}/staged:
    post:
      operationId: stageLastMileOrder
      summary: Stage a last mile delivery order
      description: Marks a last mile delivery order as staged and ready for pickup by the delivery driver. This should be called when the order items are packed and ready at the store.
      tags:
      - Last Mile Delivery
      parameters:
      - $ref: '#/components/parameters/orderId'
      responses:
        '200':
          description: Order staged successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Order not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ServiceOptionsResponse:
      type: object
      properties:
        service_options:
          type: array
          description: Available service option time slots for the requested fulfillment type.
          items:
            $ref: '#/components/schemas/ServiceOption'
    CartItem:
      type: object
      properties:
        upc:
          type: string
          description: The Universal Product Code of the item.
        quantity:
          type: integer
          description: The quantity of the item.
          minimum: 1
        product_id:
          type: string
          description: The Instacart product identifier.
    PreviewServiceOptionsRequest:
      type: object
      properties:
        store_id:
          type: string
          description: The unique identifier of the store to preview service options for.
        address:
          type: object
          description: The delivery or pickup address.
          properties:
            address_line_1:
              type: string
              description: The street address.
            address_line_2:
              type: string
              description: Additional address information.
            city:
              type: string
              description: The city.
            state:
              type: string
              description: The state or province.
            postal_code:
              type: string
              description: The postal or ZIP code.
    OrderResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the order.
        status:
          type: string
          enum:
          - brand_new
          - acknowledged
          - picking
          - staging
          - delivering
          - delivered
          - canceled
          - rescheduled
          description: The current status of the order.
        created_at:
          type: string
          format: date-time
          description: The timestamp when the order was created.
        fulfillment_type:
          type: string
          enum:
          - delivery
          - pickup
          - last_mile
          description: The fulfillment type of the order.
        service_option:
          $ref: '#/components/schemas/ServiceOption'
        store:
          $ref: '#/components/schemas/Store'
        items:
          type: array
          description: The items included in the order.
          items:
            $ref: '#/components/schemas/OrderItem'
    Store:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the store.
        name:
          type: string
          description: The name of the store.
        address:
          type: object
          description: The physical address of the store.
          properties:
            address_line_1:
              type: string
              description: The street address.
            city:
              type: string
              description: The city.
            state:
              type: string
              description: The state or province.
            postal_code:
              type: string
              description: The postal or ZIP code.
        distance:
          type: number
          format: double
          description: The distance from the customer's location to the store.
    OrderItem:
      type: object
      properties:
        product_id:
          type: string
          description: The Instacart product identifier.
        upc:
          type: string
          description: The Universal Product Code of the item.
        name:
          type: string
          description: The name of the product.
        quantity:
          type: integer
          description: The ordered quantity.
        status:
          type: string
          enum:
          - pending
          - found
          - replaced
          - refunded
          description: The current status of the item in the order.
    CreateOrderRequest:
      type: object
      required:
      - hold_id
      properties:
        hold_id:
          type: string
          description: The identifier of the time slot hold from the reserve step.
        cart:
          type: object
          description: The finalized cart for the order.
          properties:
            items:
              type: array
              description: The items to include in the order.
              items:
                $ref: '#/components/schemas/CartItem'
        delivery_address:
          type: object
          description: The delivery address for the order.
          properties:
            address_line_1:
              type: string
              description: The street address.
            address_line_2:
              type: string
              description: Additional address information.
            city:
              type: string
              description: The city.
            state:
              type: string
              description: The state or province.
            postal_code:
              type: string
              description: The postal or ZIP code.
        delivery_instructions:
          type: string
          description: Special instructions for the delivery driver.
    StoresResponse:
      type: object
      properties:
        stores:
          type: array
          description: An array of stores offering the requested fulfillment type, sorted by distance with the closest store first.
          items:
            $ref: '#/components/schemas/Store'
    FindStoresRequest:
      type: object
      properties:
        address_line_1:
          type: string
          description: The street address of the customer's location.
        address_line_2:
          type: string
          description: Additional address information such as apartment or suite number.
        city:
          type: string
          description: The city of the customer's location.
        state:
          type: string
          description: The state or province of the customer's location.
        postal_code:
          type: string
          description: The postal or ZIP code of the customer's location.
        latitude:
          type: number
          format: double
          description: The latitude coordinate of the customer's location.
        longitude:
          type: number
          format: double
          description: The longitude coordinate of the customer's location.
    Error:
      type: object
      properties:
        error:
          type: string
          description: A human-readable error message.
        status:
          type: integer
          description: The HTTP status code.
    ServiceOption:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the service option.
        date:
          type: string
          format: date
          description: The date of the service option.
        window_starts_at:
          type: string
          format: date-time
          description: The start time of the delivery or pickup window.
        window_ends_at:
          type: string
          format: date-time
          description: The end time of the delivery or pickup window.
        fulfillment_type:
          type: string
          enum:
          - delivery
          - pickup
          - last_mile
          description: The type of fulfillment for this service option.
  parameters:
    userId:
      name: user_id
      in: path
      required: true
      description: The unique identifier for the user in the retailer's system.
      schema:
        type: string
    orderId:
      name: order_id
      in: path
      required: true
      description: The unique identifier for the order.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 Bearer token obtained from the token endpoint. Valid for 24 hours.
externalDocs:
  description: Instacart Connect Fulfillment API Documentation
  url: https://docs.instacart.com/connect/fulfillment/