Repco Catalogue
Browse a materialised catalogue of ~137,000 Repco products (not a live proxy) and filter by category, brand, price, and freight flags — without spending scrape credits. Catalogue prices and freight are a national reference captured in Brisbane; a collection scrape re-captures them live at the customer postcode.
Browse Category Tree
POSTAPI Key or Session Token
https://multicartapi.com/api/v1/schedules/repco/categories/Return the full Repco category tree with a product count on every node.
curl "https://multicartapi.com/api/v1/schedules/repco/categories/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'Request body
{}Response
{"code": 200, "data": {"total": 14, "categories": [{"slug": "oils-fluids", "name": "Oils & Fluids", "top_category": "Oils & Fluids", "product_count": 4210, "children": [{"slug": "oils-fluids/engine-oil", "name": "Engine Oil", "top_category": "Oils & Fluids", "product_count": 980, "children": []}]}]}, "status": 1}Notes
Roots and children are ordered by descending product_count. Each slug is a full path; pass it as category_slug to the products endpoint to filter to that node and all descendants.
List Products in Category
POSTAPI Key or Session Token
https://multicartapi.com/api/v1/schedules/repco/categories/products/Return paginated products from the stored catalogue, filtered by category, brand, price, and freight flags.
curl "https://multicartapi.com/api/v1/schedules/repco/categories/products/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"category_slug": "oils-fluids/engine-oil", "brand": ["Castrol", "Penrite"], "price_max_cents": 12000, "in_stock": "true", "sort": "price_asc", "page": 1, "page_size": 50}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
category_slug | string | Optional | Category slug, e.g. oils-fluids/engine-oil. Matches the slug and all descendant slugs. |
brand | string or array | Optional | A single brand or an array of brands, e.g. ["Castrol", "Penrite"]. |
price_min_cents | integer | Optional | Minimum price in cents. |
price_max_cents | integer | Optional | Maximum price in cents. |
big_and_bulky | string | Optional | exclude (drop bulky, keep unknown) or only (bulky only). |
in_stock | string | Optional | true to return only in-stock products. |
sort | string | Optional | One of: price_asc, price_desc, newest, name. |
page | integer | Optional | 1-indexed page number. |
page_size | integer | Optional | Products per page. Range 1-200. |
Request body
{"category_slug": "oils-fluids/engine-oil", "brand": ["Castrol", "Penrite"], "price_max_cents": 12000, "in_stock": "true", "sort": "price_asc", "page": 1, "page_size": 50}Response
{"code": 200, "data": {"total": 132, "page": 1, "page_size": 50, "total_pages": 3, "products": [{"product_code": "A5685428", "title": "Castrol Transmax ATF Dex/Merc Multi-Vehicle 20L", "brand": "Castrol", "gtin13": "9310084033544", "top_category": "Oils & Fluids", "category_slug": "oils-fluids/automatic-transmission-fluid", "price_value": 207.0, "auto_club_price_value": 165.6, "freight_value": 0.0, "freight_ref_postcode": "4500", "big_and_bulky": true, "dangerous_goods": false, "in_store_only": true, "in_stock": true, "delivery_eligible": false, "pickup_eligible": true, "image": "https://www.repco.com.au/...jpg", "url": "https://www.repco.com.au/en/p/...A5685428"}]}, "status": 1}Notes
Prices are returned in dollars. auto_club_price_value is the member (RACQ / Auto Club) price. freight_value is a national reference captured in Brisbane.
Create Collection from Filter
POSTAPI Key or Session Token
https://multicartapi.com/api/v1/schedules/repco/categories/create_collection/Resolve a catalogue filter (or explicit codes) into a running Repco collection at your postcode. Charges 1 credit per product.
curl "https://multicartapi.com/api/v1/schedules/repco/categories/create_collection/" \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Castrol engine oil", "customer_postcode": "4500", "category_slug": "oils-fluids/engine-oil", "brand": "Castrol", "limit": 500}'Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Required | Collection name. |
customer_postcode | string | Required | Postcode value or Zipcode row ID. Freight and price are captured live here when the collection runs. |
limit | integer | Optional | Hard cap on the number of products (maximum 5000). |
selected_codes | array | Optional | Explicit product codes. When present, overrides the filter (truncated to limit). |
category_slug | string | Optional | Same filter params as List Products (category, brand, price, big_and_bulky, in_stock). Ignored if selected_codes is supplied. |
Request body
{"name": "Castrol engine oil", "customer_postcode": "4500", "category_slug": "oils-fluids/engine-oil", "brand": "Castrol", "limit": 500}Response
{"code": 200, "data": {"collection_id": 42110, "name": "Castrol engine oil", "product_count": 42, "applied_cap": false}, "status": 1}Notes
applied_cap: true means the match set exceeded limit and was truncated — nothing is silently dropped. Insufficient credits returns code 402; no products match returns code 400.
