Suning.com Search Scraper
Pricing
from $0.50 / 1,000 products
Suning.com Search Scraper
Searches Suning.com (苏宁易购) by keyword and returns product listings: title, price, discount, reviews, seller and image.
Pricing
from $0.50 / 1,000 products
Rating
0.0
(0)
Developer
DataCach
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Search Suning.com (苏宁易购) — one of China's largest online retailers — by keyword and get back clean, structured product data: title, price, original price, discount, review count, seller, and image. This Suning.com scraper runs over plain HTTP (no browser, no login, no CAPTCHA-solving) and is ready to use in seconds on the Apify platform, with a REST API, scheduling, monitoring, and integrations (Zapier, Make, Google Sheets, and more) included out of the box.
What is Suning.com Search Scraper?
Suning.com Search Scraper is an easy Apify Actor that extracts product listings from Suning.com search results for any keyword you provide, in Chinese or English. Give it one or more search terms, and it returns every matching product's title, pricing, discount, review count, and seller details as ready-to-use JSON, CSV, or Excel data — no scraping code required.
What can Suning.com Search Scraper do?
- 🔍 Scrape Suning.com by keyword — accepts any number of search terms, in Chinese or English (e.g.
耳机,bluetooth speaker). - ⚡ Fast HTTP-based extraction — no headless browser, so runs finish in seconds rather than minutes.
- 🔁 Concurrent keyword scraping — every keyword in your list runs in parallel, not one after another.
- 🏬 Seller and inventory detail — flags whether each listing is sold by Suning itself ("self-operated") or by a third-party marketplace vendor.
- ⏱️ Extraction timestamps — every item is stamped with the exact UTC date and time it was scraped, for tracking price changes over time.
- ⏭️ Resume across runs without duplicates — skip products you already collected, either by position (
startIndex) or by URL (excludeUrls), so a follow-up run can fetch the next batch instead of starting over. - 📤 Multiple export formats — download results as JSON, CSV, Excel, HTML, or XML straight from the Output tab or via the API.
- ☁️ Full Apify platform integration — schedule recurring runs, trigger via the API, connect to Zapier/Make, and monitor runs from the Apify Console.
- 🌐 Optional proxy support — Apify Proxy can be enabled for very large runs, though it wasn't needed in live testing.
What data does Suning.com Search Scraper extract?
| Field | Description |
|---|---|
keyword | The search keyword this item was found under. |
position | The product's 1-based rank within that keyword's search results, in the order it was discovered (accounts for startIndex — see Input). |
skuId | Suning's product SKU identifier. |
shopId | Suning's shop identifier (0000000000 for Suning's own inventory). |
title | Product title. |
url | Direct link to the product page on product.suning.com. |
imageUrl | Product thumbnail image URL. |
price | Current price, if available (see note below). |
originalPrice | Pre-discount list price, if available. |
discount | Discount value as shown by Suning, if available. |
reviewCount | Review count text as shown on the listing (e.g. "30+评价"). |
vendorName | Seller/store name. |
isSelfOperated | true if sold and shipped by Suning itself, false for a third-party marketplace seller. |
page | Zero-indexed search-result page the item was found on. |
extraction_datetime | UTC timestamp when the item was extracted (ISO 8601), e.g. 2026-08-04T09:15:22.123456+00:00. |
extraction_date | Extraction date in mm-dd-yyyy format, e.g. 08-04-2026. |
Note on price coverage: live testing shows Suning's own inventory (isSelfOperated: true) reliably returns price. Third-party marketplace sellers consistently come back with price: null, since Suning's price endpoint does not expose pricing for third-party listings the same way. Title, URL, image, review count, and seller info are unaffected and always populated when present on the page.
How do I use Suning.com Search Scraper to scrape Suning.com?
- Open the Actor's Input tab in Apify Console.
- Add one or more Search keywords (Chinese or English both work, e.g.
耳机orbluetooth speaker). - Optionally adjust Max products per keyword (default: 60).
- Click Start.
- When the run finishes, open the Output tab (or the dataset in Storage) and export your results as JSON, CSV, Excel, HTML, or XML.
No Suning.com account is needed, and the default configuration works without a proxy.
Input
The Actor accepts a simple JSON input, configurable via the Input tab in Apify Console:
- Search keywords (
keywords, required) — the search terms to look up on Suning.com. Each keyword runs as its own search, and all keywords run concurrently. Mix Chinese and English freely, e.g.耳机,bluetooth speaker. - Max products per keyword (
maxItemsPerKeyword, default60) — how many products to scrape per keyword. Results are fetched in pages of roughly 30, and scraping stops early once the last result page is reached. - Start index (
startIndex, default0) — skip this many products from the start of each keyword's results before saving any. See Skipping products you already have below. - Exclude product URLs (
excludeUrls, default[]) — a list of product URLs to never save again, regardless of their position. See Skipping products you already have below. - Proxy configuration (
proxyConfiguration, optional, off by default) — enable Apify Proxy for very large runs. Live testing (100 sequential + 500 concurrent requests) showed no rate-limiting on Suning's search endpoint, so it isn't required for typical usage.
Example input:
{"keywords": ["耳机", "bluetooth speaker"],"maxItemsPerKeyword": 60,"startIndex": 0,"excludeUrls": [],"proxyConfiguration": { "useApifyProxy": false }}
Skipping products you already have
Suning's search results reflect what's on the page at the moment you run the Actor, so re-running the same keyword doesn't "continue where you left off" by itself — it searches again from the top. If you've already collected 100 products for a keyword and want the next 100 without re-collecting what you already have, two inputs work together for that:
startIndexskips a fixed number of products by position. Set it to100to save products starting from result #101 onward. Suning's result order is stable between runs of the same keyword, so index 101 today is the same rank as index 101 tomorrow (barring the site itself re-ordering results). Note this does not speed up the run — the Actor still has to fetch every page up to that point, it just changes which products get saved (and, if you're on pay-per-result pricing, which ones you're billed for). Combined with Max products per keyword, the saved range for each keyword is[startIndex, startIndex + maxItemsPerKeyword).excludeUrlsskips specific products by URL, no matter where they now rank. This is the more robust option if Suning's result order shifts between runs, or if you're keeping a running list of product URLs you've already collected across several runs and just want the new ones.excludeUrlsis applied afterstartIndex.
Because prices, discounts, and review counts can change, re-scraping a product you already have isn't necessarily wasted — these inputs are for when you specifically want to avoid duplicates, not a hard guarantee against them (a product can shift rank between runs and still slip past startIndex, which is why excludeUrls exists as the exact-match fallback).
On the free plan, startIndex is ignored (always treated as 0) and excludeUrls is capped at 1 URL — see Free vs Premium.
Output example
Each scraped product is stored as one item in the Actor's dataset. Example output for two items — one from Suning's own inventory and one from a third-party marketplace seller — built from real Actor fields (illustrative values):
[{"keyword": "耳机","position": 1,"skuId": "12448640418","shopId": "0000000000","title": "华为FreeClip 2 耳夹耳机 丹宁蓝 全新C形桥 舒适稳固 澎湃双擎 智感聆听 开放式无线蓝牙耳机","url": "https://product.suning.com/0000000000/12448640418.html","imageUrl": "https://imgservice3.suning.cn/uimg1/b2c/image/4coqxWUp83povLafhJ6XIQ.jpg_400w_400h_4e","price": 1299.0,"originalPrice": 1499.0,"discount": "8.7","reviewCount": "30+评价","vendorName": "苏宁自营","isSelfOperated": true,"page": 0,"extraction_datetime": "2026-08-04T09:15:22.123456+00:00","extraction_date": "08-04-2026"},{"keyword": "耳机","position": 2,"skuId": "11802577176","shopId": "0071077022","title": "漫步者(EDIFIER)W3 漫威定制版 真无线蓝牙耳机 迷你入耳式耳机 通用苹果小米手机","url": "https://product.suning.com/0071077022/11802577176.html","imageUrl": "https://imgservice5.suning.cn/uimg1/b2c/image/fxx4dG5nqmtEXXOeG3QbZQ.jpg_400w_400h_4e","price": null,"originalPrice": null,"discount": "","reviewCount": "30+评价","vendorName": null,"isSelfOperated": false,"page": 0,"extraction_datetime": "2026-08-04T09:15:22.981045+00:00","extraction_date": "08-04-2026"}]
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel from the Output tab or via the API.
Free vs Premium
Suning.com Search Scraper automatically detects whether you're on an Apify free or paid account (via Actor.get_env().user_is_paying) — you don't configure anything manually, the run adapts on its own:
| Free plan | Premium / paid plan | |
|---|---|---|
| Keywords per run | Capped at 1 keyword | As many keywords as you add, all run concurrently |
| Products per keyword | Capped at 10 products | Up to your chosen maxItemsPerKeyword value, no extra cap |
startIndex | Ignored (always 0) | Any value you set |
excludeUrls | Capped at 1 URL | Any number of URLs |
| Proxy required | No | No (optional, same as free) |
This means anyone can try the Actor for free with a single keyword and a small sample of results, and upgrading an Apify account immediately unlocks full multi-keyword, full-volume runs on the exact same Actor — no separate paid version to switch to.
Use cases
- 🏷️ Price monitoring — track how competitors or your own listings are priced on Suning.com over time by scheduling recurring runs.
- 🕵️ Competitor research — see which sellers rank for a keyword, whether they're Suning's own inventory or third-party marketplace vendors, and how many reviews they've accumulated.
- 📦 Sourcing and wholesale research — quickly survey product variety and pricing for a category before making sourcing decisions.
- 📊 Market data for analysts and resellers — feed structured Suning.com listings into spreadsheets, dashboards, or pricing models without writing a scraper.
- 🔗 API and workflow automation — trigger runs from your own app via the Apify API, or connect the dataset to Zapier/Make for downstream automation.
Suning.com-related Actors
FAQ
Is it legal to scrape Suning.com?
This Actor extracts publicly available product listing pages on Suning.com — the same information any visitor sees without logging in. It does not collect personal data, does not require or store Suning account credentials, and does not interact with checkout, payment, or account pages. Scraping public data does not automatically guarantee compliance with a site's Terms of Service, so evaluate your own use case's requirements before running large-scale extraction jobs. See Suning.com's Terms of Service for reference.
Does this scraper need a Suning.com login or a proxy?
No. It runs over plain HTTP without a browser, does not require a Suning.com account, and works without a proxy for typical runs — proxy configuration is available but optional for very large-scale scraping.
Why is price sometimes null in the output?
Suning's own inventory (isSelfOperated: true) reliably returns pricing. Third-party marketplace sellers consistently return price: null, because Suning's price endpoint doesn't expose pricing for third-party listings the same way it does for self-operated ones. Title, URL, image, reviews, and seller info are unaffected.
Does Suning.com Search Scraper have an API?
Yes. Every Apify Actor, including this one, is available through the Apify API, so you can start runs, poll status, and fetch dataset results programmatically, or schedule recurring runs directly from the Apify Console.
Can I scrape the next batch of products without re-collecting ones I already have?
Yes. Use Start index (startIndex) to skip a fixed number of products by position (e.g. 100 to fetch starting from result #101), or Exclude product URLs (excludeUrls) to skip specific products by URL regardless of their rank. See Skipping products you already have for details. Note that this changes which products are saved, not how fast the run is — the Actor still fetches every page up to that point.
What happens if Suning.com changes its page structure?
Suning.com may change its page structure or endpoints at any time, which can require an update to this Actor. Report broken output via the Issues tab so it can be fixed quickly.
Support
Found a bug or have a feature request? Open an issue in the Actor's Issues tab in Apify Console. Need a tailored version of this scraper (extra fields, product-detail pages, or a different target site)? Reach out — custom scraper development is available.