HealthWarehouse Scraper avatar

HealthWarehouse Scraper

Pricing

from $3.90 / 1,000 results

Go to Apify Store
HealthWarehouse Scraper

HealthWarehouse Scraper

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.90 / 1,000 results

Rating

0.0

(0)

Developer

Kawsar

Kawsar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

HealthWarehouse Products Scraper: Extract Product Data from HealthWarehouse Categories

This HealthWarehouse scraper collects product data from healthwarehouse.com through the public GraphQL endpoint used by the storefront. Use it to scrape product names, SKUs, prices, stock status, and product URLs by category so you can monitor catalog changes, automate price tracking, and run pharmacy market research without manual exports.

Use cases

  • Price monitoring: track product price shifts in a target HealthWarehouse category over time
  • Stock tracking: watch in-stock and out-of-stock changes for diabetic supplies, OTC items, or prescription-related listings
  • Catalog intelligence: collect structured product metadata for competitor analysis and assortment comparisons
  • Data pipelines: automate product scraping and send dataset output into BI tools or Sheets
  • Market research: capture category-level snapshots for pharmacy and healthcare ecommerce analysis

Input

ParameterTypeDefaultDescription
categorystringdiabetic-suppliesOne category selected from the validated dropdown list of working categoryUrl slugs.
searchInputsarray of strings[]Optional multiple search queries, one per line, executed inside the selected category.
statestring""Optional US state code used by the API.
maxItemsinteger100Maximum number of products to collect per category, hard-capped at 1000.
pageSizeinteger24Number of products requested per API page.
timeoutSecsinteger300Total run timeout to limit runtime costs.
requestTimeoutSecsinteger30Timeout for each HTTP request.
proxyConfigurationobjectDatacenter (Anywhere)Proxy type and location to use for requests.

Example input

{
"category": "diabetic-supplies",
"searchInputs": ["sildenafil", "lisinopril"],
"state": "",
"maxItems": 50,
"pageSize": 24,
"timeoutSecs": 300,
"requestTimeoutSecs": 30,
"proxyConfiguration": { "useApifyProxy": true }
}

What data does this actor extract?

The actor stores each product in the dataset with normalized fields:

{
"category": "diabetic-supplies",
"productId": 28003,
"name": "Anipryl 15mg Tablets- 30ct",
"sku": "*V*70047",
"isActive": true,
"visibility": 0,
"pharmacy": true,
"specialOtc": false,
"taxClassId": null,
"url": "https://www.healthwarehouse.com/anipryl-15mg-tablets-30ct",
"imageUrl": "https://d3pq5rjvq8yvv1.cloudfront.net/products/Anipryl-15mg.png",
"thumbnailUrl": "https://d3pq5rjvq8yvv1.cloudfront.net/products/Anipryl-15mg.png",
"minPrice": 100,
"defaultQty": null,
"inStock": true,
"scrapedAt": "2026-05-05T11:00:00+00:00"
}
FieldTypeDescription
categorystringInput category slug used for this record.
productIdintegerProduct identifier returned by HealthWarehouse API.
namestringProduct title.
skustringProduct SKU.
isActivebooleanProduct active status flag.
visibilityintegerVisibility code from API.
pharmacybooleanPharmacy product flag.
specialOtcbooleanSpecial OTC flag.
taxClassIdinteger/nullTax class ID.
urlstringProduct page URL.
imageUrlstringMain product image URL.
thumbnailUrlstringProduct thumbnail URL.
minPricenumber/nullMinimum product price.
defaultQtynumber/nullDefault quantity value.
inStockbooleanCurrent stock status.
scrapedAtstringUTC timestamp for when item was collected.
errorstringError details when a request fails.

How it works

  1. Uses the selected category from the dropdown.
  2. Runs each query in searchInputs separately, or runs once with an empty query if no search input is provided.
  3. Sends GraphQL requests with pagination (endCursor, hasNextPage).
  4. Applies maxItems per search query.
  5. Pushes product rows to the dataset and writes an error row if one query fails.
  6. If category mode fails on page 1, retries with fallback search mode.

FAQ

Can I run multiple search terms in one run?
Yes. Add multiple entries in searchInputs, one per line.

Which slug should I use for Pharmacy, Home Medical, and Pet Supplies?
Use products for pharmacy-wide browsing, home-medical for Home Medical, and personal-care for Pet Supplies fallback coverage.

Why are many category slugs missing from dropdown?
The dropdown now includes only slugs that returned valid GraphQL category results during endpoint validation. This avoids empty runs and FAILED_SEARCH_PRODUCTS errors.

Does it support proxies?
Yes. Use proxyConfiguration to select Datacenter, Residential, or your own proxy setup.

How many products can I collect?
Set maxItems up to 1000 per run to keep the actor cost-controlled and predictable.

Can I use this for SEO and product research workflows?
Yes. The output is structured for analysis, scheduling, and integration with external tools.

Integrations

Connect this actor with Apify integrations to send product data to Google Sheets, Airbyte, webhooks, Slack, Make, Zapier, or custom endpoints.

If you need a reliable HealthWarehouse scraper for category-level product extraction and automation, this actor gives you a clean dataset that is ready for price tracking and market analysis.