US Grocery Price Comparator avatar

US Grocery Price Comparator

Pricing

from $0.0133 / comparison row

Go to Apify Store
US Grocery Price Comparator

US Grocery Price Comparator

Compare grocery staple prices across 11 major US chains (Walmart, Target, Kroger & affiliates), normalized to unit prices ($/fl oz, $/oz, $/lb, $/count). Features store-brand equivalence, promo vs. regular price separation, private-label margin metrics, and a Whole-Basket Optimizer.

Pricing

from $0.0133 / comparison row

Rating

0.0

(0)

Developer

Hypebridge

Hypebridge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

What does US Grocery Price Comparator do?

US Grocery Price Comparator compares grocery staple prices across 11 US supermarket chains (Walmart, Target, Kroger, Fred Meyer, Ralphs, Harris Teeter, King Soopers, Fry's, Mariano's, Smith's and QFC) at the stores nearest your ZIP code. It matches equivalent products (Great Value ≈ Good & Gather ≈ Kroger), converts every price to a unit price ($/fl oz, $/oz, $/lb, $/count, $/gal), separates sale prices from shelf prices, and works out the cheapest way to fill a whole basket.

Compare local grocery prices by ZIP code

Most price comparisons use one national online price. This Actor prices every store from one ZIP code you choose, so every number comes from a real store in the same neighbourhood.

  • One input, every store: set zipCode and Walmart, Target and each Kroger-family banner resolve to the nearest store to that ZIP.
  • See exactly which store you are comparing: each row carries storeLocations with the store ID, name, address and distance behind every price.
  • Prices really change by ZIP: Walmart whole milk, 1 gallon, was $2.72 near Cincinnati (45202) and $3.83 near Portland, OR (97201).
  • No wrong-region prices: a banner with no store within 25 miles of your ZIP (for example Fred Meyer in Ohio, or Ralphs outside Southern California) is skipped and shown as null in storeLocations. It is never filled in from another region.
  • Pick a ZIP that has your chains. Kroger-family banners are regional: Fred Meyer and QFC in the Pacific Northwest, Ralphs in Southern California, King Soopers in Colorado, Fry's in Arizona, Smith's in the Mountain West, Mariano's in Chicagoland, Harris Teeter in the Mid-Atlantic and Carolinas. Walmart and Target cover nearly every ZIP.

Why compare grocery prices?

  • Shoppers and families: find the cheapest store for your weekly basket, or whether splitting the trip saves money.
  • Price and inflation tracking: run the same basket on a schedule (USDA Thrifty Food Plan or a CPI-style core basket) for any metro area.
  • Retail and CPG analysts: measure how much cheaper a store brand is than the national brand at the same store, and how prices spread across chains in a market.

What data can it extract?

FieldTypeDescription
queryStringThe staple you searched for
tierStringstore_brand, national_brand or organic
zipCodeStringZIP code every store was priced for
storeLocationsObjectPer store: storeId, name, address, city, state, ZIP (and distanceMiles for Walmart and Target). null = no store near the ZIP
walmart, target, kroger, …ObjectMatched product with title, brand, stickerPrice, regularPrice, promoPrice, isOnSale, discountPercent, unitPrice, unit, inStock, url, imageUrl, sku; upc for Kroger banners
cheapestUnitStore / cheapestUnitPriceString / NumberCheapest store per unit and its price
priceSpreadPercentNumberHow much more the most expensive store costs
privateLabelSavingsPercentNumberHow much cheaper the house brand is than the national brand
statusStringOK (2+ stores matched), PARTIAL, NO_MATCH or CHILD_FAILED
market, currency, priceBasisStringAlways US, USD and local_store_zip

A whole-basket summary is saved as BASKET_SUMMARY in the Key-Value Store: total per store, item coverage, the single-store winner, and the split-basket optimum with the exact dollars saved by shopping at several stores.

How to compare grocery prices near you

  1. Create a free Apify account if you don't have one.
  2. Open US Grocery Price Comparator and click Try for free.
  3. Enter your ZIP code.
  4. Add grocery items (for example whole milk 1 gallon) or pick a Preset Staple Basket.
  5. Choose the stores to compare and click Start. Download results from the Dataset tab (JSON, CSV, Excel, HTML) and the basket report from the Key-Value Store.

How much will it cost?

Pay-per-event pricing:

EventCostWhen it is charged
comparison-row$0.02 ($0.0133 on the Gold plan)Only when a row compares 2 or more stores (status: "OK"). PARTIAL, NO_MATCH and CHILD_FAILED rows are free
Actor start$0.01 ($0.005 on Gold)Once per run

Looking up Walmart and Target prices also runs the Walmart Product & Local Store Scraper and Target Product & Local Store Scraper on your account, one run per item per store. At free-plan rates and 8 candidates per store that is about $0.10 per item for Walmart and $0.07 for Target, less on paid plans. A 15-item basket across Walmart and Target is roughly $2.50 in lookups. Kroger-family banners cost $0 in lookups. maxChildSpendUsd caps lookup spend; items past the cap are skipped.

Input

ParameterTypeDefaultDescription
zipCodeString"45202"5-digit US ZIP code. Every store is priced at the nearest store to it. Replaces the old krogerZipCode and fredMeyerZipCode, which are now ignored
queriesArray[]Grocery items to compare, up to 50 per run
presetBasketString"none"usda_thrifty_15, cpi_core_25, keto_10 or baking_essentials_8; merged with queries
storesArray["walmart","target","kroger"]Any of walmart, target, kroger, fred_meyer, ralphs, harris_teeter, king_soopers, frys, marianos, smiths, qfc
candidatesPerStoreInteger8Search results inspected per store (3–12). Higher finds more store-brand matches
matchModeString"all_tiers"all_tiers, private_label_equivalent or exact_brand_only
maxChildSpendUsdNumber5.0Cap on Walmart/Target lookup spend for the run (max 20)

Example input

{
"zipCode": "97201",
"queries": ["whole milk 1 gallon", "large white eggs 12 ct"],
"stores": ["walmart", "target", "fred_meyer"],
"candidatesPerStore": 8
}

More examples

A full USDA basket for a Denver household, Kroger-family banners only (no lookup cost):

{
"zipCode": "80203",
"presetBasket": "usda_thrifty_15",
"stores": ["king_soopers", "kroger"]
}

Store-brand versus national-brand check for one item in Phoenix:

{
"zipCode": "85004",
"queries": ["salted butter 16 oz"],
"stores": ["walmart", "target", "frys"],
"matchMode": "private_label_equivalent",
"maxChildSpendUsd": 1
}

Output

Saved to the Dataset tab, one row per item and comparison tier. Download as JSON, CSV, Excel or HTML.

Sample output

{
"query": "whole milk 1 gallon",
"tier": "store_brand",
"market": "US",
"currency": "USD",
"priceBasis": "local_store_zip",
"zipCode": "45202",
"storeLocations": {
"walmart": { "name": "Ft Wright Supercenter", "city": "Ft Wright", "state": "KY", "distanceMiles": 4.94 },
"target": { "name": "UC Calhoun St", "city": "Cincinnati", "state": "OH", "distanceMiles": 1.55 },
"kroger": { "name": "Kroger - Kroger On the Rhine", "city": "Cincinnati", "state": "OH" }
},
"walmart": { "title": "Great Value Whole Vitamin D Milk, Gallon", "stickerPrice": 2.72, "unit": "gal", "unitPrice": 2.72, "matchType": "PRIVATE_LABEL_EQUIVALENT" },
"target": { "title": "Vitamin D Whole Milk - 1gal - Good & Gather", "stickerPrice": 2.89, "unit": "gal", "unitPrice": 2.89, "matchType": "PRIVATE_LABEL_EQUIVALENT" },
"kroger": { "title": "Kroger Vitamin D Whole Milk Gallon", "stickerPrice": 3.29, "unit": "gal", "unitPrice": 3.29, "matchType": "PRIVATE_LABEL_EQUIVALENT" },
"cheapestUnitStore": "walmart",
"cheapestUnitPrice": 2.72,
"priceSpreadPercent": 20.96,
"status": "OK"
}

Tips

  • Use a ZIP where your chains operate. If a banner comes back null in storeLocations, it has no store within 25 miles of that ZIP.
  • Run the same ZIP and basket on a schedule to track local grocery inflation over time.
  • inStock is null when a store does not report stock; those items are still compared and shown as unknown. Items a store reports as out of stock are excluded.
  • auditRejections explains every skipped candidate. UNPRICED:PRICE_STORE_MISMATCH means Target only had a price from a different store than your local one, so it was left out rather than shown.
  • Walmart and Target listings do not include UPCs, so upc is only filled for Kroger-family banners.
  • Sale prices are shown in promoPrice and discountPercent; they are empty when the matched product is not on sale.
  • Start with 3–5 items to check cost before running a 25-item basket.

Limitations

  • One ZIP code per run; run the Actor once per city to compare cities.
  • US stores only, in US dollars and US units.
  • Prices are current online shelf prices for the resolved store; in-store promotions that are not listed online are not included.
  • The nearest store is chosen automatically. Walmart's nearest store is a Supercenter, which can be a few miles farther than the closest smaller Walmart.
  • Matching uses the top search results per store (candidatesPerStore), so a product ranked lower than that can be missed.

FAQ

Are the prices local to my ZIP code?

Yes. Walmart, Target and Kroger-family prices come from the nearest store to your zipCode, and storeLocations tells you which store. Prices are the store's current online shelf price for that location.

Why is a store missing from my results?

Kroger-family banners are regional. If a banner has no store within 25 miles of your ZIP, it is skipped and null in storeLocations. Try a ZIP in that banner's region.

Can I compare stores in different cities?

One run uses one ZIP. To compare cities, run the Actor once per ZIP.

This Actor only extracts publicly available product and price data. Always check each site's Terms of Service and make sure you have a legitimate purpose.

Does it support stores outside the US?

No. It is US-only (USD, US customary units). Items naming non-US retailers or currencies, such as Tesco or EUR, are skipped with a warning.

Support

  • Bugs or feature requests: Issues tab
  • Programmatic access: API tab

Disclaimer: Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.