Alibaba Products Scraper avatar

Alibaba Products Scraper

Pricing

Pay per event

Go to Apify Store
Alibaba Products Scraper

Alibaba Products Scraper

Search Alibaba.com product listings by keyword and get structured rows for every matching supplier offer — product id, title, price/price range, MOQ, supplier name, image, and product URL. Built for dropshippers, sourcing agents, and e-commerce tooling. A wholesale supplier API alternative.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share


🎯 What this scrapes

Alibaba.com is the largest B2B sourcing marketplace on the web, and its own search box is the only way most buyers ever touch it. This Actor pastes your search terms into that search box for you — feed it one or more free-text queries like "bluetooth speaker" or "led strip light" and get back structured rows for every matching supplier offer: product ID, title, price or price range, minimum order quantity, supplier name, primary image, and the direct product URL. Pagination and cross-page duplicate offers (a known quirk of Alibaba's sponsored listings) are handled for you, so every row in your dataset is a unique product.

🔥 What we handle for you

  • 🛡️ Browser fingerprint rotationcurl-cffi impersonates real Chrome / Firefox TLS handshakes on every fetch, good hygiene on any target.
  • 🔁 Retries with exponential backoff on 408 / 429 / 503 and network errors — up to 5 attempts per page, Retry-After honoured.
  • 🧹 Run-wide duplicate removal — Alibaba's sponsored listings repeat across search pages; we dedupe every product ID across the whole run, not just per page, so you never pay twice for the same product.
  • 🧩 Per-term fault isolation — one search term's fetch or parse failure skips just that term with a logged warning; it never sinks the whole run.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable product IDs, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. A search that runs and matches nothing still succeeds — no data, no charge beyond the warm-up fee.

💡 Use cases

  • Dropshipping sourcing — bulk-collect candidate suppliers and price ranges for a product niche before committing to a sample order.
  • Sourcing-agent workflows — turn a client's product brief into a structured shortlist of Alibaba suppliers in minutes.
  • Price benchmarking — compare price/MOQ spread across many suppliers for the same product category.
  • E-commerce tooling — feed supplier catalogs into internal PIM/ERP systems without hand-browsing search pages.
  • Market research — track how many suppliers list a given product and how pricing shifts over time.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
searchTermsarrayno['bluetooth speaker', 'led strip light']One or more free-text Alibaba search queries (e.g. bluetooth speaker, led strip light). Each…
maxResultsPerTermintegerno100Cap on unique products collected per search term. Values above ~50 force multi-page pagination with run-wide duplicate…
proxyConfigurationobjectno{'useApifyProxy': True}Apify Proxy spec — mandatory field. Live recon found no anti-bot challenge on alibaba.com/trade/search, so the standard…

Example input

{
"searchTerms": [
"bluetooth speaker",
"led strip light"
],
"maxResultsPerTerm": 5,
"proxyConfiguration": {
"useApifyProxy": true
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
product_idstringAlibaba's internal product ID.
search_termstringThe search query that produced this row.
titlestringProduct title as listed on the search results page.
pricestringRaw price or price-range string as served (mixed currency formats preserved).
moqstringMinimum order quantity string, when present.
supplier_namestringSupplier / company name, when present.
image_urlstringPrimary listing image URL.
product_urlstringAbsolute alibaba.com product detail page URL.
page_numberinteger1-indexed search results page this row was found on.
scraped_atstringUTC ISO-8601 timestamp captured when the page was fetched.

Example output

{
"product_id": "1600123456789",
"search_term": "bluetooth speaker",
"title": "Wholesale Portable Waterproof Bluetooth Speaker Outdoor",
"price": "$3.50-5.20",
"moq": "100 pieces",
"supplier_name": "Shenzhen Example Electronics Co., Ltd.",
"image_url": "https://s.alicdn.com/@sc04/kf/example.jpg",
"product_url": "https://www.alibaba.com/product-detail/example_1600123456789.html",
"page_number": 1,
"scraped_at": "2026-09-17T12:00:00Z"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.20One-off warm-up charge per run
result-item$0.006Per unique dataset item

Example: 1 000 results at the rates above ≈ $6.20. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

  • v0.1 is a search-results scraper only — product detail-page enrichment (supplier contact info, reviews, certifications) is out of scope.
  • 1688.com (Alibaba's Chinese-domestic sister site) is a different host and is not covered by this Actor.
  • Login-gated data (RFQ quotes, buyer-specific pricing) is out of scope.

❓ FAQ

Do I need an Alibaba account?

No. This Actor scrapes Alibaba's public trade/search results page — no login required.

How do I widen my results?

Add more or broader searchTerms — each term paginates independently up to maxResultsPerTerm unique products.

Why did I get fewer rows than maxResultsPerTerm?

Alibaba's sponsored listings repeat heavily across pages. We dedupe by product ID across the whole run, so a term stops paginating once a page stops contributing new products — that's a real ceiling on that term, not a bug.

Do I need a residential proxy?

You don't need to configure one — we already do it for you. 🛡️ Early recon saw no challenge on alibaba.com/trade/search, but that didn't hold: a full run on the plain pool hit a served 200-OK anti-bot challenge on every search term. So the Actor now pins a US residential session by default and rotates it on every detected challenge. Leave proxyConfiguration alone and it just works; an explicit apifyProxyGroups in your input still overrides us.

What happens if a search term matches nothing?

The run succeeds with zero rows for that term and reports what was searched — a real zero-match result is not treated as a failure.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.