Loot South Africa Scraper avatar

Loot South Africa Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Loot South Africa Scraper

Loot South Africa Scraper

Scrape Loot (loot.co.za) - a leading South African online marketplace covering books, electronics, toys, baby, fashion, home & kitchen, games, DVDs and more. Search products, browse by department/category, look up exact products by code/URL, and list the full category taxonomy.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Share

Scrape Loot — a leading South African online marketplace covering books, electronics, computers, toys, baby products, fashion, kitchen & home, games, DVDs, sport & outdoor, stationery, health & beauty and licensed merchandise. Search products, browse any of the site's 20 departments and their subcategories, look up exact products by code or URL, or list the full category taxonomy. HTTP-only via the store's own public JSON API. No login, no proxy, no cookies you have to supply.

What this actor does

  • Four modes: search, byCategory, byProductCodes, listCategories
  • Search across the whole marketplace or scoped to a department, with server-side price/stock/special filtering plus client-side brand/keyword refinement
  • Category browse across all 20 top-level departments (Books, Electronics, Baby, Toys, Fashion, Kitchen & Home, Games, DVD, Blu-Ray, Sport, Outdoor, Stationery, Health & Beauty, Music, DIY, Arts & Crafts, Licensed Merchandise, Deals, Promotions) plus any subcategory via an exact code override
  • Filters: min/max price, in-stock only, on-special only, brand, sort order
  • Rich product data: price, list-price/discount, stock/availability, rating, seller, full image gallery, plain-text description, bullet features, and a structured specifications block (grouped spec tables — e.g. Display/Power/Ports for electronics, Authors/ISBN/Format for books)
  • Empty fields are omitted — no null/""/[] ever shipped

Output per product

  • productId, title, fullTitle, subtitle, slug, itemType
  • brand, category
  • price, currency (ZAR)
  • listPrice, discountPercent — when the product is on special
  • availability, availabilityMessage, inStock, shipsForFree
  • availableQuantity — units currently in local stock (0 can still mean orderable from the supplier — see availability)
  • itemsLeftOnDeal — units left on a limited-time deal (only present when the deal has a visible countdown)
  • minLeadTimeDays, actualLeadTimeDays — estimated shipping lead time in working days
  • nonReturnable, groupOffer — return-policy and bundle-offer flags
  • payflexAvailable, payJustNowAvailable — buy-now-pay-later payment options
  • monthlyRepayment, repaymentInterestRate — installment financing terms (when offered)
  • rating, ratingCount
  • barcode, seller
  • mainImage, images[]
  • description, features[]
  • specifications — nested {group: {key: value}}, e.g. {"Display": {"Screen Size": "15.6\"", ...}, "General": {"Authors": "J. K. Rowling", "ISBN-13": "978-...", ...}}
  • relatedProductIds[] — codes of related/recommended products (mode=byProductCodes only, where the full product-detail response is fetched)
  • reviews[] — approved customer reviews (mode=byProductCodes only): {reviewId, title, text, rating, reviewer, date}
  • sourceUrl
  • recordType: "product", scrapedAt

Output per category (mode=listCategories)

  • categoryCode, name, parentCode, parentName
  • sourceUrl, browseUrl
  • recordType: "category", scrapedAt

Input

FieldTypeDefaultDescription
modestringsearchsearch / byCategory / byProductCodes / listCategories
searchQuerystringharry potterFree-text query (mode=search)
categoryCodestringqb (Books)Curated department dropdown (mode=byCategory)
customCategoryCodestringExact category code for any subcategory; overrides the dropdown
productCodesarrayProduct codes or full product URLs (mode=byProductCodes)
minPrice / maxPricenumberPrice range in ZAR
inStockOnlyboolfalseOnly in-stock products
onSpecialOnlyboolfalseOnly discounted products
brandstringCase-insensitive brand substring match
keywordstringCase-insensitive substring match against title/brand/description — extra refinement on any mode
sortBystringrelevancerelevance / priceAsc / priceDesc / titleAsc / titleDesc / ratingDesc
includeSubCategoriesbooltrueAlso fetch each department's subcategories (mode=listCategories)
maxItemsint50Hard cap (1–1000)

Example: search with price + stock filters

{
"mode": "search",
"searchQuery": "wireless earphones",
"minPrice": 200,
"maxPrice": 1500,
"inStockOnly": true,
"sortBy": "priceAsc",
"maxItems": 40
}

Example: browse a department

{
"mode": "byCategory",
"categoryCode": "jgj",
"onSpecialOnly": true,
"sortBy": "priceDesc",
"maxItems": 50
}

Example: search, refined further by a client-side keyword filter

{
"mode": "search",
"searchQuery": "wizard",
"keyword": "potter",
"maxItems": 50
}

Example: browse a subcategory not in the curated dropdown

{
"mode": "byCategory",
"customCategoryCode": "hgz",
"maxItems": 50
}

Example: lookup exact products

{
"mode": "byProductCodes",
"productCodes": [
"cwxj-7974-g400",
"https://www.loot.co.za/product/hermione-granger-wizard-wand/pxml-4917-g790"
]
}

Example: list the category taxonomy

{
"mode": "listCategories",
"includeSubCategories": true,
"maxItems": 200
}

Use cases

  • Price monitoring — track book, electronics and toy prices on South Africa's biggest general marketplace
  • Competitor / market research — benchmark a South African e-commerce catalogue, pricing and specials
  • Product feed building — import books, electronics or gifts into a comparison site or marketplace
  • Stock availability tracking — flag when a popular item goes out of stock
  • Category / taxonomy analysis — enumerate every department and subcategory

FAQ

Do I need a proxy or login? No. Loot issues a short-lived anonymous access token to every visitor automatically (the same mechanism your browser gets when you load the site) — the actor fetches this token itself at the start of each run. No signup, API key or user-supplied cookie is required.

What currency are prices in? ZAR (South African Rand).

What's discountPercent? Computed from listPrice (the pre-discount price) vs the current price, only present when the product is genuinely on special.

What's inside specifications? Loot groups technical/bibliographic details differently per product type — electronics get groups like Display/Power/Ports/Physical Specification, books get General (Authors, ISBN-13, Format, Pages, Imprint), etc. The actor preserves this grouping rather than flattening everything into one bucket.

How do I browse a category that isn't in the dropdown? Set customCategoryCode to the exact code from a loot.co.za search link (?cat=<code>) or from a mode=listCategories run — it overrides the dropdown.

Why does sortBy sometimes only sort within a candidate pool rather than the whole category? The actor fetches a bounded pool of matching products (5x maxItems, up to 200+) and sorts that pool itself, since the store's own sort parameter isn't reliably honored for every value. For very large categories with a small maxItems, increase maxItems if you need a true full-category top/bottom ranking.

Why did my keyword filter on byCategory return 0 results even though matching products exist in that category? Same root cause as sortBy above: byCategory has no server-side text search, so the actor's own default browse ordering for very large categories (millions of items for broad departments like Books) may not surface a niche keyword match within the fetched candidate pool. keyword is most reliable combined with mode=search (which does a real server-side text search first) or with a narrower customCategoryCode subcategory.

How fresh is the data? Real-time — every request hits the live storefront's own API.