chemistwarehouse.co.nz APIchemistwarehouse.co.nz ↗
Access Chemist Warehouse NZ product listings, prices, ingredients, ratings, and store locations via a structured REST API with 5 endpoints.
curl -X GET 'https://api.parse.bot/scraper/b2758f67-3cb9-4184-ab37-e3262ad57493/search_products?query=vitamin+c' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword. Returns paginated product listings with prices, ratings, and thumbnails from the Chemist Warehouse NZ catalog.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-indexed) |
| size | integer | Number of results per page |
| sort | string | Sort option for results |
| queryrequired | string | Search keyword (e.g. 'vitamin c', 'panadol', 'sunscreen') |
{
"type": "object",
"fields": {
"page": "integer current page number",
"size": "integer page size",
"items": "array of product objects with id, name, price_cw_nz, rrp_cw_nz, bv_star_rating, bv_total_votes, producturl, _thumburl",
"total": "integer total number of matching products"
},
"sample": {
"data": {
"page": 1,
"size": 48,
"items": [
{
"id": "96405",
"name": "Healtheries Vitamin C 1,000mg + Prebiotics & Probiotics 80 Tablets",
"_thumburl": "https://static.chemistwarehouse.co.nz/ams/media/pi/96405/2DF_200.jpg",
"rrp_cw_nz": "30.5",
"price_cw_nz": "18.99",
"bv_star_rating": "4.4737",
"bv_total_votes": "38"
}
],
"total": 222
},
"status": "success"
}
}About the chemistwarehouse.co.nz API
The Chemist Warehouse NZ API provides structured access to the New Zealand pharmacy catalog across 5 endpoints, covering product search, category browsing, detailed product data, and store locations. The get_product_details endpoint returns fields like ingredients, directions, warnings, and multiple product images, while get_store_locations can resolve stores by suburb, postcode, or lat/lng coordinates.
Product Search and Category Browsing
The search_products endpoint accepts a query string (e.g. 'vitamin c', 'panadol') and returns paginated results including price_cw_nz, rrp_cw_nz, bv_star_rating, bv_total_votes, and a _thumburl thumbnail per product. Pagination is controlled via page and size parameters, and results can be ordered using the sort parameter. The total field in the response tells you how many matching products exist across all pages.
To browse by category rather than keyword, use get_category_list first — it returns each category's name, url, and category_id. Pass that category_id to get_category_products to retrieve paginated listings in the same shape as search results. This two-step pattern lets you iterate across the full catalog without needing a keyword.
Product Detail
The get_product_details endpoint takes a product_id (obtained from search or category listing responses) and returns a richer data shape: description, ingredients, directions, warnings, general_info, a formatted price string, and an images array of full-size image URLs. Fields that the product page does not populate are returned as null rather than omitted, so you can handle them consistently. An optional slug parameter supports cleaner URL construction but does not affect the data returned.
Store Locations
The get_store_locations endpoint accepts either a search_text value (city, suburb, or postcode such as 'Auckland' or '1010') or a lat/lng coordinate pair. It returns matching stores with name, address, suburb, postcode, phone, email, latitude, and longitude. Results are sorted by distance from the input location.
- Compare
price_cw_nzvsrrp_cw_nzacross a category to identify discounted products - Build a medication finder that surfaces
warningsanddirectionsfor a given drug name - Aggregate
bv_star_ratingandbv_total_votesacross supplement categories for review analysis - Construct a store locator feature using
get_store_locationswith device GPS coordinates - Export full ingredient lists via
get_product_detailsfor nutritional or allergen comparison tools - Index the entire NZ pharmacy catalog by walking
get_category_listand paginatingget_category_products - Monitor price changes for specific product IDs by polling
get_product_detailsover time
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Chemist Warehouse NZ have an official developer API?+
What does `get_product_details` return that the listing endpoints don't?+
search_products, get_category_products) return summary fields: id, name, price_cw_nz, rrp_cw_nz, bv_star_rating, bv_total_votes, producturl, and _thumburl. The get_product_details endpoint adds description, ingredients, directions, warnings, general_info, a formatted price string, and a full images array. Fields not present on the product page are returned as null.Can I search for products within a specific price range?+
search_products and get_category_products endpoints do not currently accept price-range filter parameters — filtering is limited to query, sort, page, and size. You can retrieve paginated results and apply price filtering client-side using the price_cw_nz field. You can also fork this API on Parse and revise it to add a price-filter parameter if the underlying data supports it.