Alibaba B2B Product Scraper
Pricing
from $2.99 / 1,000 b2b products
Alibaba B2B Product Scraper
Direct public SSR/JSON-LD scraper for Alibaba.com B2B product listings, including MOQ, prices, supplier ratings, and bounded product metadata.
Alibaba B2B Product Scraper
Pricing
from $2.99 / 1,000 b2b products
Direct public SSR/JSON-LD scraper for Alibaba.com B2B product listings, including MOQ, prices, supplier ratings, and bounded product metadata.
You can access the Alibaba B2B Product Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "1.2", "x-build-id": "HoimW2Lzm0fmleVXz" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/w3crawler~alibaba-b2b-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-w3crawler-alibaba-b2b-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/w3crawler~alibaba-b2b-scraper/runs": { "post": { "operationId": "runs-sync-w3crawler-alibaba-b2b-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/w3crawler~alibaba-b2b-scraper/run-sync": { "post": { "operationId": "run-sync-w3crawler-alibaba-b2b-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "properties": { "keyword": { "title": "Search keyword", "minLength": 1, "maxLength": 200, "type": "string", "description": "Product phrase used for the default Alibaba search URL. Canonical field; keyword/query aliases are accepted for compatibility.", "default": "wireless earbuds" }, "startUrls": { "title": "Start URLs", "maxItems": 20, "type": "array", "description": "Optional public Alibaba.com trade-search, country-search, or product-detail URLs. Country-search pagination follows Alibaba's numbered page URLs. Multiple sources are crawled with one global maxItems cap.", "items": { "type": "object", "properties": { "url": { "title": "URL", "type": "string", "description": "HTTPS www.alibaba.com/trade/search or /product-detail URL." } }, "required": [ "url" ], "additionalProperties": false } }, "sourceUrls": { "title": "Legacy source URLs", "maxItems": 20, "type": "array", "description": "Compatibility alias for startUrls. If both are supplied, startUrls are processed first.", "items": { "type": "object", "properties": { "url": { "title": "URL", "type": "string", "description": "HTTPS public Alibaba.com search or product-detail URL." } }, "required": [ "url" ], "additionalProperties": false } }, "sourceUrl": { "title": "Legacy source URL", "type": "string", "description": "Compatibility alias for one public Alibaba.com URL. It is appended after startUrls/sourceUrls." }, "searchUrl": { "title": "Legacy search URL", "type": "string", "description": "Compatibility alias for one public Alibaba.com search URL." }, "keywords": { "title": "Legacy keyword alias", "type": "string", "description": "Compatibility alias for keyword; canonical keyword takes precedence." }, "searchQuery": { "title": "Legacy search-query alias", "type": "string", "description": "Compatibility alias for keyword." }, "query": { "title": "Legacy query alias", "type": "string", "description": "Compatibility alias for keyword." }, "queries": { "title": "Legacy query list", "maxItems": 20, "type": "array", "description": "Compatibility alias; the first non-empty query is used.", "items": { "type": "string", "minLength": 1, "maxLength": 200 } }, "country": { "title": "Alibaba market", "enum": [ "global" ], "type": "string", "description": "Configured market. The current actor supports the public global Alibaba.com catalog.", "default": "global" }, "locale": { "title": "Locale", "enum": [ "en-US", "en-GB", "de-DE", "fr-FR", "es-ES", "it-IT", "pt-BR", "ja-JP", "ko-KR", "zh-CN" ], "type": "string", "description": "Locale used for browser and HTTP Accept-Language headers. Alibaba may still choose the displayed currency/catalog.", "default": "en-US" }, "maxItems": { "title": "Maximum products", "minimum": 1, "maximum": 500, "type": "integer", "description": "Global maximum number of product rows across all sources and pages. Diagnostics do not consume this product cap.", "default": 40 }, "maxPages": { "title": "Maximum pages per search source", "minimum": 0, "maximum": 100, "type": "integer", "description": "Per-source page bound. Use 0 to follow observed next-page links up to the actor hard cap of 100 pages.", "default": 3 }, "max_products": { "title": "Legacy maximum products", "minimum": 1, "maximum": 500, "type": "integer", "description": "Compatibility alias for maxItems." }, "maxProducts": { "title": "Legacy maximum products alias", "minimum": 1, "maximum": 500, "type": "integer", "description": "Compatibility alias for maxItems." }, "max_pages": { "title": "Legacy maximum pages alias", "minimum": 0, "maximum": 100, "type": "integer", "description": "Compatibility alias for maxPages." }, "sortBy": { "title": "Sort products by", "enum": [ "best_match", "transaction_level", "price_asc", "price_desc", "rating_desc", "reviews_desc", "sold_desc", "supplier_years_desc" ], "type": "string", "description": "Global sort applied after all requested sources/pages are collected. Missing values sort after populated values.", "default": "best_match" }, "excludeAds": { "title": "Exclude sponsored results", "type": "boolean", "description": "Discard cards that Alibaba labels as ads.", "default": false }, "certifiedOnly": { "title": "Certified products only", "type": "boolean", "description": "Keep only cards displaying Alibaba certification text/badges.", "default": false }, "supplierCountry": { "title": "Supplier country code", "pattern": "^(?:any|[A-Za-z]{2,3})$", "type": "string", "description": "Optional displayed supplier country/region code such as CN or IN. Use any for all countries.", "default": "any" }, "supplierLocation": { "title": "Supplier location text", "maxLength": 120, "type": "string", "description": "Optional case-insensitive match against publicly exposed supplier location/country text." }, "minPrice": { "title": "Minimum displayed price", "minimum": 0, "type": "number", "description": "Keep products whose displayed price range reaches this value. No currency conversion is performed." }, "maxPrice": { "title": "Maximum displayed price", "minimum": 0, "type": "number", "description": "Keep products whose displayed price range overlaps this value. No currency conversion is performed." }, "minOrderQuantity": { "title": "Minimum MOQ", "minimum": 1, "type": "number", "description": "Keep products with a displayed minimum order quantity at or above this value." }, "minSupplierRating": { "title": "Minimum supplier rating", "minimum": 0, "maximum": 5, "type": "number", "description": "Keep products with a displayed supplier rating at or above this five-point value." }, "minReviewCount": { "title": "Minimum supplier reviews", "minimum": 0, "type": "integer", "description": "Keep products with at least this displayed supplier review count." }, "minSoldCount": { "title": "Minimum sold count", "minimum": 0, "type": "integer", "description": "Keep products with at least this publicly displayed sold count." }, "minReorderRatePercent": { "title": "Minimum reorder rate (%)", "minimum": 0, "maximum": 100, "type": "number", "description": "Keep products with a displayed reorder rate at or above this percentage." }, "requiredBadges": { "title": "Required badges", "maxItems": 10, "type": "array", "description": "Keep products whose normalized badge text includes every listed value, for example certified.", "items": { "type": "string", "minLength": 1, "maxLength": 60 } }, "includeMedia": { "title": "Include media", "type": "boolean", "description": "Include validated public Alibaba CDN imageUrl, thumbnail, images, imageUrls, imageCount, and imageAlt fields.", "default": true }, "includeDetails": { "title": "Enrich with product details", "type": "boolean", "description": "After selecting products, visit up to maxDetailItems public product-detail pages for description, brand, SKU, attributes, detail images, availability, price, rating, and canonical metadata.", "default": false }, "maxDetailItems": { "title": "Maximum detail pages", "minimum": 0, "maximum": 500, "type": "integer", "description": "Bound the number of optional product-detail visits. Detail failures remain attached to the base product row.", "default": 40 }, "include_details": { "title": "Legacy detail alias", "type": "boolean", "description": "Compatibility alias for includeDetails." }, "deduplicate": { "title": "Deduplicate products", "type": "boolean", "description": "Suppress repeated product IDs across pages and sources.", "default": true }, "requestDelayMs": { "title": "Request delay (ms)", "minimum": 0, "maximum": 15000, "type": "integer", "description": "Delay before each browser/HTTP page request. Use a bounded value that respects the source.", "default": 1000 }, "pageDelayMs": { "title": "Legacy page delay (ms)", "minimum": 0, "maximum": 15000, "type": "integer", "description": "Compatibility alias for requestDelayMs." }, "maxConcurrency": { "title": "Maximum concurrency", "minimum": 1, "maximum": 5, "type": "integer", "description": "Maximum concurrent browser requests for search/detail crawling.", "default": 2 }, "maxRequestRetries": { "title": "Maximum request retries", "minimum": 0, "maximum": 10, "type": "integer", "description": "Retries for transient browser/HTTP failures. Access barriers are not bypassed or retried as a workaround.", "default": 3 }, "requestTimeoutSecs": { "title": "Request timeout (seconds)", "minimum": 15, "maximum": 300, "type": "integer", "description": "Per-navigation and HTTP request timeout.", "default": 60 }, "navigationTimeoutSecs": { "title": "Legacy navigation timeout (seconds)", "minimum": 15, "maximum": 300, "type": "integer", "description": "Compatibility alias for requestTimeoutSecs." }, "timeoutMs": { "title": "Legacy timeout (ms)", "minimum": 15000, "maximum": 300000, "type": "integer", "description": "Compatibility alias for requestTimeoutSecs." }, "requestHandlerTimeoutSecs": { "title": "Request-handler timeout (seconds)", "minimum": 60, "maximum": 900, "type": "integer", "description": "Maximum allowed time for one Crawlee request handler, including page extraction.", "default": 300 }, "selectorTimeoutSecs": { "title": "Selector timeout (seconds)", "minimum": 5, "maximum": 120, "type": "integer", "description": "Reserved compatibility option for selector readiness checks.", "default": 30 }, "proxyConfiguration": { "title": "Apify Proxy", "type": "object", "description": "Optional standard Apify Proxy routing for public requests. Proxying changes the route only; it does not solve CAPTCHA or bypass access controls.", "properties": { "useApifyProxy": { "title": "Use Apify Proxy", "type": "boolean", "description": "Route browser and HTTP requests through Apify Proxy." }, "apifyProxyGroups": { "title": "Proxy groups", "type": "array", "description": "Optional Apify Proxy groups.", "items": { "type": "string" } }, "apifyProxyCountry": { "title": "Proxy country", "type": "string", "description": "Optional two- or three-letter Apify Proxy country code.", "pattern": "^[A-Za-z]{2,3}$" } }, "additionalProperties": false }, "verified_supplier": { "title": "Legacy certified alias", "type": "boolean", "description": "Compatibility alias for certifiedOnly." }, "alibaba_guaranteed": { "title": "Legacy Alibaba-guaranteed alias", "type": "boolean", "description": "Compatibility alias for certifiedOnly." }, "price_min": { "title": "Legacy minimum price", "minimum": 0, "type": "number", "description": "Compatibility alias for minPrice." }, "price_max": { "title": "Legacy maximum price", "minimum": 0, "type": "number", "description": "Compatibility alias for maxPrice." }, "moq_min": { "title": "Legacy minimum MOQ", "minimum": 1, "type": "number", "description": "Compatibility alias for minOrderQuantity." } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 }, "PROXY_UNBLOCKER_UNITS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 }, "PROXY_UNBLOCKER_UNITS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Alibaba B2B Product Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: