curl --request POST \
--url https://api.scrapeunblocker.com/groceries/coles \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/groceries/coles"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/groceries/coles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Scrape Coles (Australia) groceries
Coles Australia (coles.com.au) products as JSON. mode=search&query=, mode=category&category= and mode=specials return products: id, name, brand, size, url, price, wasPrice, onSale, savings, promotion (type half_price / special / multibuy / offer, text, multibuy quantity and price), unitPrice (price, per, text), inStock, available, availableQuantity, purchaseLimit, promotionalLimit, onlineOnly, sponsored, image, categories and minimumShelfLife, plus totalResults, totalPages and nextPage. special limits a search or the specials listing to half-price, multibuy or online-only deals. mode=product&product= returns product with those fields and barcode, description, ingredients, allergens, dietary, storage, nutrition (per serving and per 100 g / mL), servingSize, servingsPerPack, countryOfOrigin, images and variants. Prices are Coles’ online prices in AUD. Listings collect up to max_results from page on, billed one unit per page.
curl --request POST \
--url https://api.scrapeunblocker.com/groceries/coles \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/groceries/coles"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/groceries/coles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Your ScrapeUnblocker API key. Apply on every request.
Query Parameters
'search' (default): products matching query. 'category': a category listing. 'specials': the products on special. 'product': one product with nutrition and ingredients. Defaults to 'product' when product is given and to 'category' when category is.
What to search for (mode=search), e.g. 'milk', 'tim tam', 'chicken breast'.
mode=category: a browse link (https://www.coles.com.au/browse/dairy-eggs-fridge/milk) or its path ('dairy-eggs-fridge/milk').
mode=product: a Coles product id ('8150288') or a product link (https://www.coles.com.au/product/coles-full-cream-milk-3l-8150288).
Products on special only: all, half-price, multibuy, online-only. mode=specials defaults to 'all'; with mode=search it filters the results.
Listing order: relevance, price_asc, price_desc, unit_price_asc.
1-based listing page to start from (48 products per page).
Products to collect across pages, 1-480. Each page fetched is billed one unit.
Proxy country the request is sent from: AU, NZ, US or CA (Coles serves only these). Leave blank to spread over all of them.
Response
JSON with products (listings) or product. A search with no matches answers 200 with an empty products list.

