# Joybuy Scraper - Prices & Reviews, 6 EU Marketplaces (`clearpath/joybuy-scraper`) Actor

Extract Joybuy product prices, specifications, images, delivery and customer reviews from all six European marketplaces. 68 fields per product, prices in GBP and EUR. Search by keyword, browse a whole category, or paste search and store page links. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/clearpath/joybuy-scraper.md
- **Developed by:** [ClearPath](https://apify.com/clearpath) (community)
- **Categories:** E-commerce
- **Features:** Limited permissions
- **Stats:** 7 total users, 0 monthly users, 78.6% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.29 / 1,000 products

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Joybuy Scraper | Product, Price & Review Data from JD.com's European Marketplace (2026)

[![75 fields per product. 6 markets with local GBP and EUR prices. Coupons. Stock. Full specifications.](https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/joybuy-search-readme-hero-24100e1962fe.png)](https://console.apify.com/actors/9K7ejaAYnpuwNl2sr/input)

From **Clearpath**, creators of [SHEIN Product Scraper](https://apify.com/clearpath/shein-product-scraper), [SHEIN Trends](https://apify.com/clearpath/shein-trends-scraper) and [Shopify Product Search](https://apify.com/clearpath/shop-by-shopify-product-scraper). Product, seller and shopping data from the same team.

### Why choose this actor?

**75 product fields, with the details worth comparing.** Get claimable coupons with minimum spend and expiry, stock status, product variants, full specifications, delivery promises and all product images. Product enrichment is on by default. Fields depend on what Joybuy publishes for each item; customer reviews are optional.

**Category browsing and store links are temporarily unavailable.** Search by keyword in the meantime: keyword searches and search page links work as usual. Keep the default relevance order for the broadest coverage; sorting by price can return fewer products.

**Compare local offers across six markets.** Choose the UK, Germany, France, the Netherlands, Belgium or Luxembourg. Collect local prices, coupons and delivery information in GBP or EUR. Belgium and Luxembourg share the Dutch catalogue with their own delivery destination.

<a href="https://console.apify.com/actors/9K7ejaAYnpuwNl2sr/input" data-demo-cta="true"><img src="https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/joybuy-search-readme-cta-8a89960da26d.svg" width="236" height="48" alt="Explore 10 products" /></a>

#### Try 10 products with details

```json
{
  "keyword": "kettle",
  "country": "GB",
  "maxItems": 10,
  "enrichWithDetails": true,
  "fetchReviews": false
}
```

[Open actor input](https://console.apify.com/actors/9K7ejaAYnpuwNl2sr/input) and paste this example. Start with `10` products, then raise `maxItems`. Keep `enrichWithDetails` on for specifications, coupons and variants. Export JSON, CSV or Excel; JSON preserves nested product details.

**Product charges:** $3.99 per 1,000 products plus $3.99 per 1,000 enriched products on Free and Bronze, with lower rates on higher plans. Details are enabled in this example. Optional customer reviews add $2.49 per 1,000 reviews on those tiers. See [current pricing](https://apify.com/clearpath/joybuy-scraper/pricing).

<table><tr><td colspan="5" style="background:#E1251B;padding:10px 12px"><strong style="color:#FFFFFF;font-size:14px">Clearpath · Shopping Suite</strong></td></tr><tr><td style="padding:8px;background:#FFD9D5;border:1px solid #EBCBC7;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-9K7ejaAYnpuwNl2sr-0xGZJDXdTD-joybuy-scraper-logo.webp" width="20" height="20" style="display:inline;vertical-align:middle" alt="">&nbsp;<a href="https://apify.com/clearpath/joybuy-scraper" style="color:#291815;font-weight:700;font-size:13px;text-decoration:none">Joybuy Search</a></span><br><span style="color:#61433D;font-size:12px;white-space:nowrap">You are here</span></td><td style="padding:8px;background:#FFF0EE;border:1px solid #EBCBC7;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-VqDNPCtloQhUsis8U-SbJ88r7Vlk-joybuy-scraper-logo.webp" width="20" height="20" style="display:inline;vertical-align:middle" alt="">&nbsp;<a href="https://apify.com/clearpath/joybuy-product-detail-scraper" style="color:#291815;font-weight:700;font-size:13px;text-decoration:none">Joybuy Details</a></span><br><span style="color:#61433D;font-size:12px;white-space:nowrap">Specs & coupons</span></td><td style="padding:8px;background:#FFF0EE;border:1px solid #EBCBC7;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-P5fALt8vY7xXgJh56-cIPO73yOhI-shein-product-scraper-logo.jpg" width="20" height="20" style="display:inline;vertical-align:middle" alt="">&nbsp;<a href="https://apify.com/clearpath/shein-product-scraper" style="color:#291815;font-weight:700;font-size:13px;text-decoration:none">SHEIN Products</a></span><br><span style="color:#61433D;font-size:12px;white-space:nowrap">Products & sellers</span></td><td style="padding:8px;background:#FFF0EE;border:1px solid #EBCBC7;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-dVMXbOISJcvmmMt92-N6LOEp2ukd-shein-product-scraper-logo.jpg" width="20" height="20" style="display:inline;vertical-align:middle" alt="">&nbsp;<a href="https://apify.com/clearpath/shein-trends-scraper" style="color:#291815;font-weight:700;font-size:13px;text-decoration:none">SHEIN Trends</a></span><br><span style="color:#61433D;font-size:12px;white-space:nowrap">Stores & trends</span></td><td style="padding:8px;background:#FFF0EE;border:1px solid #EBCBC7;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-nICdYs6CuDgCI6CuV-Ky7S3pYrzp-shopy-by-shopify-scraper-logo.jpg" width="20" height="20" style="display:inline;vertical-align:middle" alt="">&nbsp;<a href="https://apify.com/clearpath/shop-by-shopify-product-scraper" style="color:#291815;font-weight:700;font-size:13px;text-decoration:none">Shopify</a></span><br><span style="color:#61433D;font-size:12px;white-space:nowrap">Product search</span></td></tr></table>

#### Copy to your AI assistant

```
clearpath/joybuy-scraper on Apify. Scrapes Joybuy, JD.com's European marketplace, in six countries: products, prices, specs and reviews. Call ApifyClient("TOKEN").actor("clearpath/joybuy-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Provide keyword, category or startUrls; links win over keyword, keyword wins over category. Full spec: GET https://api.apify.com/v2/acts/clearpath~joybuy-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
```

### Key Features

- **75 fields per product**: prices, claimable coupons, specifications, all images, category path, delivery promise, variants, seller, bestseller rank, weight and dimensions.
- **Six marketplaces, one input**: United Kingdom, Germany, France, Netherlands, Belgium and Luxembourg, each with its own catalogue, prices and currency.
- **Three ways in**: a search keyword, a whole category, or pasted search and store page links.
- **Customer reviews**: text, rating, date, photos, helpful votes and verified-purchase status, up to 1,000 per product.

### How to Scrape Joybuy Product Data

#### Basic: search by keyword

```json
{
    "keyword": "coffee machine",
    "country": "GB",
    "maxItems": 100
}
```

#### Browse a whole category

Temporarily unavailable. Search by keyword in the meantime.

```json
{
    "category": "Small Home Appliances",
    "country": "DE",
    "maxItems": 500
}
```

A keyword returns at most about 1,000 products, because Joybuy trims its own result set. Category browsing is not trimmed, so it is the way to collect a whole shelf.

#### Add customer reviews

```json
{
    "keyword": "espresso machine",
    "country": "NL",
    "maxItems": 50,
    "fetchReviews": true,
    "maxReviewsPerItem": 50
}
```

#### Follow pasted links

```json
{
    "startUrls": [
        { "url": "https://m.joybuy.co.uk/s?k=kettle" },
        { "url": "https://m.joybuy.de/store/100002101" }
    ],
    "maxItems": 200
}
```

The link's website decides the marketplace, so a `joybuy.de` link is scraped as Germany whatever the Marketplace setting says. Filters already in the link are applied.

### How to Run the Joybuy Scraper in 4 Steps

1. Open the **Joybuy Scraper** and pick a **Marketplace**: United Kingdom, Germany, France, Netherlands, Belgium or Luxembourg.
2. Type a **Search keyword**, or choose a **Category** to collect a whole shelf instead.
3. Set **Max products**, and turn on **Customer reviews** if you want the review text as well.
4. Click **Start**, then download the results as JSON, CSV or Excel from the run's Storage tab.

### Input Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `keyword` | string | *none* | What to search for. |
| `category` | string | *none* | Browse a whole category by name. Temporarily unavailable. |
| `startUrls` | array | *none* | Joybuy search page links, up to 100 per run. Store page links are temporarily unavailable. |
| `country` | string | `GB` | `GB`, `DE`, `FR`, `NL`, `BE` or `LU`. |
| `language` | string | *marketplace default* | `en_GB`, `de_DE`, `fr_FR` or `nl_NL`. English works on every marketplace. |
| `maxItems` | integer | `100` | How many products to collect. `0` collects everything available. |
| `enrichWithDetails` | boolean | `true` | Adds the full product page: specifications, all images, category path, delivery, variants, seller. |
| `fetchReviews` | boolean | `false` | Attaches customer reviews to every product. |
| `maxReviewsPerItem` | integer | `10` | Reviews per product, up to `1000`. |
| `minPrice` / `maxPrice` | integer | *none* | Price band in the marketplace's own currency. |
| `brand` | string | *none* | Only products from this brand. |
| `attributeFilters` | array | *none* | Filter on the options Joybuy offers, for example `Intel Core i7`. |
| `inStockOnly` | boolean | `false` | Skip products that cannot be shipped now. |
| `bestsellersOnly` | boolean | `false` | Keep only products carrying the bestseller badge. |
| `lightningOffersOnly` | boolean | `false` | Keep only products in a lightning offer. |
| `fastDeliveryOnly` | boolean | `false` | Keep only products with a fast delivery promise. |
| `minRating` | string | `0` | `0`, `3` or `4` stars and up. |
| `sortResultsBy` | string | `relevance` | `relevance`, `price_asc` or `price_desc`. |

Sorting by price shows a much smaller slice of the catalogue, between 18% and 42% of it in our measurements, because only part of the catalogue can be ordered that way. Relevance is the only setting that sees everything, and the run tells you what sorting cost you.

Precedence, when more than one is filled in: links win over a keyword, and a keyword wins over a category.

### What Data Can You Extract from Joybuy?

Every product row includes:

- **Identity and pricing**: product id, parent product id, link, title, brand, model, price, price before discount, discount, currency, member price, instalment terms.
- **Claimable coupons**: what comes off, the minimum spend to get it, when it starts and expires, and who it applies to.
- **Availability**: stock state, delivery promise, shipping cost, delivery and collection options, purchase limits, the country it ships from.
- **Content**: all images, full specification sheet, rich description, category path, variants, related products, energy labels.
- **Commercial signals**: bestseller badge and rank, lightning offers, fast delivery, units sold, running promotions with start and end times, marketplace seller.
- **Ratings and reviews**: average rating, rating spread, how many ratings exist, and the review text itself with author, date, photos, helpful votes and verified-purchase status.

#### Output Example

```json
{
  "skuId": "10412600",
  "url": "https://m.joybuy.co.uk/dp/10412600",
  "title": "DAEWOO Denver Retro Kettle - 1.5 L, Rapid Boil, Buttermilk (Cream) - SDA2745GE",
  "price": 28.99,
  "listPrice": 49.99,
  "unitPrice": null,
  "memberPrice": null,
  "memberPriceNote": null,
  "priceNote": null,
  "listPriceNote": null,
  "depositNote": null,
  "currency": "GBP",
  "marketplace": "GB",
  "marketplaceName": "United Kingdom",
  "language": "en_GB",
  "image": "https://images1.joy-sourcing.com/da/jfsintlpro-000-product/t1/4294967296/1245184/61098710680666/1112725/68d118c9Ec4a420b4/42b10752b5083d5e.jpg",
  "images": [
    "https://images1.joy-sourcing.com/da/jfsintlpro-000-product/t1/4294967296/1245184/61098710680666/1112725/68d118c9Ec4a420b4/42b10752b5083d5e.jpg",
    "https://images1.joy-sourcing.com/da/jfsintlpro-000-product/t1/4294967296/1966080/61098710680670/1903312/68d118cbE9a51202e/42b10752b5083d5e.jpg",
    "https://images1.joy-sourcing.com/da/jfsintlpro-000-product/t1/4294967296/2949120/61098710680671/2022311/68d118cbE4920fbc7/42b10752b5083d5e.jpg",
    "https://images1.joy-sourcing.com/da/jfsintlpro-000-product/t1/4294967296/3276800/10161596180644/534057/68d118c8E257a46b6/42b10752b5083d5e.jpg",
    "https://images1.joy-sourcing.com/da/jfsintlpro-000-product/t1/4294967296/7405568/10161596180646/2074507/68d118caE6f2342f9/42b10752b5083d5e.jpg",
    "https://images1.joy-sourcing.com/da/jfsintlpro-000-product/t1/4294967296/6815744/6109836080684/991401/68d118c7Ef76adce6/42b10752b5083d5e.jpg"
  ],
  "rating": 5.0,
  "salesText": "100+ sold",
  "expectedDelivery": null,
  "inStock": true,
  "promotions": [
    {
      "label": "42% off",
      "tagCode": 1,
      "type": 2,
      "promotionType": 1,
      "endTime": null
    },
    {
      "label": "Free item (s)",
      "tagCode": 41,
      "type": 1,
      "promotionType": 10,
      "endTime": null
    },
    {
      "label": "100+ sold",
      "tagCode": 15,
      "type": 4,
      "promotionType": null,
      "endTime": null
    },
    {
      "label": "Get it by today",
      "tagCode": 16,
      "type": 1,
      "promotionType": 3,
      "endTime": null
    },
    {
      "label": null,
      "tagCode": 72,
      "type": null,
      "promotionType": null,
      "endTime": null
    },
    {
      "label": "DAEWOO",
      "tagCode": 40,
      "type": 7,
      "promotionType": null,
      "endTime": null
    }
  ],
  "isBestseller": false,
  "isLightningDeal": false,
  "hasFastDelivery": true,
  "isDiscounted": true,
  "rankInSearch": null,
  "brand": "DAEWOO",
  "model": null,
  "warranty": null,
  "weightKg": 1.2,
  "finalPrice": 28.99,
  "discountText": "42% off",
  "discountAmount": 21.0,
  "discountPercent": 42.0,
  "couponText": null,
  "coupons": [
    {
      "title": "£10 Off Over £69",
      "description": "Only available for selected products.",
      "scope": "For items sold by Joybuy.",
      "discount": 10.0,
      "minSpend": 69.0,
      "startTime": "14 Aug 2026, 00:00:00",
      "endTime": "31 Aug 2026, 23:59:59",
      "startTimestamp": 1786662000000,
      "endTimestamp": 1788217199000,
      "activityId": "375624",
      "bestSaving": false,
      "howToGet": "Claim"
    },
    {
      "title": "£30 Off Over £199",
      "description": "Only available for selected products.",
      "scope": "For items sold by Joybuy.",
      "discount": 30.0,
      "minSpend": 199.0,
      "startTime": "14 Aug 2026, 00:00:00",
      "endTime": "31 Aug 2026, 23:59:59",
      "startTimestamp": 1786662000000,
      "endTimestamp": 1788217199000,
      "activityId": "375625",
      "bestSaving": false,
      "howToGet": "Claim"
    }
  ],
  "loyaltyPoints": null,
  "installmentText": null,
  "categories": [
    {
      "name": "Home Appliances",
      "id": "199"
    },
    {
      "name": "Small Kitchen Appliances",
      "id": "275"
    },
    {
      "name": "Kettles Hot Water Dispensers",
      "id": "280"
    },
    {
      "name": "Kettles",
      "id": "8509"
    }
  ],
  "breadcrumb": "Home Appliances > Small Kitchen Appliances > Kettles Hot Water Dispensers > Kettles",
  "bestsellerRank": null,
  "deliveryPromise": "Delivery by Today order before 11:00",
  "shippingText": "Estimated shipping fee +£3.99",
  "deliveryOptions": [
    {
      "method": "Delivery",
      "time": "Delivery by Today order before 11:00",
      "price": "+£3.99"
    }
  ],
  "fulfillment": {
    "businessModel": "1",
    "shipmentOnly": false,
    "pickupOnly": false,
    "shipmentAvailable": true,
    "pickupAvailable": false,
    "subscription": false,
    "earnsPoints": true
  },
  "shipsFrom": "GB",
  "promotionDetails": [
    {
      "id": "80006101980",
      "type": "1",
      "startTime": "18 Aug 2026, 08:37:27",
      "endTime": "24 Aug 2026, 23:59:59",
      "startTimestamp": 1787038647000,
      "endTimestamp": 1787612399000,
      "price": 28.99,
      "quantityLimited": false
    },
    {
      "id": "80006064034",
      "type": "4",
      "startTime": null,
      "endTime": null,
      "startTimestamp": null,
      "endTimestamp": null,
      "price": 28.99,
      "quantityLimited": null
    }
  ],
  "guarantees": [
    {
      "title": "30 Days Free Returns",
      "content": "At Joybuy, we want you to love your purchase as much as we do. That’s why we offer a 30-day free return policy. If you’re not completely satisfied, simply return your item for a full refund.\n\nHow It Works:\n1.Return your item within 30 days of delivery.\n2.Enjoy free return shipping  we’ve got you covered!\n3.Receive your refund.\n\nShop with peace of mind and discover why Joybuy is your trusted shopping destination. Your satisfaction is our priority!"
    },
    {
      "title": "24/7 Customer Support",
      "content": "Experience unparalleled support with our 24/7 online customer service! Whether you have questions, need assistance, or require immediate solutions, our dedicated team is always ready to help. No matter the time or day, we're just a click away, ensuring you receive the support you need when you need it most.\n\n Join us now and experience the Joybuy difference!"
    },
    {
      "title": "1 Year Manufacturer's Warranty",
      "content": "Manufacturer Warranty Included:\nThis product comes with a One Year Manufacturer's Warranty covering hardware defects and technical failures. Shop with confidence knowing your purchase is covered by the brand’s official service network."
    }
  ],
  "variants": [
    {
      "name": "Color/Colour",
      "options": [
        {
          "label": "cream",
          "skuIds": [
            "10412600"
          ],
          "stockState": 33
        },
        {
          "label": "Blue",
          "skuIds": [
            "10412624"
          ],
          "stockState": 33
        },
        {
          "label": "Grey",
          "skuIds": [
            "10412626"
          ],
          "stockState": 33
        }
      ]
    }
  ],
  "series": [
    {
      "name": "Cascade 4-Slice Toasters",
      "id": "484988",
      "skuIds": [
        "10412017",
        "10412620",
        "10412123"
      ]
    },
    {
      "name": "Cascade 2-Slice Toasters",
      "id": "485030",
      "skuIds": [
        "10412576",
        "10412035",
        "10412684"
      ]
    },
    {
      "name": "Denver Kettles",
      "id": "485026",
      "skuIds": [
        "10412624",
        "10412600",
        "10412626"
      ]
    },
    {
      "name": "Denver Toasters",
      "id": "483357",
      "skuIds": [
        "10412097",
        "10412612",
        "10412606"
      ]
    },
    {
      "name": "Sienna Toasters",
      "id": "483425",
      "skuIds": [
        "10412598",
        "10412041",
        "10412618"
      ]
    },
    {
      "name": "Sienna Kettles",
      "id": "483443",
      "skuIds": [
        "10412077",
        "10412111",
        "10412560"
      ]
    }
  ],
  "seller": null,
  "venderId": "100227",
  "spuId": "485026",
  "shareLink": "https://m.joybuy.com/dp/10412600?siteCode=UK-Site",
  "specifications": [
    {
      "name": "Material",
      "value": "Stainless Steel",
      "group": null
    },
    {
      "name": "Lid Type",
      "value": "Removable",
      "group": null
    },
    {
      "name": "Capacity",
      "value": "1.5 L",
      "group": null
    },
    {
      "name": "Power Source",
      "value": "Corded Electric",
      "group": null
    },
    {
      "name": "Display Type",
      "value": "NoDisplay",
      "group": null
    },
    {
      "name": "Features",
      "value": "Water Level Indicator,Boil Dry Protection,Automatic Shut-Off",
      "group": null
    },
    {
      "name": "Brand",
      "value": "DAEWOO",
      "group": "Specifications"
    }
  ],
  "descriptionHtml": "<p><strong>Product Highlight</strong></p><ul><li><p>Stylish retro design in Buttermilk (Cream) finish, complementing the Denver toaster series.</p></li><li><p>1.5L capacity and rapid boil technology for quick preparation of multiple hot drinks.</p></li><li><p>Features a 360° swivel cordless base for easy left- or right-handed use.</p></li><li><p>Concealed stainless-steel heating element for energy efficiency and easier cleaning.</p></li><li><p>Includes auto shut-off and boil-dry protection for safe, worry-free operation.</p></li></ul><p><strong><br/></strong></p><p><strong>Specifications</strong></p><table><thead><tr><th>Specification</th><th>Description</th></tr></thead><tbody><tr><td>Model Number</td><td>SDA2745GE</td></tr><tr><td>Capacity</td><td>1.5 Litres</td></tr><tr><td>Power</td><td>Rapid Boil Technology</td></tr><tr><td>Base</td><td>360° Cordless Swivel Base</td></tr><tr><td>Safety Features</td><td>Auto Shut-Off, Boil-Dry Protection</td></tr><tr><td>Heating Element</td><td>Concealed Stainless Steel</td></tr><tr><td>Colour/Finish</td><td>Buttermilk (Cream) Retro</td></tr><tr><td>Dimensions (H x W x D)</td><td>26.5 x 23.5 x 23.5 cm</td></tr></tbody></table><p><strong><br/></strong></p><p><strong>Model Number</strong><br/>SDA2745GE</p><p><strong><br/></strong></p><p><strong>Usage Instruction</strong></p><ul><li><p>Fill the kettle with water, ensuring not to exceed the maximum level indicated.</p></li><li><p>Place the kettle securely on its 360° cordless base. Press the switch to start boiling.</p></li><li><p>The kettle will switch off automatically when boiling is complete. Lift it from the base to pour.</p></li><li><p>Wipe the exterior with a damp cloth. Do not immerse the kettle, lid, or base in water.</p></li></ul><p><strong><br/></strong></p><p><strong>Safety Warning</strong></p><ul><li><p>Do not open the lid while the water is boiling or the kettle is hot.</p></li><li><p>Use only with the provided base. Do not immerse the kettle, lid, or base in water.</p></li><li><p>This appliance is for boiling water only. Do not use it to heat other liquids or food.</p></li></ul><p><strong><br/></strong></p><p><strong>Child Safety Instructions</strong></p><ul><li><p>This appliance is not a toy. Keep it and its cord out of reach of children.</p></li><li><p>The exterior gets hot during use. Supervise children to prevent them from touching the kettle.</p></li></ul><p><strong><br/></strong></p><p><strong>Country of Origin</strong><br/>Made in China</p>",
  "importantInfo": null,
  "brandStory": null,
  "energyLabels": [],
  "stockState": 33,
  "purchaseLimit": null,
  "dimensions": {
    "lengthMm": 220,
    "widthMm": 190,
    "heightMm": 240,
    "weightKg": 1.2
  },
  "salesVolumeText": "100+",
  "ratingCountText": "4",
  "commentCount": 4,
  "goodRate": "100%",
  "ratingBreakdown": {
    "commentCount": 4,
    "goodCount": 4,
    "generalCount": 0,
    "poorCount": 0,
    "goodRate": 1.0,
    "goodRateShow": 100,
    "averageScore": 5,
    "score1Count": 0,
    "score2Count": 0,
    "score3Count": 0,
    "score4Count": 0,
    "score5Count": 4
  },
  "reviewTags": [],
  "reviewTabs": [
    {
      "id": 1,
      "name": "All",
      "count": 4
    },
    {
      "id": 2,
      "name": "Latest",
      "count": 4
    },
    {
      "id": 3,
      "name": "Local market",
      "count": 3
    }
  ],
  "foldedReviewCount": 0,
  "reviewsCaptured": 2,
  "reviews": [
    {
      "reviewId": "20597711",
      "author": "suewood33",
      "authorId": "xWEKHhAlw1HWo1qPSdxD4SxyV3vtagqUgg1VVH5EuRo=",
      "authorImage": "https://images5.joy-sourcing.com/da/jfsintlpro-000-userfeedback/t1/4294967296/4325376/1016145511482/2034/677c9232E3a2c1aef/5c82b57031009d7e.jpg",
      "date": "2025-11-27",
      "star": 5,
      "content": "As describes and very well packaged \n, arrived next day as stated. Really pleased with this company.",
      "images": [],
      "videos": [],
      "usefulCount": 0,
      "replyCount": 0,
      "replies": [],
      "verifiedPurchase": true,
      "anonymous": false,
      "source": null,
      "globalBuyerText": null,
      "translatable": false,
      "earnedPoints": null
    },
    {
      "reviewId": "22265189",
      "author": "hayley\n",
      "authorId": "YDQ2eDAeJEIToUirb+mvROZxnz6KOnFDE6QoFb4cNsk=",
      "authorImage": "https://images5.joy-sourcing.com/da/jfsintlpro-000-userfeedback/t1/4294967296/4325376/1016145511482/2034/677c9232E3a2c1aef/5c82b57031009d7e.jpg",
      "date": "2026-06-22",
      "star": 5,
      "content": "Speedy. Slightly noisy. Overall good.",
      "images": [],
      "videos": [],
      "usefulCount": 0,
      "replyCount": 0,
      "replies": [],
      "verifiedPurchase": true,
      "anonymous": false,
      "source": null,
      "globalBuyerText": null,
      "translatable": false,
      "earnedPoints": null
    }
  ],
  "detailScraped": true,
  "reviewsScraped": true,
  "position": 1,
  "brandId": "3136",
  "categoryId": "5085",
  "soldByJoybuy": true,
  "isSponsored": false,
  "isNew": false,
  "isOutlet": false,
  "bestBefore": null,
  "highlights": [
    "Free 2-year warranty"
  ],
  "services": [
    "Old-device recycling"
  ],
  "multiBuy": null,
  "businessMode": "1",
  "isPreSale": false,
  "hasVariants": true,
  "isGiftCard": false
}
```

`commentCount` is every rating the product has, including the star-only ones. `reviewsCaptured` is how many carry text and could be listed. They are different numbers by design, so both are in the row.

### Advanced Usage

Ready-made configurations for competitor price monitoring, catalogue export, review mining and cross-market price comparison.

#### Track a competitor's brand across two markets

```json
{
    "keyword": "espresso machine",
    "brand": "DeLonghi",
    "country": "DE",
    "maxItems": 200,
    "enrichWithDetails": true
}
```

#### Export a whole shelf

```json
{
    "category": "Coffee Machines",
    "country": "GB",
    "maxItems": 0,
    "enrichWithDetails": true
}
```

#### Mine reviews for product research

```json
{
    "keyword": "air fryer",
    "country": "NL",
    "maxItems": 25,
    "fetchReviews": true,
    "maxReviewsPerItem": 1000
}
```

#### Find the deals only

```json
{
    "category": "Electronics",
    "country": "FR",
    "lightningOffersOnly": true,
    "minRating": "4",
    "maxItems": 300
}
```

### Pricing: Pay Per Event

**$3.99 per 1,000 products.** Product details are the same again, and reviews are billed per review.

| Event | Per 1,000 |
|-------|-----------|
| Product | $3.99 |
| Product details | $3.99 |
| Customer review | $2.49 |

### Scheduling and Integrations

Price monitoring works best on a schedule. Daily is enough for most catalogues; hourly is worth it only for lightning offers, which turn over fast.

Results go straight to Google Sheets, Make, Zapier, or your own endpoint through Apify's integrations, and every run can fire a webhook when it finishes.

https://www.youtube.com/watch?v=1jI7WcVQmwM

### FAQ

**What is Joybuy?**
Joybuy is JD.com's European marketplace, launched in 2026 across the United Kingdom, Germany, France, the Netherlands, Belgium and Luxembourg. It sells technology, appliances, beauty, home goods and groceries, including brand stores from L'Oreal, Braun, DeLonghi, BRITA and Bodum. JD.com (京东, Jingdong) is one of China's largest retailers, and Joybuy is the storefront it runs in Europe.

**Which Joybuy marketplaces does this cover?**
All six: the United Kingdom, Germany, France, the Netherlands, Belgium and Luxembourg. Each has its own catalogue and prices. Belgium and Luxembourg are served the Dutch catalogue with their own delivery address, so expect the same products at the same prices as the Netherlands.

**Can I get prices in both GBP and EUR?**
Yes. The marketplace decides the currency, and every price in a row carries the `currency` it is quoted in. Run the same keyword against `GB` and `DE` to compare a product across currencies.

**How many products can I get from one keyword?**
About 1,000. Joybuy trims its own answer for a keyword however many products actually match, and the run tells you the number it trimmed to. Category browsing, which is not trimmed, is temporarily unavailable.

**Can I collect Joybuy customer reviews?**
Yes, up to 1,000 per product, which is Joybuy's own ceiling. Turn on Customer reviews and set Reviews per product. Reviews come with the text, rating, date, photos, helpful votes and whether the purchase was verified.

**Does it work with Joybuy search and store page links?**
Search pages (`/s?k=...`) yes, and the filters in the link are applied. Store pages (`/store/...`) are temporarily unavailable. Individual product page links are handled separately by the Joybuy Product Detail Scraper.

**Does Joybuy have an API?**
Joybuy publishes no public product API, so there is nothing to request access to or rate-limit against. This Actor is the way to get its catalogue as structured data: same fields a shopper sees on the page, delivered as JSON, CSV or Excel.

**How do I export the data?**
JSON, CSV, Excel, XML or HTML from the run's Storage tab, or through the Apify API. JSON keeps the nested fields such as reviews, specifications and variants intact; CSV flattens them.

**How much does a run cost?**
$3.99 per 1,000 products, doubled if product details are on, plus $2.49 per 1,000 reviews if you collect them. A 100-product run with details is under a dollar.

**Is it legal to scrape Joybuy data?**
The Actor collects publicly visible product listings, nothing behind a login. Reviews carry the display name the reviewer chose to publish, which is personal data, so handle them under GDPR and the UK GDPR. You are responsible for Joybuy's terms of use and for the data protection law that applies to you.

**How fresh is the data?**
Live. Every run reads the marketplace as it is at that moment, including current prices, stock and delivery promises.

**Why did a sorted run return fewer products?**
Only part of Joybuy's catalogue carries the price that sorting uses, so a price-sorted search sees a smaller slice of it. The run logs how much smaller. Sort by relevance when you want everything.

**Can I get one specific product by link?**
Not with this Actor. Product page links are the job of the Joybuy Product Detail Scraper; this one is built for search, categories and stores.

### More scrapers from our friends at Zen Studio

Sister scrapers for product, price and seller data.

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-ghXSMZcW3GxsCrkiR-5hnvsKv4Yt-1688-wholesale-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **1688 阿里巴巴**
  - [1688 Wholesale Scraper](https://apify.com/zen-studio/1688-wholesale-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-PsAKYWM55HG4AHXjK-ItywU7Bp0s-taobao-search-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Taobao 淘宝**
  - [Taobao Product Scraper](https://apify.com/zen-studio/taobao-search-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-uZy6tbKLKnSVtT4BN-emXnT123uR-jd-com-scraper-logo-square.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **JD.com 京东**
  - [JD.com Scraper](https://apify.com/zen-studio/jd-com-search-scraper)

**More from Clearpath**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-9K7ejaAYnpuwNl2sr-0xGZJDXdTD-joybuy-scraper-logo.webp" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Joybuy**
  - [Joybuy Product Detail Scraper](https://apify.com/clearpath/joybuy-product-detail-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-P5fALt8vY7xXgJh56-cIPO73yOhI-shein-product-scraper-logo.jpg" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **SHEIN**
  - [Shein Product Scraper](https://apify.com/clearpath/shein-product-scraper)
  - [SHEIN Seller & Manufacturer Leads](https://apify.com/clearpath/shein-seller-leads)
  - [SHEIN Trends Scraper](https://apify.com/clearpath/shein-trends-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-R9SL2PPdhdhLQwdck-tbaq4J8sxX-shopy-by-shopify-scraper-logo.jpg" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Shopify**
  - [Shopify Product Search](https://apify.com/clearpath/shop-by-shopify-product-scraper)
  - [Shopify Store Leads](https://apify.com/clearpath/shopify-store-leads)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-FzxNShGGntfilAEDe-9OiAyL7bAA-coles-scraper-icon-v1.png" width="16" height="16" alt="Coles scraper icon" style="vertical-align:middle;border-radius:3px"> **Coles**
  - [Coles Scraper](https://apify.com/clearpath/coles-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-cfmAVd7XDm7dWNSPg-RS0c2sB7Ol-woolworths-scraper-icon-v3.png" width="16" height="16" alt="Woolworths scraper icon" style="vertical-align:middle;border-radius:3px"> **Woolworths**
  - [Woolworths Scraper](https://apify.com/clearpath/woolworths-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-AxMAzM9nTTEqZzGmB-te2C58Dmr5-flipkart-minutes-scraper-logo.png" width="16" height="16" alt="Flipkart Minutes scraper icon" style="vertical-align:middle;border-radius:3px"> **Flipkart Minutes**
  - [Flipkart Minutes Scraper](https://apify.com/clearpath/flipkart-minutes-scraper)

### Support

- **Bugs**: Issues tab
- **Features**: Email or issues
- **Email**: max@mapa.slmail.me

### Legal Compliance

Extracts publicly available data. Users must comply with Joybuy terms and data protection regulations (GDPR, UK GDPR, CCPA).

***

*Product, price, specification and review data from Joybuy's six European marketplaces.*

# Actor input Schema

## `keyword` (type: `string`):

Enter what you would type into the Joybuy search box.<br><br>Joybuy trims its own answer for a keyword, so a single keyword returns roughly <b>1,000 products</b> however many exist.

## `category` (type: `string`):

<b>Temporarily unavailable.</b> Please search by keyword for now.<br><br>Browse a whole category instead of searching.<br><br>Category browsing is <b>not trimmed</b>, so it is the way to collect more than about 1,000 products. Pick a suggestion or type any category name, including deeper ones such as <code>Laptops</code> or <code>Coffee Machines</code>. Category names are matched to whatever the chosen marketplace calls that shelf.

## `startUrls` (type: `array`):

Paste Joybuy <b>search</b> pages (<code>/s?k=...</code>). <b>Store</b> pages (<code>/store/...</code>) are temporarily unavailable. Filters already in the link are applied.<br><br>The link's website decides the marketplace and overrides <b>Marketplace</b> below, so a <code>joybuy.de</code> link is scraped as Germany.<br><br>Up to <b>100</b> links per run.<br><br>Individual product page links are handled by the <b>Joybuy Product Detail Scraper</b>.

## `maxItems` (type: `integer`):

How many products to collect. The run stops earlier when the search itself runs out of products.<br><br>Set <code>0</code> to collect everything available.

## `country` (type: `string`):

Which Joybuy marketplace to scrape. It decides the products, the prices and the currency.<br><br>Belgium and Luxembourg are served the Dutch catalogue, with their own delivery address.

## `language` (type: `string`):

Optional. Leave empty for the marketplace's own language. English works on every marketplace, so you can read German prices in English.

## `enrichWithDetails` (type: `boolean`):

Adds the full product page to every row: specifications, all images, category path, delivery promise, shipping cost, guarantees, variants, seller, bestseller rank, weight and dimensions.<br><br>Turn it off for faster, cheaper rows with just the search listing fields.

## `fetchReviews` (type: `boolean`):

Attaches customer reviews to every product: text, rating, date, photos, helpful votes and whether the purchase was verified.<br><br>Reviews are billed per review, and a quarter of products have none while a few have thousands, so the cost of a run with reviews depends on the products it finds. <b>Reviews per product</b> is the dial.

## `maxReviewsPerItem` (type: `integer`):

The cap per product when <b>Customer reviews</b> is on.<br><br>Half of all products have fewer than 13 reviews, so <code>10</code> is a cheap, representative default. <code>1000</code> collects everything Joybuy makes available, which is its own ceiling per product.

## `sortResultsBy` (type: `string`):

Joybuy can only order part of its catalogue by price, so a sorted search sees <b>far fewer products</b> - between 18% and 42% of them in our measurements. Relevance is the only setting that sees everything, and the run tells you how much sorting cost you.

## `minPrice` (type: `integer`):

Lowest price to include, in the marketplace's own currency. Leave empty for no limit.

## `maxPrice` (type: `integer`):

Highest price to include, in the marketplace's own currency. Leave empty for no limit.

## `brand` (type: `string`):

Only products from this brand, for example <code>Acer</code>. The brand is matched against the brands Joybuy offers for your search, so a brand it does not stock for that search returns nothing rather than something else.

## `attributeFilters` (type: `array`):

Filter on the options Joybuy offers for your search, for example <code>Intel Core i7</code> or <code>16 GB</code>.<br><br>Options of the same kind widen the results, options of different kinds narrow them, exactly like the filters on the website. Anything unavailable for your search is reported in the run log.

## `inStockOnly` (type: `boolean`):

Skip products Joybuy cannot ship right now.

## `bestsellersOnly` (type: `boolean`):

Keep only products carrying Joybuy's bestseller badge. This narrows the products you receive, not the products the run reads through, so pair it with a higher <b>Max products</b>.

## `lightningOffersOnly` (type: `boolean`):

Keep only products in a lightning offer. Narrows the products you receive rather than the search.

## `fastDeliveryOnly` (type: `boolean`):

Keep only products with a fast delivery promise. Narrows the products you receive rather than the search.

## `minRating` (type: `string`):

Keep only products rated at least this well. Products with no rating yet are dropped.

## `feedback` (type: `string`):

For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns.

## Actor input object example

```json
{
  "keyword": "coffee machine",
  "maxItems": 100,
  "country": "GB",
  "enrichWithDetails": true,
  "fetchReviews": false,
  "maxReviewsPerItem": 10,
  "sortResultsBy": "relevance",
  "inStockOnly": false,
  "bestsellersOnly": false,
  "lightningOffersOnly": false,
  "fastDeliveryOnly": false,
  "minRating": "0"
}
```

# Actor output Schema

## `results` (type: `string`):

All products collected by this run.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "coffee machine",
    "maxItems": 100,
    "maxReviewsPerItem": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/joybuy-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": "coffee machine",
    "maxItems": 100,
    "maxReviewsPerItem": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/joybuy-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": "coffee machine",
  "maxItems": 100,
  "maxReviewsPerItem": 10
}' |
apify call clearpath/joybuy-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,clearpath/joybuy-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9K7ejaAYnpuwNl2sr/builds/bD6BxiB5fmp8gWYWQ/openapi.json
