Joybuy scraper 🛍️ avatar

Joybuy scraper 🛍️

Pricing

from $3.99 / 1,000 products

Go to Apify Store
Joybuy scraper 🛍️

Joybuy scraper 🛍️

Extract full product data from Joybuy (JD.com's European marketplace — FR, DE, BE, NL, LU, UK). Get prices, discounts, variants, ratings, reviews, Q&A, specs, images and delivery estimates by product URL, search URL or keyword. Fast structured JSON

Pricing

from $3.99 / 1,000 products

Rating

5.0

(1)

Developer

borderline

borderline

Maintained by Community

Actor stats

2

Bookmarked

16

Total users

1

Monthly active users

3 days ago

Last modified

Share

Joybuy Scraper 🛒

Extract full product data from Joybuy — JD.com's European marketplace (FR, DE, BE, NL, LU, UK) — from product URLs, search URLs, or plain keywords. Prices, variants, ratings, reviews, Q&A, descriptions, specs and delivery estimates, as clean JSON.


What you get

For every product:

  • 🏷️ Title, brand, model, category path (with Joybuy's own category ids)
  • 💶 Price, list price, discount %, currency — localized to a delivery address
  • 🎟️ Promotions and coupons, with the campaign's start and end
  • 📦 Stock status, purchase limits, and delivery estimate
  • 🚚 Shipping cost — what it would cost, what you actually pay, and whether a threshold makes it free
  • 🎨 Variants (storage, colour…) — each with its own sku, swatch image, and whether it can actually be bought
  • Rating, review count, good-rating %, star histogram, plus Joybuy's AI review summary
  • 🖼️ Full image gallery + videos
  • 📐 Shipping weight and box dimensions
  • 🛡️ Guarantees, warranty, protection plans and sold-count label ("5k+ sold")
  • EU energy labels and product-information sheets
  • 🏪 Seller, instalment terms, and Joybuy's own share link
  • 📝 Reviews (text, stars, date, photos) — on by default
  • Customer questions & answers — on by default
  • 📄 Description, specification table, "important information" images — on by default
  • 🧭 Provenance — which input produced each row, its rank in the search, and whether the result was an ad

Each product is one dataset item. Reviews and questions are attached to their product — and the Output tab has ready-made views: 🛍️ Products, ⭐ Reviews (one row per review), ❓ Questions, and 📝 Descriptions & specs.


Why this Actor

  • Purpose-built for Joybuy — every field is read from Joybuy's own data layer, so rows come back complete and consistently shaped.
  • Full product data — price and discounts, variants, rating, reviews, Q&A, specifications, images, delivery estimate.
  • Fast — structured extraction, no browser to drive.
  • Localized — pick the country site and, optionally, a delivery postcode: prices and delivery estimates match that address.
  • Zero setup — no configuration, no login, no tokens.
  • Maintained — kept working as the site changes.

How to use

  1. Click Try for free.
  2. Paste product URLs, search URLs, or type keywords (e.g. iphone, shoes).
  3. Narrow it down if you want — price range, brand, minimum rating, in stock only, bestsellers, lightning offers, fast delivery, and a sort order.
  4. Pick your country (FR by default), optionally a delivery postcode, and run.

No setup, no login, no tokens — it just runs.

Input example

{
"startUrls": [
{ "url": "https://www.joybuy.fr/dp/apple-iphone-17-pro-max-512/10409186" }
],
"keywords": ["shoes", "coffee grinder"],
"maxItemsPerInput": 100,
"minPrice": 20,
"maxPrice": 200,
"inStockOnly": true,
"country": "FR",
"sortType": "sort_dredisprice_asc",
"postCode": "75001",
"scrapeReviews": true,
"maxReviews": 10,
"scrapeQuestions": true,
"scrapeDescription": true
}

Input options

FieldWhat it does
startUrlsJoybuy product URLs (/dp/…/{id} or /dg/{id}) and search URLs. Search filters in the URL (sort, price, category…) are respected.
keywordsSearch terms, one per line — each is searched separately.
maxItemsPerInputCap of products per URL / per keyword (default 50, 0 for everything).
minPrice / maxPriceKeep only products inside a price range.
brandKeep only one brand, e.g. Apple.
minRatingKeep only products at or above 2, 3 or 4 stars.
inStockOnlySkip products Joybuy reports as out of stock.
bestsellersOnlyKeep only Joybuy's bestseller-ranked products.
lightningOffersOnlyKeep only products in a lightning offer.
fastDeliveryOnlyKeep only JoyExpress fast-delivery products.
sortTypeSort keyword searches: relevance, price ↑, price ↓.
countryFR · DE · BE · NL · LU · GB. Sets currency and region automatically.
languageRead any catalogue in English, French, German or Dutch.
postCodeOptional delivery location → localized price & delivery estimate.
latitude / longitudeOptional GPS, for a more precise delivery location.
scrapeReviews / maxReviewsCustomer reviews, up to maxReviews per product (default on, 10; billed per review — raise it and the run costs more).
scrapeQuestions / maxQuestionsCustomer Q&A, up to maxQuestions per product (default on, 5; billed per question).
scrapeDescriptionDescription, spec table and info images (default on; billed separately).
includePersonalDataInclude reviewer display names (on by default; set false to redact).

Provide at least one of startUrls or keywords.


Output example

One dataset item per product (trimmed — a real record carries 50+ fields):

{
"skuId": "10409338",
"url": "https://www.joybuy.fr/dp/p/10409338",
"title": "Apple iPhone 17 256 Go - Noir",
"brand": "Apple",
"model": null,
"categoryPath": ["Électronique", "Téléphones", "Smartphones"],
"categoryIds": ["1849", "5202", "5203", "5204"],
"price": { "value": 889, "currency": "EUR" },
"priceWas": { "value": 969, "currency": "EUR" },
"discountPercent": 8,
"promotions": [
{ "id": "80004353824", "type": "1", "price": { "value": 889, "currency": "EUR" },
"startsAt": "1 juil. 2026, 10:01:22", "endsAt": "31 août 2026, 23:59:59" }
],
"coupons": [],
"unitPrice": null,
"installmentText": "Paiement en 3 versements de €296.33",
"inStock": true,
"purchaseLimit": 1,
"purchaseLimitText": "Limité à 1 articles",
"minPurchaseQuantity": 1,
"delivery": {
"promise": "Livraison dès 25 août",
"shippingText": "Frais d'expédition estimés €3.99 GRATUIT",
"pickup": null
},
"freight": {
"was": { "value": 3.99, "currency": "EUR" },
"now": { "value": 0, "currency": "EUR" },
"isFree": true,
"text": "Frais d'expédition estimés €3.99 GRATUIT"
},
"fulfillmentMethods": ["Livraison", "Retrait"],
"variants": [
{ "name": "Série", "value": "512GB", "skuId": "10409334", "selected": false, "available": null, "image": null },
{ "name": "Couleur", "value": "Noir", "skuId": "10409338", "selected": true, "available": true,
"image": "https://images3.joy-sourcing.com/…" },
{ "name": "Couleur", "value": "Sauge", "skuId": "10409262", "selected": false, "available": false,
"image": "https://images3.joy-sourcing.com/…" }
],
"rating": 5,
"reviewCount": 282,
"goodRatePercent": 100,
"starsBreakdown": { "5 star": 270, "4 star": 9, "1 star": 1 },
"aiReviewSummary": "Buyers praise the screen and battery life…",
"soldLabel": "5k+ vendus",
"seller": "Joybuy",
"sellerId": null,
"venderId": "100000101",
"spuId": "481553",
"weightGrams": 330,
"dimensions": { "length": 169, "width": 89, "height": 25 },
"warranty": null,
"guarantees": ["Retours gratuits sous 30 jours", "Assistance clientèle 24h/24 et 7j/7"],
"protectionPlans": [
{ "name": "2 ans Dommage accidentel", "price": { "value": 35.08, "currency": "EUR" } },
{ "name": "3 ans Dommage accidentel, Extension de garantie et Vol", "price": { "value": 72.94, "currency": "EUR" } }
],
"energyLabelImages": ["https://images3.joy-sourcing.com/…"],
"energyLabelUrls": ["https://m.joybuy.fr/dg-comply?tabKey=productSheet&skuId=10409338"],
"images": ["https://images3.joy-sourcing.com/…"],
"videos": [],
"thumbnailImage": "https://images3.joy-sourcing.com/…",
"specifications": { "Système d'exploitation": "iOS", "Taille de l'écran": "6.3", "5G": "Oui" },
"description": "…",
"descriptionHtml": "<div>…</div>",
"importantInfoImages": ["https://…/info-1.jpg"],
"shareLink": "https://m.joybuy.fr/landingPage/dp/10409338?siteCode=FR-Site",
"reviews": [
{ "stars": 5, "content": "Excellent téléphone…", "userNickName": "JD.com Client", "date": "2026-01-14", "usefulCount": 3 }
],
"questions": [
{ "question": "Le chargeur est-il inclus ?", "answer": "Non, vendu séparément.", "askerNick": "…", "answerCount": 2 }
],
"isSponsored": false,
"country": "FR",
"scrapingInfo": { "input": "iphone", "inputType": "keyword", "searchPage": 1, "searchIndex": 1 },
"crawledAt": "2026-08-24T09:12:00.000Z"
}

For a third-party listing, seller is the shop name (e.g. "d-power") and sellerId its shop id.

Export as JSON, CSV, Excel, or pull it via the Apify API.


Common use cases

  • Price & promo monitoring — track prices, discounts, coupons and shipping cost across Joybuy, per delivery region.
  • Competitor & market research — catalogue, ratings, sales signals ("5k+ sold").
  • Product feeds & catalogues — titles, images, specs, variants for your own store or comparison site.
  • Review & reputation analysis — ratings distribution, review text, Q&A.
  • Delivery/availability checks — delivery promise, shipping cost and per-variant availability by postcode.
  • Compliance & catalogue data — EU energy labels and product-information sheets, weight and box dimensions.

Pricing

Pay per result — you're charged only for what you actually get:

EventFree & StarterScaleBusiness and above
Product (full record)$4.99$4.49$3.99
Description + specs$1.49$1.19$0.99
Review$2.29$2.09$1.99
Question$1.99$1.49$0.99
Actor start$0.02 / run$0.02 / run$0.02 / run

Prices per 1,000, and they fall with your Apify plan — the bigger the plan, the lower the rate, automatically.

What a run actually costs. Only product is always charged — everything else depends on what you switch on:

SetupFree & StarterScaleBusiness and above
Products only (reviews, Q&A and description off)$4.99$4.49$3.99
Product + description & specs$6.48$5.68$4.98
Default run — description on, up to 10 reviews and 5 questions per productup to $39.33up to $34.03up to $29.83

That last figure is a ceiling, not a flat rate: reviews and questions are billed one by one, so a product with 3 reviews bills 3 — you're never charged for something Joybuy didn't return. maxReviews is the biggest lever on what a run costs; lower it, or turn reviews off, to bring the bill down.

No monthly fee, proxies included. (The platform pricing tab shows your plan's exact rate.)


Good to know

  • Country & currency: choose the country matching the Joybuy site you want — pricing, stock and delivery all differ per region, and each country is priced from an address in that country. Routing is selected automatically to match.
  • How much per keyword? Everything Joybuy paginates for that term — a few hundred products for a narrow keyword, up to ~1,800 for a broad one like chaussures. Set maxItemsPerInput to keep a run to the size you want; 0 takes the lot. Product URLs have no limit at all.
  • A URL decides its own market. country picks the storefront a run reads, but a start URL from a different one (a joybuy.fr link on a LU run) is read from its own market, because a catalogue only carries its own products — the log says when this happens. Belgium, the Netherlands and Luxembourg share one storefront, so a joybuy.nl link keeps whichever of the three you picked. To read a product from another country, paste its sku id instead of the full URL. Every row carries the market it was read from, shown as Market in the Products view. With a postCode set the run refuses the mix instead of redirecting — an address from one market means nothing on another.
  • Reviews/Q&A/description are optional (extra requests) — enable only what you need to keep runs fast and cheap.
  • No login required — only publicly visible product data is collected.

FAQ

Do I need proxies or an API key? No. Networking and country routing are handled inside the Actor.

Can I scrape a specific product? Yes — paste its URL (or just its numeric id) into startUrls.

Can I keep the filters from a Joybuy search URL? Yes. Paste the full search URL (with sort, price range, category…) and the Actor applies them.

Which countries? France, Germany, Belgium, Netherlands, Luxembourg, United Kingdom — all six fully, including keyword search.

Is it legal? The Actor collects only publicly accessible product information and requires no login. You are responsible for how you use the data (e.g. GDPR for reviewer names — use includePersonalData: false to exclude them).


Support

Found a missing field or a product that didn't parse? Open an issue on the Actor's page — response is fast, and the Actor is actively maintained.