Kroger Product Scraper ๐Ÿ›’ avatar

Kroger Product Scraper ๐Ÿ›’

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Kroger Product Scraper ๐Ÿ›’

Kroger Product Scraper ๐Ÿ›’

Extract Kroger product data at scale, including product names, prices, sale prices, brands, categories, descriptions, images, availability, and product URLs. Ideal for grocery price monitoring, retail analytics, product research, market intelligence, and datasets.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does Kroger Product Scraper do?

Kroger Product Scraper collects structured product listing data from Kroger. Enter a Kroger search URL or a keyword such as cream, choose the result limit and ordering, and receive product names, brands, UPCs, search ranking, grouping, and other listing metadata without opening individual product pages.

The Actor is useful for grocery market research, assortment analysis, product catalog discovery, and recurring competitive research. Results are saved to an Apify dataset and can be downloaded as JSON, CSV, Excel, XML, or connected to another workflow.

Why use Kroger Product Scraper?

  • Listing-first collection - Get product records from Kroger's search listing without requesting every product page.
  • Search metadata - Capture UPCs, descriptions, brands, ranking, relevance, grouping, sub-commodity codes, and sponsored placement information.
  • Search flexibility - Start with a Kroger search URL, a product URL, or a keyword. Product URLs are resolved through a UPC listing query.
  • Controlled collection - Set the maximum number of products and search pages for small checks or larger datasets.
  • Resilient runs - Use a direct request first and a browser-backed listing request only when Kroger's edge blocks direct transport.
  • Automation-ready output - Use Apify schedules, webhooks, dataset APIs, and exports for repeatable workflows.

What data can you extract from Kroger?

FieldDescription
product_idKroger product identifier from the listing UPC.
upcProduct UPC or GTIN.
nameProduct description shown in the listing.
brandBrand name shown in the listing.
search_rankProduct rank in the search response.
relevance_scoreSearch relevance score when available.
sponsoredWhether the listing has a sponsored placement.
group_idKroger listing group identifier when available.
sub_commodity_codesKroger sub-commodity codes from the listing.
personalizedPersonalization flag from the listing response.
placement_idSponsored placement identifier when available.
listing_dataComplete raw product record returned by listing.
listing_metadataPagination and search metadata for the listing.
location_idKroger location used for the listing request.
source_urlSearch or product URL supplied to the Actor.
scraped_atUTC extraction timestamp.

Kroger's listing response does not reliably include product-detail fields such as current price, inventory, nutrition, images, or ratings. The Actor intentionally does not request those detail records in search runs, which avoids the blocked and failure-prone product-detail step.

How to use Kroger Product Scraper

  1. Open the Actor in Apify Console.
  2. Enter a Kroger search URL or a keyword.
  3. Select the sort order and result limits.
  4. Run the Actor and open the dataset preview.
  5. Export the data or connect the dataset to your workflow.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoSample Kroger search URLKroger search or product page. URL query values are used when present.
keywordStringNoNot set in the sample inputSearch term used when no URL is supplied.
sortByStringNorelevancerelevance, popularity, price_low_to_high, price_high_to_low, or alphabetical.
results_wantedIntegerNo20Maximum number of products to save.
max_pagesIntegerNo3Maximum number of 24-product search pages.
proxyConfigurationObjectNoApify Residential proxyOptional Apify Proxy settings; Residential is used by default for the HTTP fallback.

Use either startUrl or keyword. When startUrl is supplied, its query parameters are used. The Actor applies its internal default store context (02100537) for listing results and fulfillment filtering. Product URLs are resolved through a UPC search in the listing endpoint.

Usage Examples

Search by URL

Collect 20 products from the supplied Kroger search page:

{
"startUrl": "https://www.kroger.com/search?query=cream&searchType=default_search",
"results_wanted": 20,
"max_pages": 3
}

Search by keyword and ordering

Collect products matching a keyword in the selected listing order:

{
"keyword": "olive oil",
"sortBy": "price_low_to_high",
"results_wanted": 50,
"max_pages": 5
}

Resolve one product URL through the listing

Find the matching listing record from a direct Kroger product URL without opening the product page:

{
"startUrl": "https://www.kroger.com/p/kroger-original-sour-cream/0001111046235",
"results_wanted": 1
}

Use Apify Proxy

Enable a proxy for a scheduled or higher-volume workflow:

{
"keyword": "cereal",
"results_wanted": 40,
"max_pages": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

{
"product_id": "0001111046235",
"upc": "0001111046235",
"name": "Krogerยฎ Original Sour Cream",
"brand": "Kroger",
"search_rank": 1,
"relevance_score": 1,
"sponsored": false,
"group_id": "6000000000129598",
"sub_commodity_codes": ["0200600001"],
"personalized": false,
"location_id": "02100537",
"source_url": "https://www.kroger.com/search?query=cream&searchType=default_search",
"scraped_at": "2026-08-22T10:00:00.000Z"
}

Tips for Best Results

  • Start with results_wanted: 20 to confirm the output before larger runs.
  • Listing metadata uses the Actor's internal default Kroger location (02100537).
  • Keep max_pages aligned with the result limit. Each search page can contain up to 24 products.
  • Product-detail fields such as prices, images, nutrition, and inventory are intentionally not requested by this listing-first actor.
  • Use schedules and compare datasets over time for assortment and search-rank monitoring.

Integrations

  • Apify Dataset API - Read results programmatically from your application.
  • Google Sheets - Export product listing and catalog data for review.
  • Webhooks - Trigger downstream processing after a run completes.
  • Make and Zapier - Connect product data to no-code workflows.
  • CSV, Excel, JSON, and XML - Download the dataset in common formats.

Frequently Asked Questions

Can I use a Kroger product URL instead of a search URL?

Yes. Provide a direct product URL in startUrl; the Actor extracts its UPC and looks it up through the listing endpoint without opening the product page.

Does the listing include store context?

The listing request uses the Actor's internal default Kroger location (02100537) and matching fulfillment context. Custom store selection is not currently exposed as an input.

Can I sort products by price?

The Actor passes Kroger's supported price ordering values to the listing request, but price values themselves are not requested from product-detail records.

Why is a field missing for one product?

Kroger does not publish every listing field for every product. The Actor omits empty values from each dataset item so the output contains only values returned by the listing response.

Can I schedule recurring runs?

Yes. Apify schedules can run the Actor hourly, daily, weekly, or on a custom interval for price and assortment monitoring.

You are responsible for complying with Kroger's terms, applicable laws, robots directives, rate limits, and any restrictions that apply to your intended use. Collect only data you are permitted to access and use responsibly.

Support

For issues or feature requests, use the Issues tab on the Actor page and include the input example and run ID when possible.

This Actor is intended for legitimate collection of publicly available product information. Users are responsible for following Kroger's terms of use, applicable laws, privacy requirements, and reasonable request limits.