Browse the Officeworks Catalogue
The Officeworks catalogue endpoints let you browse the live category tree and pull paginated product
lists — including SKU codes, pricing, and ratings — without consuming any scrape credits. Use them
to discover the right seo_path and collect SKUs before adding them to a collection.
In the dashboard
- Open Officeworks from the sidebar and click Catalogue.
- The category tree loads on the left. Click any category name to expand its children.
- Select a leaf category to see a paginated product list on the right with SKU, title, brand, and price.
- Use the Sort dropdown to reorder by price, name, or rating.
- Copy the SKU codes you need and use them when adding items to a collection.
Via the API
There are two catalogue endpoints: one to browse the category tree and one to list products within a category.
Browse the category tree
Browse Category Tree
https://multicartapi.com/api/v1/schedules/officeworks/categories/Returns the Officeworks category tree, optionally filtered to a subtree by seo_path or
flattened to a plain list. Category data is proxied from the Officeworks public API and cached
server-side for 24 hours.
| Parameter | Type | Required | Description |
|---|---|---|---|
flat | boolean | Optional | When true, return a flat array of all matching categories instead of a nested tree. |
seo_path | string | Optional | Restrict the response to this category and its descendants, e.g. `technology`. Omit to return the full tree. |
curl https://multicartapi.com/api/v1/schedules/officeworks/categories/ \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "flat": false, "seo_path": "technology" }'{
"code": 200,
"data": {
"total": 5,
"categories": [
{
"name": "Technology",
"seoPath": "technology",
"children": [
{ "name": "Computers", "seoPath": "technology/computers", "children": [] }
]
}
]
},
"status": 1
}No match returns an empty array
When seo_path does not match any category the response returns total: 0 with an empty
categories array rather than an error. Omit both parameters to retrieve the entire tree.
List products in a category
List Products in Category
https://multicartapi.com/api/v1/schedules/officeworks/categories/products/Returns paginated products for an Officeworks category queried live from the Algolia index.
Results are not cached — each call hits the live catalogue. Use the sku values returned here
as input to the Officeworks SKU collection endpoints.
| Parameter | Type | Required | Description |
|---|---|---|---|
seo_path | string | Required | Category seoPath to query, e.g. `technology/computers/laptops`. |
recursive | boolean | Optional | When true, include products from all descendant categories in addition to the specified category. |
page | integer | Optional | Zero-indexed page number. |
page_size | integer | Optional | Number of products per page. Maximum 1000. |
sort | string | Optional | Sort order. One of: `bestmatch`, `newest`, `name`, `price_asc`, `price_desc`, `rating_asc`, `rating_desc`. |
search | string | Optional | Optional keyword filter applied within the category results. |
curl https://multicartapi.com/api/v1/schedules/officeworks/categories/products/ \
-X POST \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"seo_path": "technology/computers/laptops",
"recursive": false,
"page": 0,
"page_size": 100,
"sort": "price_asc"
}'{
"code": 200,
"data": {
"seo_path": "technology/computers/laptops",
"recursive": false,
"total": 84,
"page": 0,
"page_size": 100,
"total_pages": 1,
"products": [
{
"sku": "HPLAP001",
"title": "HP 15.6" Laptop 256GB",
"brand": "HP",
"gtin": "0195908753278",
"price_value": 899.0,
"price_currency": "AUD",
"image": "https://www.officeworks.com.au/...jpg",
"product_url": "https://www.officeworks.com.au/shop/officeworks/p/HPLAP001",
"url_keyword": "hp-15-6-laptop-256gb",
"category": "technology/computers/laptops",
"categories": [
"technology",
"technology/computers",
"technology/computers/laptops"
],
"ranged_online": true,
"ranged_retail": true,
"rating": 4.3,
"review_count": 127,
"status": "active",
"published": true
}
]
},
"status": 1
}Product fields reference
| Field | Type | Description |
|---|---|---|
sku | string | Officeworks SKU code — use this when adding items to a collection. |
title | string | Product display name. |
brand | string | Manufacturer or brand name. |
gtin | string | Global Trade Item Number (barcode). |
price_value | number | Current price. |
price_currency | string | Always AUD. |
image | string | Absolute URL to the product image. |
product_url | string | Canonical product page URL on Officeworks. |
url_keyword | string | URL-friendly slug for the product. |
category | string | Primary category seo_path for this product. |
categories | array | Full path ancestry, from root to leaf. |
ranged_online | boolean | Whether the product is available online. |
ranged_retail | boolean | Whether the product is stocked in physical stores. |
rating | number | Average customer rating (0–5). |
review_count | integer | Number of customer reviews. |
status | string | Product lifecycle status, e.g. active. |
published | boolean | Whether the product is currently published on the site. |
Paginating large categories
Pagination is zero-indexed. After the first call, check total_pages in the response and
increment page until you have fetched all results. Setting recursive: true pulls products
from all child categories in a single query — useful for broad parent categories like
technology, though page counts will be higher.
