Kroger Product & Price Scraper avatar

Kroger Product & Price Scraper

Pricing

from $5.00 / 1,000 dataset items

Go to Apify Store
Kroger Product & Price Scraper

Kroger Product & Price Scraper

Scrape Kroger.com grocery products — store-scoped prices, promos, unit price, stock level, ratings, brand, size, categories and images — by keyword, UPC, product URL, or the full catalog. Compare prices across multiple stores. Clean JSON for Sheets or BI. Pay only for the results you get.

Pricing

from $5.00 / 1,000 dataset items

Rating

0.0

(0)

Developer

axly

axly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Categories

Share

Extract Kroger.com grocery products — with store-specific prices, promotions, stock levels, ratings and images — by keyword, UPC, product URL, or the entire catalog. Kroger prices and availability change from store to store; this Actor lets you pin a store (or compare several) and returns clean, structured JSON ready for Sheets, BI or your app.

It renders each page through a real browser, so Kroger's Akamai anti-bot layer doesn't break your run — and it combines search and full product detail in one rich row.


Who uses this

  • Price intelligence & CPG analysts — monitor price, promo and unit price by store; compare the same SKU across multiple locations.
  • Grocery & deal/coupon sites — surface sale items, unit prices and stock at the shopper's local store.
  • App & SaaS developers — a stable JSON product feed with UPC lookup and whole-catalog enumeration.
  • Market researchers — assortment, brands, categories and ratings across Kroger's catalog.

What you get (output fields)

FieldTypeDescription
upc / gtin14stringKroger product identifiers
titlestringProduct name
brandstringBrand name
sizestringCustomer-facing size (e.g. 28 fl oz)
department / commodity / subCommoditystringKroger taxonomy
categoriesarrayCategory breadcrumb
regularPricenumberRegular price at the chosen store
promoPricenumberPromo/sale price when on sale
onSalebooleanWhether a promo price is active
priceDisplaystringPrice as shown (e.g. $5.99)
unitPricestringEquivalized unit price (e.g. $0.21/fl oz)
currencystringUSD
stockLevelstringHIGH / LOW / TEMPORARILY_OUT_OF_STOCK
availablenumberUnits available at the store
fulfillmentarraye.g. PICKUP, DELIVERY, IN_STORE
rating / reviewCountnumberAverage rating and review count
dietaryInformationarrayDietary claims (e.g. Gluten Free, Kosher, Organic)
countryOfOriginstringCountry of origin when available
weight / dimensionsstring / objectPack weight and dimensions when available
imageUrl / imagesstring / arrayProduct image URLs
urlstringProduct page URL
storeLocationIdstringStore the price/stock is for
sourceType / sourceValuestringHow the row was found (search, upc, product_url, catalog)
scrapedAtstringISO-8601 timestamp

Note: Kroger's public web catalog exposes dietary claims (Gluten Free, Organic, Kosher…), not a full nutrition-facts panel or ingredient list.

High-value use cases

  1. Multi-store price comparison — pass several storeLocationIds and watch how price, promo and stock differ by location for the same UPC.
  2. Promo & markdown tracking — schedule daily runs on a keyword or UPC set and diff promoPrice / onSale to catch deals and price changes.
  3. Assortment & share-of-shelf — search category keywords to map brands, sizes and ratings across the catalog.
  4. Catalog feed — enumerate the whole catalog (via the sitemap) to seed a product database, then keep it fresh with targeted UPC runs.
  5. Competitive/retail media analytics — combine price, unit price and stock signals into dashboards.

Input parameters

FieldTypeDefaultDescription
searchQueriesarrayKeywords to search (each returns ~24 full-detail products)
upcsarray13-digit UPCs to look up
productUrlsarrayhttps://www.kroger.com/p/<slug>/<upc> URLs
scrapeAllProductsbooleanfalseEnumerate the whole catalog via the sitemap
locationIdstring02100953Store whose prices/stock to use
storeLocationIdsarrayOptional list of stores to compare (overrides locationId)
maxItemsinteger100Stop after this many rows (store × product)
zyteApiKeystringOptional — use your own Zyte key

Provide at least one of searchQueries, upcs, productUrls, or scrapeAllProducts. Find a store's locationId in Kroger's store locator (the 8-digit store number).

Example input

{
"searchQueries": ["almond milk", "organic coffee"],
"storeLocationIds": ["02100953", "70600346"],
"maxItems": 100
}

Example output row

{
"upc": "0086102900012",
"title": "MALK Organic Vanilla Almond Milk - Dairy Free",
"brand": "Malk",
"size": "28 fl oz",
"categories": ["Natural & Organic", "Dairy"],
"regularPrice": 5.99,
"promoPrice": null,
"onSale": false,
"unitPrice": "$0.21/fl oz",
"currency": "USD",
"stockLevel": "LOW",
"available": 4,
"fulfillment": ["PICKUP"],
"rating": 4.5,
"reviewCount": 12,
"dietaryInformation": ["Gluten Free", "Kosher"],
"imageUrl": "https://www.kroger.com/product/images/xlarge/front/0086102900012",
"url": "https://www.kroger.com/p/malk-organic-vanilla-almond-milk-dairy-free/0086102900012",
"storeLocationId": "02100953",
"sourceType": "search",
"scrapedAt": "2026-08-21T12:00:00+00:00"
}

Scheduling & integrations

  • Schedule daily/hourly runs from the Apify Console to track prices and stock over time.
  • Webhooks fire on run completion — push new rows to your endpoint.
  • Export to JSON, CSV, Excel, or Google Sheets; or pull from the Dataset API.
  • Wire into Make, Zapier, n8n, or an S3 bucket for a hands-off pipeline.

Use it from an AI assistant (MCP)

This Actor runs great as a tool for AI agents via the Apify MCP server. Point your MCP-compatible client (Claude, Cursor, VS Code) at Apify, then ask it to run axlymxp/kroger-product-scraper with a searchQueries or upcs input and read the dataset back — perfect for on-demand grocery price lookups inside an agent workflow.

FAQ

Which store's prices do I get? The store set by locationId (or each of storeLocationIds). Kroger prices, promos and stock are store-scoped, so always set the store you care about.

How many products per search? Each keyword returns Kroger's first result page (~24 products) with full detail. Use upcs / productUrls for exact items, or scrapeAllProducts for the whole catalog.

How fresh is the data? Every row is fetched live at run time and stamped with scrapedAt. Schedule runs for time series.

Is it reliable against Kroger's anti-bot? Yes — pages are rendered through a real residential browser, which clears Akamai Bot Manager that blocks plain HTTP scrapers.

Do I need my own Zyte key? No. A key is built in; you can optionally supply zyteApiKey to use your own account.

Is this legal? The Actor collects only publicly available catalog data (no login, no personal data). You are responsible for complying with Kroger's Terms and applicable laws.

Nutrition facts / ingredients? The public web catalog exposes dietary claims (Organic, Gluten Free…) but not a full nutrition panel or ingredient list, so those aren't included.

Support. Issues are monitored and typically answered within a day — open an issue on the Actor page.