Logo
The Kroger Co.'s Public API Documentation

Kroger Public APIs

Number of APIs: 13


Public APIs are available for all clients to build new products, services, or customer experiences that leverage the unique data, functions, and applications of Kroger. Once you get access to our Public APIs, try out our Knowledge Check to get familiar with our Public APIs.

To begin using Public APIs right away, complete the following steps:

1. Create an Account

Before you can register your application and begin making API requests, you must first Create an Account. After completing the account creation form, you will be asked to verify your account by email. Once you have verified your account, you can continue and register your first application.

2. Register Your Application

Once you have created an account, you need to Register Your Application to generate your application's OAuth2 client credentials.

3. Setting up Collections

This video covers setting up the collection and making an API request using your client credentials.

4. Authorization Code

This video covers adding an item to a cart using the authorization code grant type.

For complete instructions with detailed steps, visit the Qodex Quick Start on Kroger Developers.


1. Identity - User profile information

GET {{kroger-baseUrl}}/identity/profile

Provides access to the profile id of an authenticated customer.

Note: the customer must be authenticated using the OAuth2 Authorization Code grant type.



2. Cart - Add to cart

PUT {{kroger-baseUrl}}/cart/add

Provides you with access to add items to the cart of an authenticated customer.

Note: the customer must be authenticated using the OAuth2 Authorization Code grant type.



3. Products - Product list

GET {{kroger-baseUrl}}/products?filter.term=<string>&filter.locationId=<string>&filter.productId=<string>&filter.brand=<string>&filter.fulfillment=<string>&filter.start=<string>&filter.limit=<integer>

Provides access to a list of products. If no query parameters are provided, a list of all products is returned. To return the product price and aisle location, you must include the filter.locationId query parameters.

Note: seasonal products are returned but only have a price when available.



4. Products - Product details

GET {{kroger-baseUrl}}/products/:id?filter.locationId=<string>

Provides access to the details of a specific product by either using the productId or UPC. To return the product price and aisle location, you must include the filter.locationId query parameters.



5. Locations-Locations - Location details

GET {{kroger-baseUrl}}/locations/:locationId

Provides access to the details of a specific location by using the locationId.



6. Locations-Locations - Location list

GET {{kroger-baseUrl}}/locations?filter.zipCode.near=<string>&filter.latLong.near=<string>&filter.lat.near=<string>&filter.lon.near=<string>&filter.radiusInMiles=10&filter.limit=10&filter.chain=<string>&filter.department=<string>

Provides access to a list of locations matching a given criteria. If the parameter filter.chain is not provided, the results include all locations and chains owned by The Kroger Co.

Starting Point Required

You must include one of the following parameters as a starting point to narrow search results:

  • filter.zipCode.near
  • filter.latLong.near
  • filter.lat.near and filter.lon.near

If you do not provide a starting point or provide more than one starting point, an error warning is returned. By default, the results are limited to 10 locations within a 10-mile radius of the provided starting point. If you would like to extend the search results, you can use the parameter filter.radiusInMiles to set a new mile radius or filter.limit to set the number of results returned.



7. Locations-Locations - Location query

HEAD {{kroger-baseUrl}}/locations/:locationId

Determines if a specific location exists by using the locationId.



8. Locations-Chains - Chain list

GET {{kroger-baseUrl}}/chains

Provides access to a list of all chains owned by The Kroger Co.



9. Locations-Chains - Chain details

GET {{kroger-baseUrl}}/chains/:name

Provides access to the details of a specific chian by using the chain name.



10. Locations-Chains - Chain query

HEAD {{kroger-baseUrl}}/chains/:name

Determine if a specific chain exists by using the chain name.



11. Locations-Departments - Department list

GET {{kroger-baseUrl}}/departments

Provides access to a list of all departments, including departments of chains owned by The Kroger Co.



12. Locations-Departments - Department details

GET {{kroger-baseUrl}}/departments/:id

Provides access to the details of a specific department by using the departmentId.



13. Locations-Departments - Department query

HEAD {{kroger-baseUrl}}/departments/:id

Determine if a specific department exists by using the departmentId.



ENDPOINTS