{
  "openapi": "3.0.1",
  "info": {
    "title": "Made-in-China Scraper - Products, Suppliers, Price Tiers",
    "description": "Scrape Made-in-China.com products with every quantity price tier, MOQ, specs, HS code and video, plus the supplier behind each: audit report, contact person and position, fax, website, reviews and lead score. Search by keyword or paste any link. Export to JSON, CSV, Excel.",
    "version": "0.0",
    "x-build-id": "6ht9rA3DmLzM5jjQz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zen-studio~made-in-china-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zen-studio-made-in-china-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/zen-studio~made-in-china-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zen-studio-made-in-china-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/zen-studio~made-in-china-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zen-studio-made-in-china-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": {
          "mode": {
            "title": "What to collect",
            "enum": [
              "products",
              "suppliers"
            ],
            "type": "string",
            "description": "<b>Products</b>: one row per product, with the supplier attached.<br><b>Suppliers</b>: one row per company.<br>Product, search, category and hot-products links always give products; supplier search and manufacturers directory links always give suppliers; supplier storefront and product-group links follow this choice.",
            "default": "products"
          },
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "One search per line, in English, as you would type it into the Made-in-China.com search box. Each keyword gets its own result limit.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Paste any link from the English Made-in-China.com site, one per line: a product page, a supplier storefront, a search results page, a category page, a hot-products page, a supplier search page or a manufacturers directory page. Each link gets its own result limit.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max results per keyword or link",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "How many products (or suppliers) to collect for <b>each</b> keyword and each link. Set <code>0</code> to collect everything available.",
            "default": 100
          },
          "includeProductDetails": {
            "title": "Include full product details",
            "type": "boolean",
            "description": "Adds the price-tier ladder, all specifications, HS code, packaging, sample price, video, description, category path and FAQ for every product. Turn off for faster runs with search-card data only.",
            "default": true
          },
          "includeSupplierProfile": {
            "title": "Include supplier profile",
            "type": "boolean",
            "description": "Adds the supplier's profile: business type, year established, employees, plant area, markets, certifications, audit agency and report number, contact person and position, fax, website, review statistics and the lead score. Loaded once per supplier.",
            "default": true
          },
          "includeReviews": {
            "title": "Include supplier reviews",
            "type": "boolean",
            "description": "Adds buyers' reviews of each supplier as separate rows (<code>type</code> = <code>review</code>): star rating, text, date, buyer country, the product reviewed, photos and the supplier's reply. Each supplier's reviews are added once per run and <b>every review is billed separately</b>, so this is off by default. Loads the supplier profile even when it is switched off. Review counts and star breakdowns are always part of the supplier profile.",
            "default": false
          },
          "maxReviewsPerSupplier": {
            "title": "Max reviews per supplier",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "When reviews are on: how many of each supplier's reviews to collect, in the site's own order (mostly newest first).",
            "default": 20
          },
          "auditedOnly": {
            "title": "Audited suppliers only",
            "type": "boolean",
            "description": "Only suppliers audited on site by an independent inspection agency (SGS, BV, TÜV Rheinland and others).",
            "default": false
          },
          "securedTradingOnly": {
            "title": "Secured Trading products only",
            "type": "boolean",
            "description": "Only products that can be ordered with Made-in-China.com payment protection.",
            "default": false
          },
          "leadingFactoryOnly": {
            "title": "Leading factories only",
            "type": "boolean",
            "description": "Only suppliers marked as leading factories, and their products.",
            "default": false
          },
          "sampleAvailableOnly": {
            "title": "Samples available only",
            "type": "boolean",
            "description": "Only products for which the supplier sells samples.",
            "default": false
          },
          "businessTypes": {
            "title": "Supplier business type",
            "type": "array",
            "description": "Only suppliers of these business types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "manufacturer",
                "trading_company",
                "group_corporation",
                "other"
              ],
              "enumTitles": [
                "Manufacturer / factory",
                "Trading company",
                "Group corporation",
                "Other"
              ]
            }
          },
          "rdCapabilities": {
            "title": "R&D capability",
            "type": "array",
            "description": "Only suppliers offering these services. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "oem",
                "odm",
                "own_brand",
                "other"
              ],
              "enumTitles": [
                "OEM",
                "ODM",
                "Own brand",
                "Other"
              ]
            }
          },
          "province": {
            "title": "Supplier province",
            "enum": [
              "Anhui",
              "Beijing",
              "Chongqing",
              "Fujian",
              "Gansu",
              "Guangdong",
              "Guangxi",
              "Guizhou",
              "Hainan",
              "Hebei",
              "Heilongjiang",
              "Henan",
              "Hong Kong",
              "Hubei",
              "Hunan",
              "Inner Mongolia",
              "Jiangsu",
              "Jiangxi",
              "Jilin",
              "Liaoning",
              "Ningxia",
              "Qinghai",
              "Shaanxi",
              "Shandong",
              "Shanghai",
              "Shanxi",
              "Sichuan",
              "Tianjin",
              "Tibet",
              "Xinjiang",
              "Yunnan",
              "Zhejiang"
            ],
            "type": "string",
            "description": "Only suppliers located in this province or province-level city. Leave empty for all."
          },
          "minPrice": {
            "title": "Minimum price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Only products whose price range reaches at least this amount in US dollars, for example 1.5."
          },
          "maxPrice": {
            "title": "Maximum price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Only products whose price range starts at or below this amount in US dollars, for example 20."
          },
          "maxMoq": {
            "title": "Maximum minimum order quantity",
            "minimum": 1,
            "type": "integer",
            "description": "Only products you can order in quantities of this many units or fewer."
          },
          "minLeadScore": {
            "title": "Minimum lead score (0-100)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Only rows whose supplier scores at least this much. The score adds up audit status, membership, years on the platform, rating, capability stars, certifications, export experience, listed markets and a named contact."
          },
          "onlyNewResults": {
            "title": "Only new results",
            "type": "boolean",
            "description": "Skip products and suppliers that an earlier run with this option already delivered, so repeated runs return only what is new. The list of delivered results is kept in your account under the history name below.",
            "default": false
          },
          "historyName": {
            "title": "History name",
            "type": "string",
            "description": "Name of the stored history used by 'Only new results'. Use a different name per monitored search to keep them apart. Lowercase letters, digits and hyphens."
          },
          "feedback": {
            "title": "Feedback to the maintainers",
            "type": "string",
            "description": "For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}