Instacart Connect APIs
Instacart Connect APIs are RESTful. They use predictable, resource-oriented URLs and HTTP response codes. The APIs use built-in HTTP features, such as HTTP authentication and HTTP verbs, which are understood by HTTP clients.
For help authenticating and making your first API call, see Get an access token.
Servers
When you sign up for Instacart Connect, you are assigned two servers: one for development and one for production. You can verify the status of the servers on the Status page. You need to sign in to view this page.
Authentication
Before making API requests, authenticate with the Connect platform to generate an access token. You need your Instacart Connect client ID and client secret and your assigned server. For more information, see Generate an access token.
Secure requests
All requests require HTTPS and an access token. When you make a request, use HTTPS with the domain of your Instacart server, and pass the generated access token as a Bearer token in the Authorization header. The following example request shows the syntax to use in cURL.
curl --request POST \
--url 'https://<instacart_domain>/v2/fulfillment/users' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"user_id": "string",
"first_name": "string"
}'
If you use HTTP or omit the token, the request fails.
Rate limiting
Instacart Connect implements rate limits on the number of requests per second for security purposes. The rate limits are set at a level that supports the volume of legitimate requests while restricting the potential for denial of service attacks. Instacart Connect monitors request rates to ensure that rate limits remain effective.
If your site receives a 429 Too many requests
error, the number of requests per second has exceeded the rate limit threshold. Try again later. If your site repeatedly receives 429
errors, contact your Instacart representative to discuss your options.
Example languages
The endpoint topics include sample requests in the following languages:
- cURL
- Java
- Python
- Go
If you need examples in another language, discuss your needs with an Instacart Connect representative.
Backward compatibility
As the Instacart Connect product evolves and improves, we may make changes to the APIs to take advantage of new capabilities and improvements. All changes made to APIs maintain backward compatibility. Any new fields are optional and can be ignored if you want the APIs to continue to function as is.
Deprecation policy
From time to time, the Instacart Connect team deprecates fields, endpoints, services, or other items. We will announce the deprecation in the changelog and mark the item in the documentation. Deprecated items remain supported for a minimum of six months but might be removed in the future.