Willhaben.at Scraper - Listings, Prices, Sellers & 40+ Fields
Pricing
from $1.80 / 1,000 product records
Willhaben.at Scraper - Listings, Prices, Sellers & 40+ Fields
From $1/1K. Scrape Willhaben.at listings into clean JSON with 40+ structured fields, including prices, GPS coordinates, photos, dates, seller details and category-specific attributes. Search with filters or paste any Willhaben URL.
Pricing
from $1.80 / 1,000 product records
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Takealot Scraper - South Africa Products & Deals
Scrape Takealot, South Africa's largest online marketplace: keyword search, a Daily Deals monitor, prices with was-price savings, regional stock, ratings and real written reviews. Read through the storefront's own JSON interface, so output is structured data, not scraped HTML.
What you get
Each product record carries: title, brand, price and priceMax (offer
price range in ZAR), prettyPrice, listingPrice (the was-price when the
product is on promotion), savingPercent, starRating, reviewCount,
ratingDistribution (1-5 star counts), inStock, stockStatus,
distributionCentres (which warehouses stock it), isPreorder,
addToCartAvailable, isDeal, badges, images and shipping message. With
Fetch product details on, each record also carries the spec sheet
(specs), rich description, boxContents, warranty, categoriesPath,
variant options, loyalty prices (eBucks / Discovery Miles) and offer detail.
About the offer list: Takealot merges its marketplace sellers into one buybox,
so the interface exposes an offer PRICE RANGE (price / priceMax plus the
buybox offerDetail when the store populates it) rather than a per-seller
listing table. That is a property of the store, not of this actor.
Example record (illustrative; these values are made up)
{"kind": "product","recordId": "PLID00000000","url": "https://www.takealot.com/sample-gadget-name/PLID00000000","title": "Sample Gadget 100 (Fictional Model)","brand": "Example Brand","price": 1299,"priceMax": 1499,"prettyPrice": "From R 1,299","listingPrice": 1699,"savingPercent": 23.0,"currency": "ZAR","starRating": 4.4,"reviewCount": 89,"inStock": true,"stockStatus": "In stock","distributionCentres": ["CPT", "JHB"],"isDeal": true}
Modes
- Search mode: one or more keywords, each walked forward through every result page. Combine with the filters below.
- URL mode: paste any takealot.com links. Product links become single
detailed records; search, filter, department and Daily Deals pages become
forward walks. The Daily Deals page (
https://www.takealot.com/deals) is the deals monitor entry point.
Filters (search mode)
- Brand: exact brand spelling as the site uses it (for example
Apple). - Min / Max price (ZAR): price window.
- Minimum star rating: 1 to 4 stars and up.
- In stock at: Cape Town, Durban or Johannesburg.
- Deals filter: Featured Deals (the Daily Deals surface), Bundle Deals or
TakealotMORE Deals. Works with or without a keyword: leave the keywords
empty and pick Daily Deals to monitor the whole deals surface on a
schedule. Every row of a deals run is flagged
isDealand carries the was-price so you can see the drop.
Sort order: Relevance, Price high-to-low, Price low-to-high, Top Rated, Newest Arrivals.
Daily Deals price-drop monitor (the differentiator)
- Turn on Incremental changes for scheduled runs and pick the Daily Deals filter (or paste the deals page in URL mode).
- Schedule the actor to run daily.
- The first run returns every deal as NEW. Each later run returns only what
changed: a price drop or a stock change reads as UPDATED with the exact
changedFields, a deal that vanished (and, if you turn on Emit expired, comes back) is tracked as EXPIRED / REAPPEARED.
Limit
Max items is the only cap that stops a run early; it defaults to 20 (set it to 0 for no limit, and the run stops when results run out instead). Max pages per keyword defaults open. Raise Max items for large pulls.
Reliability and proxy
Takealot's storefront front door refuses plain datacenter connections most of the time, so the actor keeps a dedicated high-reliability connection pool of its own as its primary path; your proxy selection under Proxy configuration is honoured alongside it. Leaving the defaults on is the recommended shape. Datacenter-only selections will fail more often; if your plan includes residential proxy, naming it improves reliability further.
Resume and recurring updates
- Resume from a previous run: paste a run or dataset ID to continue a large pull without collecting the same products again.
- Incremental mode (above): state is kept per keyword/link/filter setup; name a campaign with State key to keep it stable across edits.
Emit unchangedandEmit expiredare off by default; turning them on returns, and bills, extra rows.
Send results into your apps (MCP connectors)
Results can be piped into the apps you already use via MCP connectors:
add mcpConnectors, and for Notion also notionParentPageUrl, with
maxNotifyListings capping rows per connector. Export never changes the
dataset output and fails safe when no connector is reachable.
Output
Every record also carries the incremental contract fields (changeType,
changedFields, firstSeenAt, lastSeenAt) so scheduled runs are
machine-diffable.
Limitations
- Prices are in South African rand (ZAR).
- Written reviews are fetched per product when Fetch written reviews is on (with Fetch product details); counts are capped per product.
- The storefront merges sellers into one buybox (see the offer note above).
- A keyword or link that genuinely has no results returns an empty dataset with exit 0; a store-side connection refusal fails the run loudly instead of faking an empty search.