Logo
The Kroger Co.'s Public API Documentation

Kroger Partner APIs

Number of APIs: 25


Partner APIs enable official partners to access strategic functionality and data. Since becoming a partner requires additional security consideration and a contractual agreement, Partner APIs are not available through our self-service app registration.

Partnership Request

If you would like to know more about becoming an official Kroger partner and consuming Partner APIs, submit a Partner Request. Once we receive the request, a member of our developer team will reach out with more information.


1. Identity-profile - Profile information

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

Provides access to an authenticated customer's profile information.

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



2. Identity-profile - Profile query

HEAD {{kroger-baseUrl}}/identity/profile?email=<string>

Determine if a customer's profile exists by using their email address.



3. Identity-profile - Profile loyalty information

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

Provides access to an authenticated customer's loyalty information.

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



4. Identity-profile - Profile query

GET {{kroger-baseUrl}}/identity/profile/invoke/exists?email=<string>

Determine if a customer's profile exists by using their email address.



5. Products - Product list

GET {{kroger-baseUrl}}/products?filter.term=<string>&filter.locationId=<string>&filter.productId=<string>&filter.brand=<string>&filter.fulfillment=<string>&filter.start=<integer>&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, availability, and aisle location, you must include the filter.locationId query parameter.

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



6. 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, availability, and aisle location, you must include the filter.locationId query parameter.



7. Locations-Locations-{location Id} - Location details

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

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



8. Locations-Locations-{location Id} - Location query

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

Determines if a specific location exists by using the locationId.



9. 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 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.



10. Locations-Chains-{name} - Chain details

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

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



11. Locations-Chains-{name} - Chain query

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

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



12. Locations-Chains - Chain list

GET {{kroger-baseUrl}}/chains

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



13. Locations-Departments-{id} - Department details

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

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



14. Locations-Departments-{id} - Department query

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

Determine if a specific department exists by using the departmentId.



15. 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.



16. Carts - User carts list

GET {{kroger-baseUrl}}/carts

Provides access to return a list of all carts that belong to an authenticated customer.

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



17. Carts - Create a cart

POST {{kroger-baseUrl}}/carts

Provides access to create a new cart for an authenticated customer.

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



18. Carts - Delete item

DELETE {{kroger-baseUrl}}/carts/:id/items/:upc

Provides access to delete an item from an authenticated customer's cart.

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



19. Carts - Add to cart

POST {{kroger-baseUrl}}/carts/:id/items

Provides access to add items to an authenticated customer's cart.

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



20. Carts - Cart by ID

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

Provides access to an authenticated customer's cart by ID.

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



21. Carts - Updates item quantity

PUT {{kroger-baseUrl}}/carts/:id/items/:upc

Provides access to update the quantity of an item in an authenticated customer's cart.

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



22. Carts - Update cart

PUT {{kroger-baseUrl}}/carts/:id

Provides access to update an authenticated customer's cart by ID. This operation only updates items that are already in a customer's cart.

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



23. Deliveries - Get deliveries

GET {{kroger-baseUrl}}/courier/deliveries?filter.followingAction=CONFIRM

Provides access to a list of available deliveries for courier confirmation.
You can use one of the optional filter.followingAction query parameter to filter deliveries: * CONFIRM - For deliveries in pending confirmation. * CONFIRM_EDITING - For deliveries with pending edited that are not confirmed. * CONFIRM_CANCELLATION - For deliveries in canceled by Kroger that are not confirmed.



24. Deliveries - Get non-delivered

GET {{kroger-baseUrl}}/courier/deliveries/non-delivered

Provides access to a list of outstanding deliveries.

Deliveries are considered outstanding when in the following states: * PendingConfirmation * Scheduled * NotConfirmed * Edited * EditsNotConfirmed * EnRouteToPickup * AtPickup * PickedUp * EnRouteToDropoff



25. Deliveries - Update delivery

POST {{kroger-baseUrl}}/courier/deliveries/:delivery_id

Provides access to update a delivery status. The action parameter is required in the body for each update.

The payload parameter is only required with the following actions: * CONFIRM * CONFIRM_EDITING * CANCEL * EN_ROUTE_TO_PICK_UP



ENDPOINTS