HealthWarehouse Scraper (Cheap)
Pricing
from $3.99 / 1,000 results
HealthWarehouse Scraper (Cheap)
HealthWarehouse scraper that extracts product data by category, including price, stock, SKU, and URLs, so ecommerce and research teams can automate catalog tracking and monitor pharmacy market changes with a clean dataset output.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Data API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Share
HealthWarehouse Catalog Scraper
Pricing and stock data on HealthWarehouse changes constantly, and clicking through category pages to track it by hand does not scale. This scraper pulls a whole HealthWarehouse category into clean rows: pick a category, optionally add a few search keywords, and you get back each product's name, SKU, lowest price, stock status, and image links. Run it once for a snapshot or schedule it to watch prices over time.

What you get
Every product in the category becomes one row with a predictable shape, so the data drops straight into a sheet or database. Each row carries:
- Identity —
itemId,itemName,itemSku,categorySlug - Pricing and availability —
lowestPrice,defaultQuantity,stockStatus - Classification —
activeFlag,visibilityLevel,pharmacyItem,specialOtcItem,taxClassRef - Links —
itemUrl,imageLink,thumbnailLink - Run metadata —
collectedAt, pluserrorMessageif a fetch fails
Quick start
- Click Try for free and open the input form.
- Choose a Catalog category to scrape.
- Optionally type a few keywords into Search terms to narrow the results.
- Set a Results limit and pick a proxy type, then press Start.
- When the run ends, export to JSON, CSV, Excel, or XML.

Use cases
- Price monitoring — track the lowest price on diabetic supplies, OTC meds, or personal care items over time
- Stock tracking — watch
stockStatusacross a category to catch restocks and shortages early - Competitive pricing — benchmark HealthWarehouse prices against your own catalog or other pharmacies
- Catalog sync — pull SKUs, names, and images to seed or refresh a product database
- Market research — size up category breadth and pricing spread in the online pharmacy space
Input
| Field | Type | Required | Description |
|---|---|---|---|
categorySlug | string | Yes | The HealthWarehouse category to pull products from. Choose from the dropdown. Default over-the-counter. |
searchTerms | array of strings | No | Keywords, one per line, searched inside the chosen category. Leave empty to return the full category. |
stateCode | string | No | Two-letter US state code passed to the API. Blank skips state filtering. |
resultsLimit | integer | No | Most products to collect in one run. Default 50. |
batchSize | integer | No | Products requested per API call. Default 24. |
runTimeoutSeconds | integer | No | Hard cut-off for the whole run, to control spend. Default 360. |
requestTimeoutSeconds | integer | No | Wait per API call before giving up. Default 45. |
proxyConfiguration | object | No | Proxies used for requests. Defaults to datacenter; switch to Residential if you get blocked. |
Example input
{"categorySlug": "over-the-counter","searchTerms": ["ibuprofen","glucose test strips"],"stateCode": "","resultsLimit": 50,"batchSize": 24,"runTimeoutSeconds": 360,"requestTimeoutSeconds": 45,"proxyConfiguration": {"useApifyProxy": true}}
Output
Each product returns one row. Fields with no value from the API are left out of that row, so the dataset stays tidy. A row that fails carries categorySlug, errorMessage, and collectedAt.
Example output
{"categorySlug": "over-the-counter","itemId": 48213,"itemName": "Advil Ibuprofen 200 mg Tablets, 100 Count","itemSku": "HW-ADV-200-100","activeFlag": true,"visibilityLevel": 4,"pharmacyItem": false,"specialOtcItem": true,"taxClassRef": 2,"itemUrl": "https://www.healthwarehouse.com/advil-ibuprofen-200mg-tablets-100ct.html","imageLink": "https://www.healthwarehouse.com/media/catalog/product/a/d/advil-200.jpg","thumbnailLink": "https://www.healthwarehouse.com/media/catalog/product/a/d/advil-200-thumb.jpg","lowestPrice": 12.49,"defaultQuantity": 1,"stockStatus": true,"collectedAt": "2026-06-29T12:00:00.000000+00:00","errorMessage": null}
Output fields
| Field | Type | Description |
|---|---|---|
categorySlug | string | Category slug requested in the input |
itemId | integer | Unique product identifier |
itemName | string | Display name of the product |
itemSku | string | Stock-keeping unit for the product |
activeFlag | boolean | True while the product is active |
visibilityLevel | integer | Visibility level reported by the API |
pharmacyItem | boolean | True when the product is a pharmacy item |
specialOtcItem | boolean | True when tagged special over-the-counter |
taxClassRef | integer | Reference to the product's tax class |
itemUrl | string | Link to the product detail page |
imageLink | string | URL of the main product image |
thumbnailLink | string | URL of the product thumbnail |
lowestPrice | number | Lowest listed price for the product |
defaultQuantity | number | Default order quantity |
stockStatus | boolean | True when the product is in stock |
collectedAt | string | ISO 8601 timestamp of when the row was captured |
errorMessage | string | Reason a record failed; null on success |
Tips for best results
- Start small. Set
resultsLimitto 20–50 on your first run so you can confirm the fields fit your pipeline before pulling a full category. - Use search terms to focus. Adding keywords trims a broad category down to the products you actually care about.
- Raise the timeouts on residential proxies. If slower proxy tiers cause dropped calls, bump
requestTimeoutSecondstoward 60 and giverunTimeoutSecondsmore room. - Tune
batchSizefor big categories. A larger batch means fewer API calls; keep it within the 1–100 range. - Switch to Residential if datacenter IPs get blocked. Datacenter is fine for most runs, but residential helps when requests start failing.
How can I use HealthWarehouse product data?
How can I use the HealthWarehouse Catalog Scraper to monitor prices?
Pick a category, set a resultsLimit, and run the scraper on a schedule. Each run records lowestPrice and stockStatus with a collectedAt timestamp, so you can chart how prices and availability move over days or weeks across the whole category.
How can I export HealthWarehouse product listings to a spreadsheet?
Run the scraper, then export the dataset as CSV or Excel. Every product comes back as one row with itemName, itemSku, lowestPrice, and itemUrl, so the file is ready to filter, sort, or pivot the moment it lands.
How can I pull HealthWarehouse SKUs and images for a product database?
Scrape a category and keep itemId, itemSku, itemName, imageLink, and thumbnailLink. That gives you the identifiers and media you need to seed a catalog or keep an existing one in sync, without copying anything by hand.
How can I research the online pharmacy market with this scraper?
Run several categories and compare the spread of prices, stock levels, and pharmacy-versus-OTC tagging. The pharmacyItem and specialOtcItem flags plus lowestPrice give you a quick read on how a category is priced and stocked.
Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. 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.
You can also read Apify's blog post on the legality of web scraping.
Support
Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.