Alibaba Product Profile Scraper avatar

Alibaba Product Profile Scraper

Pricing

from $2.99 / 1,000 product details

Go to Apify Store
Alibaba Product Profile Scraper

Alibaba Product Profile Scraper

Extract public Alibaba product profiles, offers, supplier signals, attributes, and media.

Pricing

from $2.99 / 1,000 product details

Rating

0.0

(0)

Developer

w3crawler

w3crawler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Share

Alibaba Product Details Scraper

This Actor extracts rich, publicly visible product profiles from Alibaba product-detail pages. It combines Schema.org JSON-LD with visible attribute rows and returns normalized product identity, descriptions, offers, supplier signals, ratings, media, attributes, breadcrumbs, and provenance.

It is read-only: no login, private supplier portal, quotation submission, CAPTCHA bypass, fingerprint spoofing, or access-control evasion is attempted. The dataset contains source-backed product profiles only; blocked and unusable pages are counted in the run summary and detailed in logs.

Input examples

Single product:

{
"productUrl": "https://www.alibaba.com/product-detail/Public-Steel-Bottle_1600374022155.html",
"maxItems": 1,
"includeMedia": true,
"requestTimeoutSecs": 45
}

Batch with filters and sorting:

{
"productUrls": [
"https://www.alibaba.com/product-detail/Public-Steel-Bottle_1600374022155.html",
"https://www.alibaba.com/product-detail/Another-Public-Product_1600000000000.html"
],
"minRating": 4,
"minReviewCount": 10,
"currency": "USD",
"textQuery": "bottle",
"sortBy": "rating_desc",
"deduplicate": true
}

Supported sortBy values are relevance, price_asc, price_desc, rating_desc, reviews_desc, supplier_asc, and title_asc. Output controls can omit media, attributes, or supplier details without changing the public fetch contract.

Developer options

The input schema groups bounded operational controls under Developer options:

  • requestTimeoutSecs (5-300), with legacy alias timeoutSecs
  • requestDelayMs (0-15,000)
  • maxConcurrency (1-5)
  • maxRequestRetries (0-10)
  • maxBytes (1,000-15,000,000)

Requests use the standard Fetch API without proxy routing or browser-fingerprint headers. Access challenges and rate limits are terminal; the Actor records the failure and does not attempt a bypass.

Dataset output

Product rows can include:

  • productId, title, name, description, productUrl, sourceUrl, sku, and mpn
  • price, priceMin, priceMax, priceFormatted, currency, availability, and MOQ fields when visible
  • supplierName, companyName, supplier profile/location/rating, and public supplier badges
  • ratingValue, productRating, reviewCount, soldCount
  • imageUrl, thumbnail, images, imageUrls, and imageCount
  • visible attributes, specifications, variations, and breadcrumbs
  • public shipping/lead-time and assurance/verification flags when exposed

The dataset does not contain fieldCoverage, dataQuality, recordId, recordType, success, dataAvailable, proxy metadata, request counters, diagnostics, or other Actor-debugging fields. Each row has a public product URL, product ID, visible title, and scrape timestamp.

Example product row:

{
"url": "https://www.alibaba.com/product-detail/Public-Steel-Bottle_1600374022155.html",
"productUrl": "https://www.alibaba.com/product-detail/Public-Steel-Bottle_1600374022155.html",
"productId": "1600374022155",
"title": "Public Steel Bottle",
"description": "A public wholesale bottle.",
"supplierName": "Public Supplier",
"price": 12.5,
"priceMin": 12.5,
"priceMax": 12.5,
"currency": "USD",
"availability": "InStock",
"productRating": 4.6,
"reviewCount": 18,
"imageUrl": "https://sc04.alicdn.com/public-bottle.jpg",
"thumbnail": "https://sc04.alicdn.com/public-bottle.jpg",
"images": ["https://sc04.alicdn.com/public-bottle.jpg"],
"imageCount": 1,
"scrapedAt": "2026-09-07T07:40:28.085Z"
}

OUTPUT_SUMMARY contains persisted product, operational issue, filter, retry, request, and deduplication counts. Failure details stay in run logs, and the dataset contains source-backed product rows only.

Runs that save product rows and also encounter per-item or optional-output failures finish as SUCCEEDED with dataStatus: PARTIAL. A batch whose source profiles were all successfully filtered out completes with status: SUCCEEDED and dataStatus: NO_RESULTS. A blocked request or extraction failure with no saved product rows is reported as FAILED and exits nonzero.

Offline QA and deployment

For deterministic offline QA, set fixturePath to test/fixtures/product.json in the input. The checked-in .actor/input.json is a single live public product URL intended for cloud runs.

npm ci
npm test
npm run check
apify run --input-file fixture-input.json --purge

Checked-in fixtures are for local automated QA only. Live runs use public product URLs.

Run summaries include the required status, runStatus, and dataStatus fields. status and runStatus are SUCCEEDED when source-backed rows were saved or a run completed cleanly with no matches; they are FAILED only when a real failure occurs before any rows are saved. dataStatus is COMPLETE, PARTIAL, NO_RESULTS, or FAILED. Failure details stay in the run logs; key-value summaries retain counts only.