Kroger

Kroger regular and sale price, stock at one store, rating and review count, by UPC, about 29,000 UPCs per credit. Search by keyword, about 400,000 results per credit. Prices are those of one store, and the answer says which.

Embed
Preview of the card
<a href="https://scrapelyserp.com/docs/kroger-products"><img src="https://scrapelyserp.com/docs/_api/public/orgs/affc5b0f-d3c2-423a-8143-9d10db5736ae/spaces/981e6275-da3f-446c-82de-889f59c83b6f/pages/295a1671-0bbd-45e5-88f0-59412b6d5a15/social-card.svg?v=3e7ae33eec8b" alt="Kroger" width="600" height="315"></a>

Kroger regular and sale price, stock at one store, rating and review count, by UPC, about 29,000 UPCs per credit. Search by keyword, about 400,000 results per credit. Prices are those of one store, and the answer says which.

At a glance

Property

Value

platform

kroger

Item id

The 13-digit UPC at the end of a Kroger product link, https://www.kroger.com/p/kroger-2-reduced-fat-milk/0001111041700 (0001111041700), leading zeros kept. A 12-digit UPC is padded for you, and a pasted product link is reduced to its UPC. Search returns the same id.

Marketplaces

Live: us.

Tier

standard (the default), about 29,000 UPCs per credit (an estimate until production traffic measures it)

Ids per call

25. Each UPC is looked up on its own.

Typical call

5–30 s for 25 UPCs

Search

GET /v1/structured/kroger/search by keyword, 24 results per request, about 400,000 results per credit.

Prices belong to one store

Kroger prices each product for a store, and the store is the one Kroger picks for the request, near where the request is served from. Every answer reports it as kroger.store (locationId, banner, city, state). Two calls can be priced at two different stores, and so can differ. You cannot choose the store: a search can take a zip that steers the request to that area, which picks the region, not an exact store, so read kroger.store for the one that was priced.

Lookups cost more than search

A UPC lookup is a request of its own, so it costs more per product than most stores: about 29,000 per credit, against about 400,000 per credit for search results. To get prices for many products, search is the cheaper way (24 products per request, with price, stock and rating included). Keep UPC lookups for the products you already know.

Search returns 24 results and has no paging or sort

A search returns the 24 best matches. page and sort are refused. total_results is Kroger's own count for the query (it stops at 1,000). To see further, add brand with the exact brand name as a result's brand writes it (Horizon Organic; capital letters matter): each brand is another 24. A brand that matches nothing is an empty list.

Example

curl -X POST "https://api.scrapelyserp.com/v1/products" \
  -H "Authorization: Bearer $SCRAPELY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"kroger","ids":["0001600012254","0000000094011"]}'

Full reference → POST /v1/products

Kroger fields

Besides the common fields, each result carries a kroger object.

Field

Description

price

The regular price of one unit, in dollars, at the store. null when Kroger gives none (a product sold out at the store can have no price). A "10 for $10.00" deal keeps price at 1.00: see kroger.multiBuy.

kroger.promo

A sale at the store: price, expiresAt, and conditional with the condition in Kroger's words. conditional: true means the sale needs a purchase (for example "Save $2 each when you buy 3 or more"), so it is not a plain sale price. null when there is no sale.

kroger.multiBuy

count and the price of all of them (4 for $5.00). null when there is none.

kroger.unitPrice, size

Kroger's own price-per-unit text ($0.33/oz, which can be off) and the size as printed.

kroger.soldBy

unit or weight. For loose produce sold by weight, price is Kroger's estimate for one item ("about $1.16 each").

availability, kroger.pickupSellable

Kroger's pickup flag at the store. Delivery and in-store flags are not reported.

kroger.stockLevel, available

The store's stock level as Kroger writes it (HIGH, LOW, TEMPORARILY_OUT_OF_STOCK) and the units it counts. null when Kroger gives none, which is the case for loose produce.

kroger.rating, reviewsCount

Kroger's own average rating and number of reviews; null (never 0) when a product has none.

kroger.brand, variantGroupId

The brand (null for loose produce), and an id that sizes of one product share.

kroger.store

The store priced: locationId, banner, city, state.

url, images

The product link and the front picture. See the note on links below.

Not given

Nutrition, descriptions, shelf locations, coupons, and delivery prices.

Product links

The url is the link Kroger gives for the product (…/p/<name>/<UPC>). Kroger's own pages block automated requests, so we did not open them: check a link in a browser.

Statuses on Kroger

  • not_found: Kroger lists no such UPC at the store that answered. A product that one store does not stock can be found when asked again from another.

  • unavailable: no usable answer after retries. Not charged; ask again.

Updated