Authenticate with your Connect OAuth application's token endpoint using client credentials to obtain a bearer token with the fulfillment scope
Call the availability or time-slot endpoint to retrieve available pickup windows for the target retailer location and present them to the customer
Build the pickup order payload: include the selected time slot, cart items (with retailer-specific item IDs and quantities), and the customer's date of birth if the cart contains age-restricted products such as alcohol or certain OTC medications
Add up to three sets of pickup instructions covering curbside, in-store, and locker scenarios as supported by the retailer location; include plain-text instructions and optional image URLs
POST the order to the create pickup order endpoint; store the returned order ID for status polling and webhook correlation
Configure event-callback webhooks for pickup-specific status events (e.g., shopper staged, order ready) so your app can notify the customer in real time
Known gotchas
Age-restricted items (alcohol, some OTC medicines) require the customer's date of birth in the order payload — omitting it when the cart contains these items will cause the order to be rejected
Pickup instructions are per retailer location and subject to a maximum of three instruction sets; exceeding this limit or sending unsupported instruction types will return a validation error
The Instacart Connect API is a partner-access program — you must be onboarded as a Connect retailer partner; sandbox credentials are separate from production credentials and obtained through your Instacart representative
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp