Skip to main content

Find stores offering delivery

POST /v2/fulfillment/stores/delivery

Returns an array of stores that offer delivery for the customer's location. The list of stores is sorted by distance, with the store closest to the customer displayed first.

A store is eligible for delivery orders when the pickup_only flag is set to false.

By default, shoppers deliver to addresses that are within 30 minutes of the store location. If long distance delivery is enabled for a store, deliveries can be made to addresses that are between 30 and 60 minutes away. When a store offers this option, the long_distance_delivery flag is set to true. For more information about enabling this option, see Service areas for delivery.

If a store offers alcohol, the alcohol flag is set to true. For more information, see Alcohol compliance.

After a store is selected, save the store location_code. You specify the location when retrieving the list of available time slots and creating an order.

Security

NameInDescription
AuthorizationheaderThe Authorization header with the bearer token acquired during authentication.

Parameters

None.

Request

FieldTypeRequiredDescription
find_byFind_byRequiredThe location to use for finding the stores.

Find_by Object

One of the following:

FieldTypeRequiredDescription
latitudenumberRequiredThe latitude coordinate.
longitudenumberRequiredThe longitude coordinate.

or

FieldTypeRequiredDescription
address_line_1stringRequiredThe first address line.
address_line_2stringOptionalThe second address line.
address_typestringOptionalThe type of address, e.g., "residential".
postal_codestringRequiredThe postal/zip code of the address.

Request examples

curl --request POST \
--url https://connect.instacart.com/v2/fulfillment/stores/delivery \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"find_by": {
"latitude": 1,
"longitude": 1
}
}'

Response

FieldTypeRequiredDescription
storesArray(Store)OptionalThe returned stores.
is_partialbooleanOptionalWhether the zip code or postal code has partial coverage.

Store Object

FieldTypeRequiredDescription
namestringRequiredThe name of the store.
location_codestringRequiredThe store code, which is used in other requests to identify the store.
flagsFlagsRequiredProperties of the store.

Flags Object

FieldTypeRequiredDescription
alcoholbooleanRequiredWhether the store supports alcoholic orders.
pickupbooleanRequiredWhether the store supports pickup orders. When pickup is true, the store supports both pickup and delivery. When pickup is false, the store supports only delivery orders.
pickup_onlybooleanRequiredWhen the pickup flag is true, the pickup_only value indicates whether the store supports delivery in addition to pickup. When pickup_only is false, the store supports delivery. When pickup_only is true, the store doesn't support delivery.
long_distance_deliverybooleanOptionalWhether a delivery from the store will be a long distance delivery.

Response examples

200 Success

{
"stores": [
{
"name": "Test Warehouse Location 561",
"location_code": "000-33562",
"flags": {
"alcohol": false,
"pickup": true,
"pickup_only": false,
"long_distance_delivery": false
}
},
{
"name": "Test Warehouse Location 562",
"location_code": "000-33570",
"flags": {
"alcohol": true,
"pickup": true,
"pickup_only": false,
"long_distance_delivery": true
}
}
],
"is_partial": false
}

4XX Errors

Error responses return either a single error or multiple errors.

HTTP CodeCauseError MessageError CodeError Meta
400No stores found"Stores not found for the provided request."1001Not applicable
400Malformed find_by object"value is not valid"1001{"key":"find_by"}
400Missing both postal code and coordinates"can't be blank"1001{"key":"find_by"}
400Postal code not found"Postal code not found."1001{"key":"postal_code"}