Instacart Connect APIs
You can use the Instacart Connect APIs to add Instacart capabilities to your branded e-commerce site. These REST-based APIs use predictable, resource-oriented URLs, and standard HTTP methods, response codes, and authentication.
For more information about 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
The Connect APIs use OAuth 2.0 to authenticate requests and authorize access to resources.
For more information, see Authentication.
Secure communication
For enhanced data privacy and security, all Instacart Connect API communications use HTTPS. When making a request, be sure to specify https
in the URL, along with the domain of your Instacart server and your desired endpoint.
The following example shows how to structure your request URL:
https://<instacart_domain>/v2/<endpoint>
If you specify http
instead of https
in the URL, the request fails.
Request headers
HTTP request headers provide contextual information about your API request. For example, you can use headers to specify your preferred response format or provide a secure string for request authentication. Some headers and values are required, while others are optional or required only under certain conditions. For more information, see Request headers.
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.
Data formats
Instacart Connect supports various data types as defined in the OpenAPI Specification.
Integer data
Unless otherwise stated, all integer
fields support the int64 format. To ensure that your application can successfully process integer data, you should always interpret integer
generally to represent any non-fractional, non-decimal number.
String data
Unless otherwise stated, all string
fields use UTF-8 encoding and do not enforce any length limits.
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.