Discover/Kroger API
live

Kroger APIkroger.com ↗

Access Kroger store directories by state and city, search stores by zip or address, and retrieve store-specific product prices via 4 API endpoints.

Endpoint health
verified 6d ago
get_stores_by_city
search_stores
search_products
get_all_stores
4/4 passing latest checkself-healing
Endpoints
4
Updated
13d ago

What is the Kroger API?

The Kroger API covers 4 endpoints that expose the full US store directory grouped by state, detailed store records for individual cities, location-based store search, and a product catalog with store-specific pricing. The search_products endpoint returns per-store regular and promotional prices tied to a specific location_id, while get_all_stores surfaces aggregate counts across every state Kroger operates in.

This call costs1 credit / call— charged only on success
Try it
Filter by state name (partial match, case-insensitive). Omitting returns all states.
→ api.parse.bot/scraper/91b3d669-c6ee-4818-bf5b-461d3d18cbe3/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/91b3d669-c6ee-4818-bf5b-461d3d18cbe3/get_all_stores?state=Georgia' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 4 totalmissing one? ·

Get the complete directory of all Kroger grocery stores grouped by state. Returns all states with their cities and store counts. The optional state filter narrows results to matching states (partial, case-insensitive). Returns a single Directory object, not a list.

Input
ParamTypeDescription
statestringFilter by state name (partial match, case-insensitive). Omitting returns all states.
Response
{
  "type": "object",
  "fields": {
    "states": "object mapping state name to state entry with city_count and cities array",
    "total_cities": "integer total number of cities across all states",
    "total_states": "integer total number of states in the directory",
    "total_stores": "integer total number of stores across all states"
  }
}

About the Kroger API

Store Directory and Location Data

The get_all_stores endpoint returns a Directory object containing a states map, each entry holding a city_count and a cities array, plus top-level total_states, total_cities, and total_stores counts. An optional state parameter accepts partial, case-insensitive input to narrow the response to matching states. For city-level detail, get_stores_by_city accepts a lowercased city name and two-letter state abbreviation and returns full Store objects including street address, phone number, hours, departments, and geographic coordinates.

Store Search

The search_stores endpoint accepts a free-text query — city name, zip code, or street address — and returns an array of nearby Store objects alongside a pagination object. It covers all store types in the Kroger family, including grocery, fuel, and Shell locations. Use page_size and page_offset to paginate through large result sets. Each store record includes a location_id field (8-digit string) that is the required input for the product search endpoint.

Product Catalog with Store Pricing

The search_products endpoint queries Kroger's product catalog against a specific store using its location_id. Each result in the products array is one UPC and carries name, brand, size, department, category, sub_category, url, image_url, currency, regular_price, and — when active — a promotional price with its expiry date. Pagination is controlled by page_size (1–48) and page_offset; the has_more boolean and total_count integer tell you whether additional pages exist. Sponsored items may add a few rows beyond the requested page_size.

Reliability & maintenanceVerified

The Kroger API is a managed, monitored endpoint for kroger.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when kroger.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official kroger.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a grocery price tracker that compares regular_price and promotional prices for the same UPC across multiple Kroger location_id values.
  • Populate a store locator widget using search_stores with zip code input and display address, phone, and hours from the Store objects.
  • Generate a full state-by-state store count dashboard from get_all_stores total_stores and per-state city_count fields.
  • Alert shoppers when a product's promotional price is active and show the expiry date by polling search_products for a saved UPC.
  • Enumerate all stores in a target metro by iterating get_stores_by_city for each city returned by get_all_stores in a given state.
  • Pull department and category metadata from search_products to build a structured taxonomy of Kroger's grocery inventory.
  • Feed store coordinates from get_stores_by_city into a mapping layer to visualize Kroger coverage density by region.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Kroger have an official public developer API?+
Yes. Kroger operates an official developer program at https://developer.kroger.com that provides OAuth 2.0-authenticated access to products, locations, and cart endpoints. The Parse API provides structured data access without requiring your own API credentials or OAuth implementation.
What does `get_stores_by_city` return beyond basic address info?+
Each Store object includes street address, city, state, zip, phone number, geographic coordinates, operating hours, and a list of departments (e.g. pharmacy, deli, bakery). You need to supply the city in lowercase and the two-letter state abbreviation in lowercase — for example, city=atlanta and state=ga.
Are product prices guaranteed to reflect the price at my specific store?+
Prices in search_products are tied to the location_id you supply. Each product row returns regular_price and, if a promotion is running at that store, a promotional price with an expiry date. Prices reflect the state of the catalog at query time; availability and promotions can change without notice.
Does the API cover Kroger subsidiary banners like Fred Meyer, Ralph's, or Harris Teeter?+
The current endpoints cover stores listed under the Kroger grocery directory at kroger.com/stores/grocery. Subsidiary banner stores that maintain separate domain directories are not currently included. You can fork this API on Parse and revise it to add endpoints targeting those banner-specific store directories.
Can I retrieve a product's historical price trends or inventory stock levels?+
Not currently. The search_products endpoint returns the current regular_price and any active promotional price for a given store, but does not expose historical pricing data or in-store inventory counts. You can fork this API on Parse and revise it to add an endpoint that captures and stores price snapshots over time.
Page content last updated . Spec covers 4 endpoints from kroger.com.
Related APIs in Food DiningSee all →