{
  "openapi": "3.0.1",
  "info": {
    "title": "Made-in-China Scraper — Chinese Supplier Directory",
    "description": "Scrape supplier and product data from Made-in-China.com, a major B2B platform connecting Chinese manufacturers with global buyers. Extract company profiles, products, prices, MOQ, certifications, and contact info. Build supplier databases for sourcing and procurement.",
    "version": "0.5",
    "x-build-id": "1dwbj0s4yoKpJVXW0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rastriq~made-in-china-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rastriq-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/rastriq~made-in-china-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rastriq-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/rastriq~made-in-china-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rastriq-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": {
          "keyword_preset": {
            "title": "🏭 Category preset",
            "enum": [
              "",
              "hydraulic excavator",
              "wheel loader",
              "tower crane",
              "forklift",
              "concrete mixer truck",
              "bulldozer",
              "road roller",
              "CNC milling machine",
              "CNC lathe",
              "injection molding machine",
              "laser cutting machine",
              "industrial robot",
              "solar panel",
              "diesel generator",
              "air compressor",
              "electric motor",
              "transformer",
              "ball bearing",
              "hydraulic pump",
              "hydraulic cylinder",
              "gear reducer",
              "tractor",
              "combine harvester",
              "irrigation system",
              "rock crusher",
              "drilling rig",
              "mining truck",
              "PP granules",
              "PVC pipe",
              "rubber seal",
              "stainless steel pipe",
              "brake pad",
              "shock absorber",
              "auto engine parts",
              "LED light",
              "lithium battery",
              "PCB board"
            ],
            "type": "string",
            "description": "Pick a ready-made B2B industrial category to start immediately. If you fill <b>Custom keyword</b> below, that takes priority over this preset.",
            "default": ""
          },
          "keyword": {
            "title": "✏️ Custom keyword",
            "type": "string",
            "description": "Free-text search. <b>Overrides the preset above</b> when filled.<br>Tips for better results:<ul><li>Be specific: <code>hydraulic excavator 20 ton</code> instead of just <code>excavator</code></li><li>Include specs: <code>solar panel 400W monocrystalline</code></li><li>Chinese keywords are also supported</li></ul>",
            "default": ""
          },
          "max_pages": {
            "title": "📄 Max result pages",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Number of search result pages to scrape. Each page returns ~40 product listings.<br><br><b>Quick reference:</b> 5 pages ≈ 200 products · 10 pages ≈ 400 (default) · 25 pages ≈ 1,000 · 100 pages ≈ 4,000",
            "default": 10
          },
          "max_results": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of product results to return. Useful for quick tests or sampling. Leave empty to return all results from the scraped pages."
          },
          "request_delay": {
            "title": "⏱️ Delay between requests (seconds)",
            "minimum": 0.5,
            "maximum": 10,
            "type": "number",
            "description": "Pause between HTTP requests to avoid rate-limiting. <b>Default (1.5 s) is safe for most runs.</b> Lower to 0.5 s with residential proxies; raise to 3–5 s if you see HTTP 429 errors.",
            "default": 1.5
          },
          "fetch_product_detail": {
            "title": "📦 Fetch product detail page",
            "type": "boolean",
            "description": "Visit each product page to extract: full technical specs, accepted payment terms (L/C, T/T, PayPal…), shipping port, and up to 10 product images. <b>Recommended for procurement or competitive analysis.</b> Increases run time ~3–5×.",
            "default": true
          },
          "fetch_supplier": {
            "title": "🏢 Fetch supplier profile",
            "type": "boolean",
            "description": "Visit each unique supplier's company page to extract: Business Type, employee count, year established, certifications (ISO 9001, CE, SGS…), and audit status. Each supplier is fetched only once.",
            "default": false
          },
          "fetch_reviews": {
            "title": "⭐ Fetch buyer reviews",
            "type": "boolean",
            "description": "Fetch buyer reviews for each product. Each review includes: star rating (1–5), review text, buyer country, date, and verified purchase flag.",
            "default": false
          },
          "target_language": {
            "title": "🌐 Translate output to language (optional)",
            "type": "string",
            "description": "Translate product names, categories and specs into your language. Leave empty to keep original English.<br>ISO 639-1 codes: <code>es</code> Spanish · <code>fr</code> French · <code>de</code> German · <code>pt</code> Portuguese · <code>it</code> Italian · <code>ar</code> Arabic · <code>ja</code> Japanese · <code>ko</code> Korean · <code>ru</code> Russian · <code>zh-CN</code> Chinese",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}