H-E-B Scraper: Store Prices, Deals, Aisles & Stock by ZIP
Pricing
from $4.80 / 1,000 products
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
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
1
Monthly active users
6 days ago
Last modified
Categories
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):
| Store | City | Shelf price | Curbside price | Aisle |
|---|---|---|---|---|
| SoCo H-E-B (#754) | Austin | $3.81 | $4.00 | In Dairy on the Back Wall, A25 |
| Buffalo Heights H-E-B (#744) | Houston | $3.46 | $3.63 | In Dairy on the Back Wall |
| South Flores Market H-E-B (#718) | San Antonio | $4.07 | $4.27 | In Dairy on the Back Wall |
| H-E-B Irving (#817) | Irving | $2.39 | $2.51 | In 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}
| Field | What it does |
|---|---|
searchTerms | Words to search for, as a shopper would type them. Each term is searched at every store. |
categoryUrls | Category pages such as https://www.heb.com/category/shop/dairy-eggs/milk/490016/490053. |
productUrls | Product pages, or H-E-B product numbers such as 314125. Each is checked at every store. |
zipCodes | Texas ZIP codes. Each gives the nearest H-E-B stores within 50 miles. |
storesPerZip | How many of the nearest stores to use for each ZIP code (default 1, up to 10). |
storeIds | H-E-B store numbers, for example 754 (SoCo H-E-B, Austin). Shown on every row as storeId. |
maxItemsPerQuery | Products per search term or category at each store (default 100). |
maxItems | Products in total (default 1,000; 0 means no limit, your spending limit still applies). |
onSaleOnly | Only products on sale, in the weekly ad, with a price cut or with a digital coupon. |
includeDetails | Open each product's page for the aisle number and coupon details (default off; one extra request per product). |
includeFailures | Add a free row for each ZIP code without a store, empty search or unreadable product (default on). |
maxConcurrency, proxyConfiguration | Jobs 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) ..."}
priceis the store's shelf price today: the sale price when there is one, otherwise the regular price.curbsidePriceis the same product ordered for curbside pickup or delivery, which H-E-B prices slightly higher.unitPriceis 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).promotionTextnames the promotion: "In the weekly ad", "Price cut", or the sale and regular price.couponAvailableis true when a digital coupon applies; with product details on,couponslists each one's text and expiry date. Coupons must be clipped in an H-E-B account to be used.stockLevelis heb.com's stock status for the store (IN_STOCK,OUT_OF_STOCK); out-of-stock products still have their price.requestedZipis the ZIP code you gave that led to the store, andstoreDistanceMileshow far the store is from it.- Failure rows have
errorset andcharged: false. The key-value store recordRUN-SUMMARYlists 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_TOKENwith 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 ApifyClientclient = 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.