Willhaben.at Scraper - Listings, Prices, Sellers & 40+ Fields avatar

Willhaben.at Scraper - Listings, Prices, Sellers & 40+ Fields

Pricing

from $1.80 / 1,000 product records

Go to Apify Store
Willhaben.at Scraper - Listings, Prices, Sellers & 40+ Fields

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

Abot API

Maintained by Community

Actor 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 isDeal and 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)

  1. Turn on Incremental changes for scheduled runs and pick the Daily Deals filter (or paste the deals page in URL mode).
  2. Schedule the actor to run daily.
  3. 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 unchanged and Emit expired are 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.