Kroger Product Search Scraper avatar

Kroger Product Search Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Kroger Product Search Scraper

Kroger Product Search Scraper

Scrape product listings from Kroger.com with advanced filtering by keyword, price, and availability. Collect 200+ items per query including prices, nutrition data, inventory status, and fulfillment options — perfect for price monitoring, market research, and competitive analysis.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Stealth mode

Stealth mode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Kroger Product Search Scraper: Extract Grocery Data at Scale


What Is Kroger.com?

Kroger is one of America's largest grocery retailers, offering hundreds of thousands of products across multiple categories — from dairy and produce to beauty and household items. Their product search functionality lets customers filter by price, availability, and promotional status. For analysts, retailers, and researchers, extracting this product data manually is inefficient. The Kroger Product Search Scraper automates the collection process, delivering structured product records with pricing, inventory, and nutritional information.


Overview

The Kroger Product Search Scraper extracts product listings from Kroger.com using two flexible input modes:

  • URL-based scraping — Directly scrape product category or search result pages by providing their URLs
  • Keyword & filter-based scraping — Search by keyword and apply filters (price range, availability, sale status) to build custom datasets

The scraper returns 12+ data fields per product, enabling use cases like:

  • Price monitoring — Track competitor pricing across product categories
  • Market research — Analyze product availability and promotional trends
  • Inventory intelligence — Monitor stock status and fulfillment options
  • Data aggregation — Feed product data into pricing platforms or comparison sites

Input Format & Configuration

The scraper supports two input modes:

Mode 1: Scrape by URLs

Provide direct links to Kroger product list pages:

{
"urls": [
"https://www.kroger.com/pl/milk-dairy-free-milk/02001",
"https://www.kroger.com/pl/organic-produce/02005"
],
"max_items_per_url": 200,
"ignore_url_failures": true
}
ParameterDescription
urlsArray of Kroger product list or category page URLs
max_items_per_urlMaximum products to extract per URL (e.g., 200)
ignore_url_failuresIf true, continues scraping even if some URLs fail

Mode 2: Scrape by Search Filters

Search for products using keywords and filtering options:

{
"keyword": "lip",
"sort_by": "popularity",
"price_range": "10-1000",
"on_sale": true,
"in_stock": true,
"page": 1,
"max_items_per_url": 200
}
ParameterDescriptionOptions
keywordSearch term (e.g., "lip", "milk", "coffee")Any product keyword
sort_bySort order for resultsrelevance, popularity, price, description
price_rangeFilter by price bandFormat: min-max (e.g., 10-1000)
on_saleShow only discounted itemstrue or false
in_stockShow only available itemstrue or false
pageStarting page numberInteger (e.g., 1, 2, 3)
max_items_per_urlMaximum results per pageInteger (e.g., 200)

Note: Leave urls empty when using search filters. The two modes are mutually exclusive.


Output Format & Data Fields

Sample output

{
"inventory": {
"locations": [
{
"location_id": "02100537",
"available": 0,
"stock_level": "TEMPORARILY_OUT_OF_STOCK"
}
],
"effective": {
"total": 0,
"available": 0
}
},
"item": {
"alcohol_flag": false,
"assortments": [
{
"assortment_key": "5b3c218b-e8ae-490b-8fd5-9dd2d7bcae6f",
"modality_enabled": true,
"modality_type": "PICKUP"
}
],
"bounce_flag": false,
"brand": {
"name": "Shamrock Farms",
"code": "4456"
},
"categories": [
{
"code": "76",
"name": "Health"
},
{
"code": "15",
"name": "Dairy"
}
],
"click_list_item": true,
"countries_of_origin": "UNITED STATES",
"customer_facing_size": "12 fl oz",
"dietary_information": [
"Vegetarian",
"Gluten Free",
"Kosher",
"Lactose Free",
"Pescatarian"
],
"description": "Rockin' Protein 30G Strawberry Protein Shake",
"dimensions": {
"height": "7.12 [in_i]",
"width": "4.64 [in_i]",
"length": "4.6 [in_i]"
},
"family_code": [
"159"
],
"family_tree": {
"commodity": {
"code": "060",
"name": "FLUID MILK PRODUCTS"
},
"department": {
"code": "05",
"name": "DAIRY"
},
"sub_commodity": {
"code": "34528",
"name": "SPECIALTY/LACTOSE FREE MILK"
}
},
"gluten_free_claim_name": "GLUTEN FREE CLAIM AND PRINTED ON PACKAGE",
"gtin14": "00197854449250",
"hazmat_flag": false,
"home_delivery_item": false,
"images": [
{
"perspective": "front",
"url": "https://www.kroger.com/product/images/xlarge/front/0019785444925",
"size": "xlarge"
},
{
"perspective": "front",
"url": "https://www.kroger.com/product/images/large/front/0019785444925",
"size": "large"
},
{
"perspective": "front",
"url": "https://www.kroger.com/product/images/medium/front/0019785444925",
"size": "medium"
},
{
"perspective": "front",
"url": "https://www.kroger.com/product/images/small/front/0019785444925",
"size": "small"
},
{
"perspective": "front",
"url": "https://www.kroger.com/product/images/thumbnail/front/0019785444925",
"size": "thumbnail"
}
],
"item_type_code": "0",
"kroger_delivery_item": false,
"live_naturally_eligible": false,
"main_image_perspective": "front",
"non_gmo": false,
"nutritional_claims": [
"Good Source of Fiber",
"High Protein",
"No Added Sugar"
],
"omni_channel_brand_name": "Shamrock Farms",
"organic_claim_name": "NO",
"privacy_restricted": false,
"privacy_restricted_states": [],
"prop65": {
"required": false
},
"prop65_info": {
"required": false
},
"receipt_description": "RCKN PRTN STR 30G",
"romance_description": "<p>Rockin’ Protein Strawberry 12oz 4pk packs 30 grams of high-quality protein and just 8 grams of net carbs into a deliciously smooth, strawberry flavor. Made with pure, fresh Shamrock Farms milk, it has no added sugars and is lactose-free—giving hard-worked muscles exactly what they need. Now available in a convenient 4-pack of 12oz bottles.</p><ul><li>30g of high quality protein</li><li>No added Sugar</li><li>Lactose Free</li><li>Ultra-Pasteurized</li><li>rBST Free</li><li>Good source of Fiber</li></ul>",
"sales_channel_code": "STORE",
"sales_channel_name": "Store",
"seo_description": "rockin-protein-30g-strawberry-protein-shake",
"share_link": "https://www.kroger.com/p/rockin-protein-30g-strawberry-protein-shake/0019785444925",
"snap_eligible": true,
"sold_in_store": false,
"tare_value": 0,
"tax_group_code": "PF050001",
"taxonomies": [
{
"commodity": {
"code": "010",
"name": "Sports & Adult Nutrition"
},
"department": {
"code": "22",
"name": "Health & Wellness"
},
"sub_commodity": {
"code": "00002",
"name": "Protein Shakes"
}
},
{
"commodity": {
"code": "001",
"name": "Milk & Dairy Free Milk"
},
"department": {
"code": "02",
"name": "Dairy & Eggs"
},
"sub_commodity": {
"code": "00016",
"name": "Lactose Free"
}
}
],
"temperature_indicator": "55688103655",
"temperature_indicator_name": "Refrigerated",
"upc": "0019785444925",
"verified": true,
"weight": "3.29 [lb_av]"
},
"location": {
"locations": [
{
"aisle": {
"description": "DAIRY",
"number": "100",
"side": "R"
},
"bay_in_aisle": "1",
"num_of_facings": "1",
"physical_shelf_number": "4",
"shelf_position_in_bay": "13"
}
]
},
"price": {
"display_template": "WhiteTag",
"order_by": "Unit",
"sell_by": "Unit",
"store_prices": {
"regular": {
"default_description": "$9.99",
"expiration_date": {
"value": "9999-12-31T00:00:00Z",
"timezone": "UTC"
},
"nfor": 1,
"nfor_price": "USD 9.99",
"unit_price": "USD 9.99",
"price": "USD 9.99",
"equivalized_unit_price": {
"amount": "20.81",
"denomination": "CENT",
"unit": "PER FLUID OUNCE"
},
"equivalized_unit_price_string": "$0.21/fl oz"
},
"source_location_id": "02100537",
"seller_id": "KR001",
"seller_name": "Kroger"
}
},
"nutrition": {
"allergens": "Contains Milk and its derivates. Free from Cereals and Their Derivatives,Lactose.",
"components": [
{
"footers": [],
"headers": [],
"footnotes": [],
"preparation_states": [
{
"description": "Unspecified",
"nutri_facts": [
{
"abbreviation": "mg",
"daily_value": "2",
"name": "Iron",
"value": "0.4"
},
{
"abbreviation": "mg",
"daily_value": "60",
"name": "Calcium",
"value": "800"
},
{
"abbreviation": "g",
"name": "Sugar",
"value": "8"
},
{
"abbreviation": "mg",
"daily_value": "10",
"name": "Magnesium",
"value": "45"
},
{
"abbreviation": "g",
"name": "Trans Fat",
"value": "0"
},
{
"abbreviation": "g",
"daily_value": "4",
"name": "Total Fat",
"value": "3.5"
},
{
"abbreviation": "kcal",
"name": "Calories",
"value": "190"
},
{
"abbreviation": "mg",
"daily_value": "13",
"name": "Sodium",
"value": "290"
},
{
"abbreviation": "mg",
"daily_value": "4",
"name": "Thiamin",
"value": "0.05"
},
{
"abbreviation": "g",
"daily_value": "10",
"name": "Saturated Fat",
"value": "2"
},
{
"abbreviation": "mg",
"daily_value": "40",
"name": "Phosphorus",
"value": "490"
},
{
"abbreviation": "g",
"daily_value": "11",
"name": "Dietary Fiber",
"value": "3"
},
{
"abbreviation": "mg",
"daily_value": "10",
"name": "Cholesterol",
"value": "30"
},
{
"abbreviation": "mcg",
"daily_value": "10",
"name": "Vitamin D",
"value": "2"
},
{
"abbreviation": "g",
"daily_value": "4",
"name": "Total Carbohydrate",
"value": "11"
},
{
"abbreviation": "g",
"name": "Added Sugar",
"value": "0"
},
{
"abbreviation": "mg",
"daily_value": "15",
"name": "Potassium",
"value": "600"
},
{
"abbreviation": "mcg",
"daily_value": "20",
"name": "Vitamin A",
"value": "160"
},
{
"abbreviation": "g",
"daily_value": "60",
"name": "Protein",
"value": "30"
}
],
"serving_size": "1 bottle (354mL)",
"servings_per_container": "4.0",
"html": "<!DOCTYPE html> <html lang='en'><head><meta charSet='UTF-8'/><meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'/><link href='https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,300;0,400;0,700;1,400&amp;display=swap' rel='stylesheet'/><style>@charset 'UTF-8';html { font-family: 'Nunito', sans-serif; line-height: 1.15; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;}.thin-line { border: 0.5px solid black; margin: 8px 2px; padding: 0px 4px;}.med-line { border: 2px solid black; margin: 8px 2px; padding: 0px 4px;}.thick-line { border: 4px solid black; margin: 8px 0px; padding: 0px 4px;}.NutritionLabel { padding: 0.5rem; display: flex; flex-direction: column; width: 100%;}.NutritionLabel--Title { font-size: 24px; font-weight: bold;}.NutritionLabel-ServingsPerContainer { font-size: 14px; margin-bottom: 4px;}.NutritionLabel-ServingSize { font-size: 14px; font-weight: bold; display: flex; justify-content: space-between;}.NutritionLabel-AmountPerServing { font-size: 12px; font-weight: bold; margin: 0px 0px 8px;}.NutritionLabel-Calories { display: flex; justify-content: space-between; font-size: 24px; font-weight: bold;}.NutritionLabel-DailyValueHeader { color: #707172; text-align: right; font-size: 16px; margin-bottom: 8px;}.NutritionLabel-Macros > .Nutrient:last-child > .thin-line { display: none;}.NutritionLabel-Micros > .Nutrient:last-child > .thin-line { display: none;}.Nutrient > * { font-size: 14px;}.NutrientDetail { display: flex; justify-content: space-between;}.NutrientDetail-TitleAndAmount { display: flex; flex-wrap: wrap;}.NutrientDetail-Title { padding-right: 4px;}.NutrientDetail-Amount { color: #707172;}.NutrientDetail-Title.is-macronutrient { font-weight: 700;}.NutrientDetail-Title.is-macronutrient.is-subnutrient { font-weight: normal; padding-left: 1rem;}.NutrientDetail-DailyValue.is-macronutrient { font-weight: 700;}.NutritionLabel-DailyValueDisclaimer { display: flex; font-size: 10px; color: #707172;}</style></head><body><section><div class='NutritionLabel'><div class='NutritionLabel--Title'>Nutrition Facts</div><hr class='med-line' aria-hidden='true'/><div class='NutritionLabel-ServingsPerContainer'>4.0 Servings Per Container</div><div class='NutritionLabel-ServingSize'><span>Serving size</span><span>1 bottle (354mL)</span></div><hr class='thick-line' aria-hidden='true'/><div class='NutritionLabel-AmountPerServing'>Amount per serving</div><div class='NutritionLabel-Calories'><span>Calories</span><span>190</span></div><hr class='med-line' aria-hidden='true'/><div class='NutritionLabel-DailyValueHeader'>% Daily value*</div><div class='NutritionLabel-Macros'><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-macronutrient '>Total Fat</span><span class='NutrientDetail-Amount'>3.5g</span></span><span class='NutrientDetail-DailyValue is-macronutrient '>4%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-macronutrient is-subnutrient'>Saturated Fat</span><span class='NutrientDetail-Amount'>2g</span></span><span class='NutrientDetail-DailyValue is-macronutrient is-subnutrient'>10%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-macronutrient is-subnutrient'>Trans Fat</span><span class='NutrientDetail-Amount'>0g</span></span><span class='NutrientDetail-DailyValue is-macronutrient is-subnutrient'></span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-macronutrient '>Cholesterol</span><span class='NutrientDetail-Amount'>30mg</span></span><span class='NutrientDetail-DailyValue is-macronutrient '>10%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-macronutrient '>Sodium</span><span class='NutrientDetail-Amount'>290mg</span></span><span class='NutrientDetail-DailyValue is-macronutrient '>13%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-macronutrient '>Total Carbohydrate</span><span class='NutrientDetail-Amount'>11g</span></span><span class='NutrientDetail-DailyValue is-macronutrient '>4%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-macronutrient is-subnutrient'>Dietary Fiber</span><span class='NutrientDetail-Amount'>3g</span></span><span class='NutrientDetail-DailyValue is-macronutrient is-subnutrient'>11%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-macronutrient is-subnutrient'>Sugar</span><span class='NutrientDetail-Amount'>8g</span></span><span class='NutrientDetail-DailyValue is-macronutrient is-subnutrient'></span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-macronutrient is-subnutrient'>Added Sugar</span><span class='NutrientDetail-Amount'>0g</span></span><span class='NutrientDetail-DailyValue is-macronutrient is-subnutrient'></span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-macronutrient '>Protein</span><span class='NutrientDetail-Amount'>30g</span></span><span class='NutrientDetail-DailyValue is-macronutrient '>60%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div></div><div><hr class='thick-line' aria-hidden='true'/><div class='NutritionLabel-Micros'><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-micronutrient '>Calcium</span><span class='NutrientDetail-Amount'>800mg</span></span><span class='NutrientDetail-DailyValue is-micronutrient '>60%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-micronutrient '>Iron</span><span class='NutrientDetail-Amount'>0.4mg</span></span><span class='NutrientDetail-DailyValue is-micronutrient '>2%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-micronutrient '>Magnesium</span><span class='NutrientDetail-Amount'>45mg</span></span><span class='NutrientDetail-DailyValue is-micronutrient '>10%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-micronutrient '>Phosphorus</span><span class='NutrientDetail-Amount'>490mg</span></span><span class='NutrientDetail-DailyValue is-micronutrient '>40%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-micronutrient '>Potassium</span><span class='NutrientDetail-Amount'>600mg</span></span><span class='NutrientDetail-DailyValue is-micronutrient '>15%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-micronutrient '>Thiamin</span><span class='NutrientDetail-Amount'>0.05mg</span></span><span class='NutrientDetail-DailyValue is-micronutrient '>4%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-micronutrient '>Vitamin A</span><span class='NutrientDetail-Amount'>160mcg</span></span><span class='NutrientDetail-DailyValue is-micronutrient '>20%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div><div class='Nutrient'><div class='NutrientDetail'><span class='NutrientDetail-TitleAndAmount'><span class='NutrientDetail-Title is-micronutrient '>Vitamin D</span><span class='NutrientDetail-Amount'>2mcg</span></span><span class='NutrientDetail-DailyValue is-micronutrient '>10%</span></div><hr class='thin-line' aria-hidden='true'/><div class='NutrientDetail-SubNutrients'></div></div></div></div><hr class='med-line' aria-hidden='true'/><div class='NutritionLabel-DailyValueDisclaimer'>*The % Daily Value (DV) tells you how much a nutrient in a serving of food contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.</div></div></section></body></html>"
}
],
"ingredients": "Water, Skim Milk, Milk Protein Concentrate, Cream, Soluble Corn Fiber, Contains Less than 1% of: Artificial Flavor, Salt, Sodium Hexametaphosphate, Dipotassium Phosphate, Sucralose, Red Beet Powder (for Color), Carrageenan, Lactase Enzyme, Vitamin A Palmitate and Vitamin D3."
}
],
"gluten_free": true,
"kosher": true,
"live_naturally": false,
"non_gmo": false,
"organic": false,
"product_warning": "Notice: Use this product as a food supplement only. Do not use for weight reduction. Do not microwave in bottle."
},
"id": "0019785444925",
"source_locations": [
{
"id": "02100537",
"item_locations": [
{
"aisle_description": "DAIRY",
"aisle_number": "100",
"aisle_side": "R",
"area_id": "XXX",
"area_type_code": "BW",
"area_type_description": "Back Wall",
"bay_number": "012",
"bay_number_in_aisle": "1",
"data_source": "JDA_TRUE_FLOOR_PLAN",
"department_code": "DR",
"department_description": "Dairy",
"fixture_number": "4",
"item_depth": "5.00000",
"item_height": "7.13",
"item_width": "5.00",
"number_of_depth_facings": "4",
"number_of_facings": "1",
"number_of_vertical_facings": "2",
"orientation_code": "X",
"pog_name": "D021_L00000_D01_C060_V395_F020_MX",
"position": "13",
"shelf_number": "4",
"shelf_position_in_bay": "13",
"sub_area_id": "XXX",
"sub_area_type_code": "XX",
"sub_area_type_description": "XX"
}
],
"modality_availabilities": [
{
"availability": true,
"modality_type": "DELIVERY"
},
{
"availability": true,
"modality_type": "IN_STORE"
},
{
"availability": true,
"modality_type": "PICKUP"
},
{
"availability": false,
"modality_type": "SHIP"
}
],
"prices": [
{
"display_template": "WhiteTag",
"effective_date": {
"timezone": "Z",
"value": "2026-08-19T13:52:31.742Z"
},
"expiration_date": {
"timezone": "Z",
"value": "9999-12-31T00:00:00Z"
},
"order_by": "UNIT",
"regular": {
"default_description": "$9.99",
"equivalized_unit_price": {
"amount": "20.81",
"denomination": "CENT",
"unit": "PER FLUID OUNCE"
},
"n_for": {
"count": 1,
"price": "USD 9.99"
},
"price": "USD 9.99"
},
"sell_by": "UNIT",
"seller_id": "KR001",
"seller_name": "Kroger",
"women_infant_child_flg": "N"
}
],
"restrictions": {
"shippable": false
},
"inventory": [
{
"available_to_sell": 0,
"seller_id": "KR001",
"seller_name": "Kroger",
"stock_level": "TEMPORARILY_OUT_OF_STOCK",
"included": {
"projections": []
}
}
],
"laf": [
{
"modality": {
"type": "PICKUP",
"handoff_location": {
"store_id": "02100537",
"facility_id": "4000"
},
"handoff_address": {
"address": {
"address_lines": [
"605 W 4Th St"
],
"city_town": "Rolla",
"name": "Rolla",
"postal_code": "65401",
"state_province": "MO",
"residential": false,
"country_code": "US"
},
"location": {
"lat": 37.9467154,
"lng": -91.7762367
}
}
},
"sources": [
{
"store_id": "02100537",
"facility_id": "4000"
}
],
"assortment_keys": [
"5b3c218b-e8ae-490b-8fd5-9dd2d7bcae6f"
],
"listing_keys": [
"02100537"
]
}
],
"source_id": "02100537",
"seller_id": "KR001",
"seller_name": "Kroger"
}
],
"items_v1": {
"product": {
"family_tree": {
"commodity": {
"code": "060",
"name": "FLUID MILK PRODUCTS"
},
"primary_department": {
"code": "01",
"name": "GROCERY",
"recap_department": {
"code": "01",
"department": {
"code": "05",
"name": "DAIRY"
},
"name": "GROCERY"
}
},
"sub_commodity": {
"code": "34528",
"name": "SPECIALTY/LACTOSE FREE MILK"
}
},
"id": "2005059189",
"nutritional_rating": "48",
"variant_group_id": "6000000000127672"
}
},
"laf": [
{
"assortment_keys": [
"5b3c218b-e8ae-490b-8fd5-9dd2d7bcae6f"
],
"listing_keys": [
"02100537"
],
"modality": {
"handoff_address": {
"address": {
"address_lines": [
"605 W 4Th St"
],
"city_town": "Rolla",
"country_code": "US",
"postal_code": "65401",
"state_province": "MO"
}
},
"handoff_location": {
"facility_id": "4000",
"store_id": "02100537"
},
"type": "PICKUP"
},
"price_availabilities": [
{
"id": "02100537",
"lookup": "LISTING_KEY",
"store_id": "02100537"
}
],
"sources": [
{
"facility_id": "4000",
"store_id": "02100537"
}
]
}
],
"inventory_summaries": [
{
"modality_type": "PICKUP",
"details": [
{
"source_id": "02100537",
"available_to_sell": 0,
"stock_level": "TEMPORARILY_OUT_OF_STOCK"
}
],
"available_to_sell": 0,
"stock_level": "TEMPORARILY_OUT_OF_STOCK"
}
],
"fulfillment_options": [],
"fulfillment_summaries": [
{
"type": "PICKUP",
"regular": {
"price": "USD 9.99",
"display_template": "WhiteTag",
"price_per_unit_string": "12 fl oz",
"equivalized_unit_price": {
"amount": "20.81",
"denomination": "CENT",
"unit": "PER FLUID OUNCE"
},
"equivalized_unit_price_string": "$0.21/fl oz"
},
"availability": {
"sellable": false,
"inventory_level": "TEMPORARILY_OUT_OF_STOCK",
"unavailability_message": "Item Out of Stock"
},
"max_order_quantity": 0
},
{
"type": "DELIVERY",
"regular": {
"price": "USD 9.99",
"display_template": "WhiteTag",
"price_per_unit_string": "12 fl oz",
"equivalized_unit_price": {
"amount": "20.81",
"denomination": "CENT",
"unit": "PER FLUID OUNCE"
},
"equivalized_unit_price_string": "$0.21/fl oz"
},
"availability": {
"sellable": false,
"unavailability_message": "Unavailable"
}
},
{
"type": "IN_STORE",
"regular": {
"price": "USD 9.99",
"display_template": "WhiteTag",
"price_per_unit_string": "12 fl oz",
"equivalized_unit_price": {
"amount": "20.81",
"denomination": "CENT",
"unit": "PER FLUID OUNCE"
},
"equivalized_unit_price_string": "$0.21/fl oz"
},
"availability": {
"sellable": false,
"unavailability_message": "Unavailable"
}
}
]
}

Each product record contains comprehensive data across 12 primary fields:

Core Product Data

FieldDescription & Use
IDUnique Kroger product identifier for database tracking and deduplication
ItemProduct name, brand, and variant information as displayed on Kroger.com
LocationStore location(s) where the product is available or unavailable
PriceCurrent retail price, including any active discounts or promotions
NutritionNutritional information (calories, macros, ingredients, allergens) for food products

Inventory & Availability

FieldDescription & Use
InventoryReal-time stock status (in stock, out of stock, limited availability)
Inventory SummariesAggregated inventory across multiple store locations
In StockBoolean flag indicating product availability for purchase

Advanced Fields

FieldDescription & Use
Source LocationsStore IDs and geographic locations carrying the product
Fulfillment OptionsAvailable delivery methods (in-store pickup, ship to home, delivery)
Fulfillment SummariesDelivery timelines and availability by fulfillment channel
Items V1Legacy or variant product data linked to the main item
LAFProduct classification or category metadata (internal Kroger taxonomy)

How to Use the Scraper

Step 1: Choose Your Input Mode

Using URLs:

  1. Navigate to Kroger.com and find a product category or search results page you want to scrape
  2. Copy the full URL (e.g., https://www.kroger.com/pl/milk-dairy-free-milk/02001)
  3. Paste into the urls array

Using Keywords:

  1. Enter a search term in the keyword field (e.g., "organic milk", "cereal", "coffee")
  2. (Optional) Add filters: price range, sale status, stock status
  3. Set sort_by to your preferred order (relevance, popularity, price, alphabetical)

Step 2: Configure General Settings

  • Set max_items_per_url to control volume (recommended: 50–200 for balanced speed/completeness)
  • Enable ignore_url_failures for batch runs to prevent interruptions
  • Keep proxy settings as default (RESIDENTIAL, US) for reliable access

Step 3: Run & Export

  1. Start the scraper and monitor the run log for progress
  2. Download results as JSON, CSV, or Excel
  3. Load data into your analytics platform, spreadsheet, or database

Troubleshooting:

  • If results are sparse, verify keywords match actual Kroger products
  • Adjust price_range to match typical product pricing (e.g., "0-50" for groceries)
  • If blocked, ensure proxy is enabled and try again

Use Cases & Business Value

Competitive Intelligence: Monitor competitor pricing on bestselling products and spot promotional patterns across categories.

Market Research: Identify product trends, brand performance, and consumer demand by analyzing Kroger's product catalog over time.

Price Optimization: Feed real-time Kroger prices into your pricing engine to maintain competitiveness in the grocery vertical.

Inventory Analysis: Track product availability across locations to understand supply chain efficiency and demand patterns.

Product Data Aggregation: Build your own grocery price comparison or aggregator platform with comprehensive Kroger product data.

The Kroger Product Search Scraper transforms time-consuming manual research into automated, scalable data collection — delivering insights that inform strategy and reduce operational overhead.


Conclusion

The Kroger Product Search Scraper offers a powerful, flexible way to extract product data from one of America's largest grocery retailers. Whether you're monitoring prices, analyzing trends, or building a data-driven application, this scraper delivers structured, ready-to-use product records with minimal setup. Start scraping today and unlock competitive insights in the grocery space.