H-E-B Scraper: Store Prices, Deals, Aisles & Stock by ZIP avatar

H-E-B Scraper: Store Prices, Deals, Aisles & Stock by ZIP

Pricing

from $4.80 / 1,000 products

Go to Apify Store
H-E-B Scraper: Store Prices, Deals, Aisles & Stock by ZIP

H-E-B Scraper: Store Prices, Deals, Aisles & Stock by ZIP

Scrape H-E-B (heb.com) products and prices for any Texas store by ZIP code or store number: shelf, sale, curbside and unit prices, weekly ad and digital coupon flags, aisle location, stock, UPC, size and SNAP eligibility. Search terms, categories or product URLs. Pay per product.

Pricing

from $4.80 / 1,000 products

Rating

0.0

(0)

Developer

Zaiq

Zaiq

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

6 days ago

Last modified

Share

H-E-B Scraper: Store Prices, Deals, Aisles and Stock by ZIP Code

Get H-E-B products with the prices of the Texas stores you choose: the shelf price, sale price, curbside pickup price and unit price, weekly ad, price cut and digital coupon flags (with coupon details), the aisle, stock, UPC, size, category and SNAP eligibility. Choose stores by ZIP code or store number; H-E-B prices differ from store to store, and every row says which store its price belongs to.

What it does

  • Finds the nearest H-E-B stores to each ZIP code you give (H-E-B, H-E-B plus!, Central Market, Joe V's Smart Shop and Mi Tienda), as many per ZIP code as you ask for, or uses the store numbers you give.
  • Runs your search terms, category pages and product URLs at every store, 60 products a page, following pages until your limit.
  • Returns one row per product per store: shelf price, sale price, curbside price, a precise unit price, UPC, brand, size, aisle location, stock status, weekly ad and price cut flags, digital coupon flag, category path, image, product URL, SNAP eligibility and the product description.
  • With product details on, also returns the aisle number (for example "Aisle 10, A8") and each digital coupon's text and expiry date.
  • Deals only: returns just the products on sale, in the weekly ad, with a price cut or with a digital coupon.
  • The same product found twice at one store (for example by two search terms) is returned and charged once.

The data comes from what heb.com shows for each store. No login and no H-E-B account are used.

Who uses it

  • Price monitoring and retail analysts following H-E-B's prices, price cuts and coupons across Texas.
  • Consumer brands checking shelf price, promotions and stock of their products store by store.
  • Shopping, budgeting and price comparison apps that need store-level prices matched by UPC.
  • Researchers comparing grocery prices between Texas cities.

Example

H-E-B Reduced Fat 2% Milk, 1 gallon (UPC 041220069392), at four stores, from a run on 4 October 2026 (ZIP codes 78704, 77002, 78205 and 75201):

StoreCityShelf priceCurbside priceAisle
SoCo H-E-B (#754)Austin$3.81$4.00In Dairy on the Back Wall, A25
Buffalo Heights H-E-B (#744)Houston$3.46$3.63In Dairy on the Back Wall
South Flores Market H-E-B (#718)San Antonio$4.07$4.27In Dairy on the Back Wall
H-E-B Irving (#817)Irving$2.39$2.51In Dairy on the Back Wall

The same gallon of milk cost 70% more in San Antonio than in Irving that day.

Other test runs on 4 October 2026:

  • 350 products for the search term "cheese" at South Flores Market H-E-B, San Antonio, in 28 seconds: 22 on sale, 16 with a digital coupon, 6 out of stock at that store.
  • Five ZIP codes with two stores each: eight stores in Austin, Houston, San Antonio, Irving and Plano. The fifth ZIP code, in New York, came back as a free row saying there is no H-E-B store near it.
  • Deals only with product details, SoCo H-E-B, Austin: cereals with coupons such as "$1 off" or "Buy this, get that free", each with its coupon text, expiry date and aisle number.

Input

{
"searchTerms": ["milk", "tortillas"],
"categoryUrls": ["https://www.heb.com/category/shop/dairy-eggs/milk/490016/490053"],
"productUrls": ["https://www.heb.com/product-detail/h-e-b-reduced-fat-2-milk-1-gal/314125"],
"zipCodes": ["78704", "77002"],
"storesPerZip": 1,
"maxItemsPerQuery": 100,
"maxItems": 1000,
"onSaleOnly": false,
"includeDetails": false
}
FieldWhat it does
searchTermsWords to search for, as a shopper would type them. Each term is searched at every store.
categoryUrlsCategory pages such as https://www.heb.com/category/shop/dairy-eggs/milk/490016/490053.
productUrlsProduct pages, or H-E-B product numbers such as 314125. Each is checked at every store.
zipCodesTexas ZIP codes. Each gives the nearest H-E-B stores within 50 miles.
storesPerZipHow many of the nearest stores to use for each ZIP code (default 1, up to 10).
storeIdsH-E-B store numbers, for example 754 (SoCo H-E-B, Austin). Shown on every row as storeId.
maxItemsPerQueryProducts per search term or category at each store (default 100).
maxItemsProducts in total (default 1,000; 0 means no limit, your spending limit still applies).
onSaleOnlyOnly products on sale, in the weekly ad, with a price cut or with a digital coupon.
includeDetailsOpen each product's page for the aisle number and coupon details (default off; one extra request per product).
includeFailuresAdd a free row for each ZIP code without a store, empty search or unreadable product (default on).
maxConcurrency, proxyConfigurationJobs at once (default 4) and the proxy (US residential by default).

Output

One row per product per store. A row from the run above, with the description shortened:

{
"retailer": "H-E-B",
"banner": "H-E-B",
"storeId": "754",
"storeName": "SoCo H-E-B",
"storeAddress": "2400 S. Congress Ave.",
"storeCity": "Austin",
"storeState": "TX",
"storeZip": "78704",
"requestedZip": "78704",
"storeDistanceMiles": 1.0,
"productId": "314125",
"upc": "041220069392",
"sku": "4122006939",
"name": "H-E-B Reduced Fat 2% Milk",
"brand": "H-E-B",
"size": "1 gal",
"sizeQuantity": 1,
"sizeUnit": "gal",
"price": 3.81,
"regularPrice": 3.81,
"salePrice": null,
"onSale": false,
"currency": "USD",
"unitPrice": 0.0298,
"unitPriceUnit": "fl oz",
"unitPriceComputed": true,
"promotionText": null,
"couponAvailable": false,
"coupons": [],
"inStock": true,
"stockLevel": "IN_STOCK",
"aisle": "In Dairy on the Back Wall, A25",
"category": "Milk",
"categoryPath": ["Dairy & eggs", "Milk"],
"imageUrl": "https://images.heb.com/is/image/HEBGrocery/prd-medium/000314125.jpg",
"productUrl": "https://www.heb.com/product-detail/h-e-b-reduced-fat-2-milk/314125",
"snapEligible": true,
"soldByWeight": false,
"source": "https://www.heb.com/product-detail/h-e-b-reduced-fat-2-milk-1-gal/314125",
"sourceType": "product",
"scrapedAt": "2026-10-04T16:01:27Z",
"charged": true,
"curbsidePrice": 4.0,
"onWeeklyAd": false,
"ownBrand": true,
"description": "Made in Texas by farmers who pledge no artificial growth hormones (rBST) ..."
}
  • price is the store's shelf price today: the sale price when there is one, otherwise the regular price. curbsidePrice is the same product ordered for curbside pickup or delivery, which H-E-B prices slightly higher.
  • unitPrice is worked out from the price and the size (per fluid ounce, ounce or count; unitPriceComputed: true). Where the size is unclear, heb.com's own unit price is used instead, which it rounds to the cent (unitPriceComputed: false).
  • promotionText names the promotion: "In the weekly ad", "Price cut", or the sale and regular price. couponAvailable is true when a digital coupon applies; with product details on, coupons lists each one's text and expiry date. Coupons must be clipped in an H-E-B account to be used.
  • stockLevel is heb.com's stock status for the store (IN_STOCK, OUT_OF_STOCK); out-of-stock products still have their price.
  • requestedZip is the ZIP code you gave that led to the store, and storeDistanceMiles how far the store is from it.
  • Failure rows have error set and charged: false. The key-value store record RUN-SUMMARY lists the stores used, failures, stop reason and traffic.

Where the prices come from

Each price is the price heb.com shows for that store at the time in scrapedAt, for shopping in the store; curbside prices are in curbsidePrice. Prices differ between stores (see the example above) and change with weekly ads, so always use the store columns with the price. Coupon savings are not taken off price.

Use it from code, automations and AI agents

  • API: run it and get the results in one call: POST https://api.apify.com/v2/acts/zaiq~heb-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN with the input as JSON. The API tab on this page has ready-made Python, JavaScript and cURL examples.
  • Python (pip install apify-client):
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("zaiq/heb-scraper").call(run_input={'searchTerms': ['milk'], 'zipCodes': ['78704'], 'maxItemsPerQuery': 20})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
  • No code: connect it to Google Sheets, Zapier, Make or n8n from the Integrations tab, schedule runs in Apify Console, and get a webhook when a run finishes.
  • AI agents (MCP): add it as a tool to Claude, Cursor or any MCP client through Apify's MCP server: https://mcp.apify.com?tools=zaiq/heb-scraper.

Pricing

You pay only for product rows: $0.006 per product ($6 per 1,000), Apify platform usage included. Each run also has a start fee of $0.01 per GB of memory ($0.02 at the default 2 GB), which covers opening a real browser to pass H-E-B's bot check. Failure rows, duplicates and retries are free. Your spending limit for the run is respected: the run stops cleanly before going over it.

Limits

  • H-E-B stores are in Texas; a ZIP code with no store within 50 miles returns a free row saying so.
  • heb.com is protected against bots. Each run opens heb.com once in a real browser (about 10 seconds) before reading any data, and again every ten minutes or when the site starts refusing an address. If heb.com refuses every address tried, the affected searches come back as free failure rows.
  • Product details add one request per product and make runs slower; leave them off for price monitoring at scale.
  • No ratings or reviews: heb.com does not show them with prices.

FAQ

Do I need an H-E-B account? No. Nothing is signed in to, and coupons are reported, not clipped.

How do I find a store number? Run once with a ZIP code: every row has storeId, storeName and the address.

Why do curbside and shelf prices differ? H-E-B charges a little more for curbside pickup and delivery; both are returned.

Can I scrape every product in a category? Yes: give the category URL and set the per-query and total limits high enough. Each page holds 60 products.