{
  "openapi": "3.0.1",
  "info": {
    "title": "Toocle Scraper 生意宝: China B2B Products, Suppliers & Prices",
    "description": "Scrape Toocle 生意宝 B2B products and suppliers by keyword, category or storefront. Filter by province, price, category and company age. Get prices, pictures, contact person, phone, email and registry facts like registered capital. Track new, changed and removed products. No login.",
    "version": "0.2",
    "x-build-id": "jyqoeyz0Sx6Z6oazZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~toocle-b2b-sourcing-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-toocle-b2b-sourcing-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/getascraper~toocle-b2b-sourcing-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-toocle-b2b-sourcing-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/getascraper~toocle-b2b-sourcing-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-toocle-b2b-sourcing-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": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Product keywords to search on Toocle, one per row, in English or Chinese (for example \"LED\" or \"真空泵\"). Each keyword is read separately and the results are merged without duplicates. Leave empty if you only use categories or links.",
            "items": {
              "type": "string"
            }
          },
          "site": {
            "title": "Toocle site",
            "enum": [
              "english",
              "chinese"
            ],
            "type": "string",
            "description": "Which Toocle site the keywords are searched on. The English site shows prices, categories and supplier contacts in English; the Chinese storefronts (生意宝) list the same kind of suppliers in Chinese and add business registry facts such as legal representative and registered capital.",
            "default": "english"
          },
          "categories": {
            "title": "Toocle categories (English site)",
            "type": "array",
            "description": "Browse whole top-level categories of the English site, for example Chemicals or Lighting. Combine with the filters below to narrow them down.",
            "items": {
              "type": "string",
              "enum": [
                "Agriculture",
                "Apparel & Accessories",
                "Bags & Luggage",
                "Beauty & Personal Care",
                "Business Services",
                "Chemicals",
                "Construction & Building Materials",
                "Consumer Electronics",
                "Electrical Equipment & Supplies",
                "Electronic Components & Supplies",
                "Energy",
                "Environment",
                "Food & Beverage",
                "Footwear & Accessories",
                "Gifts & Crafts",
                "Hardware & Tools",
                "Health & Medical",
                "Home & Garden",
                "Home Appliances",
                "Instruments & Meters",
                "Lighting",
                "Machinery & Equipment",
                "Media",
                "Metallurgy & Minerals",
                "Mother & Baby Products",
                "Office & School Supplies",
                "Others",
                "Packaging",
                "Paper & Printing",
                "Pet Supplies",
                "Rubber & Plastics",
                "Safety & Security",
                "Service Equipment",
                "Sports & Recreation",
                "Telecommunications",
                "Textiles & Leather Products",
                "Toys & Hobbies",
                "Transportation",
                "Vehicles & Accessories"
              ],
              "enumTitles": [
                "Agriculture",
                "Apparel & Accessories",
                "Bags & Luggage",
                "Beauty & Personal Care",
                "Business Services",
                "Chemicals",
                "Construction & Building Materials",
                "Consumer Electronics",
                "Electrical Equipment & Supplies",
                "Electronic Components & Supplies",
                "Energy",
                "Environment",
                "Food & Beverage",
                "Footwear & Accessories",
                "Gifts & Crafts",
                "Hardware & Tools",
                "Health & Medical",
                "Home & Garden",
                "Home Appliances",
                "Instruments & Meters",
                "Lighting",
                "Machinery & Equipment",
                "Media",
                "Metallurgy & Minerals",
                "Mother & Baby Products",
                "Office & School Supplies",
                "Others",
                "Packaging",
                "Paper & Printing",
                "Pet Supplies",
                "Rubber & Plastics",
                "Safety & Security",
                "Service Equipment",
                "Sports & Recreation",
                "Telecommunications",
                "Textiles & Leather Products",
                "Toys & Hobbies",
                "Transportation",
                "Vehicles & Accessories"
              ]
            }
          },
          "categoryPaths": {
            "title": "Category paths (English site)",
            "type": "array",
            "description": "Deeper English categories written as a path, one per row, for example Chemicals/Alcohols or Machinery & Equipment/Valves.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Toocle links",
            "type": "array",
            "description": "Direct toocle.com links, one per row: a search page, a category page, a supplier storefront (whole catalog, used for monitoring) or a single product page. Chinese storefront links look like https://35147.m.toocle.com/wangpu.html.",
            "items": {
              "type": "string"
            }
          },
          "onlyWithPrice": {
            "title": "Only products with a price",
            "type": "boolean",
            "description": "Skip products where the supplier only wrote negotiable, ask for a quote or similar instead of a number.",
            "default": false
          },
          "priceCurrency": {
            "title": "Price currency",
            "enum": [
              "any",
              "CNY",
              "USD"
            ],
            "type": "string",
            "description": "Keep only products priced in one currency. Prices are never converted, the currency is read from the price the supplier wrote.",
            "default": "any"
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "number",
            "description": "Keep products whose price reaches at least this amount, in the supplier's own currency. Price ranges count when they overlap."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "number",
            "description": "Keep products whose lowest price is at most this amount, in the supplier's own currency."
          },
          "onlyWithImage": {
            "title": "Only products with a picture",
            "type": "boolean",
            "description": "Skip products that have no uploaded product picture.",
            "default": false
          },
          "titleIncludes": {
            "title": "Title must contain",
            "type": "array",
            "description": "Keep products whose name contains at least one of these words, one per row. Not case sensitive.",
            "items": {
              "type": "string"
            }
          },
          "titleExcludes": {
            "title": "Title must not contain",
            "type": "array",
            "description": "Drop products whose name contains any of these words, one per row, for example \"used\" or \"parts\".",
            "items": {
              "type": "string"
            }
          },
          "categoryContains": {
            "title": "Category contains",
            "type": "array",
            "description": "Keep products whose Toocle category path contains one of these words, for example \"Valves\" or \"真空泵\".",
            "items": {
              "type": "string"
            }
          },
          "provinces": {
            "title": "Supplier province",
            "type": "array",
            "description": "Keep only suppliers located in these Chinese provinces or municipalities. The province is read from the supplier address, so suppliers whose address names no province are skipped.",
            "items": {
              "type": "string",
              "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"
              ],
              "enumTitles": [
                "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"
              ]
            }
          },
          "supplierNameContains": {
            "title": "Supplier name contains",
            "type": "array",
            "description": "Keep products from suppliers whose company name contains one of these words, one per row, for example \"Co., Ltd\" or \"机械\".",
            "items": {
              "type": "string"
            }
          },
          "onlyWithContact": {
            "title": "Only suppliers with a phone or email",
            "type": "boolean",
            "description": "Keep only suppliers that publish a phone number, landline or email on their public page.",
            "default": false
          },
          "minCompanyAgeYears": {
            "title": "Minimum company age (years)",
            "minimum": 0,
            "maximum": 40,
            "type": "integer",
            "description": "Keep companies founded at least this many years ago, counted from the founding date in the public business registry. Only the Chinese storefronts publish it, so English-site suppliers without that data are skipped."
          },
          "minRegisteredCapitalCny": {
            "title": "Minimum registered capital (CNY)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep companies whose registered capital in yuan is at least this amount, for example 1000000. Only the Chinese storefronts publish registry data."
          },
          "onlyActiveSuppliers": {
            "title": "Only active companies",
            "type": "boolean",
            "description": "Keep only companies whose published business status is operating (for example 开业 or 存续).",
            "default": false
          },
          "includeProductDetails": {
            "title": "Load full product pages",
            "type": "boolean",
            "description": "Open every product page to add the full description, all pictures, parsed specifications, brand, model and exact price. Slower, one extra request per product.",
            "default": false
          },
          "includeSupplierProfile": {
            "title": "Load supplier profiles",
            "type": "boolean",
            "description": "Add each supplier's public profile to every product: address, province, contact person, phone, email, website and (Chinese storefronts) legal representative, registered capital, founding date, company type and operating status. One request per supplier, not per product.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "How many rows to save. In supplier view this is the number of suppliers. Free-plan runs are capped at 25 rows.",
            "default": 10
          },
          "maxPagesPerQuery": {
            "title": "Maximum pages per source",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Safety cap on how many result pages are read for each keyword, category or storefront. A search page holds 10 to 20 products and a storefront page 15.",
            "default": 5
          },
          "outputView": {
            "title": "Result view",
            "enum": [
              "products",
              "suppliers"
            ],
            "type": "string",
            "description": "Products first gives one row per product. Suppliers first groups the same results into one row per company with a product count and sample products, and always loads the supplier profile.",
            "default": "products"
          },
          "maxPerSupplier": {
            "title": "Maximum products per supplier",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Stop one supplier from filling the whole result. For example 3 keeps at most three products from each company."
          },
          "sortBy": {
            "title": "Sort results",
            "enum": [
              "relevance",
              "newest",
              "priceLowToHigh",
              "priceHighToLow"
            ],
            "type": "string",
            "description": "Sorting reads up to five times the requested number of rows first, then returns the best ones. Products without a price are placed last when sorting by price.",
            "default": "relevance"
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Give this watch a short name such as \"my-pump-suppliers\" to turn on change tracking. The next run with the same name marks each product as new, priceChanged or changed, and reports products that left a fully read storefront as removed."
          },
          "includeUnchanged": {
            "title": "Also return unchanged products",
            "type": "boolean",
            "description": "By default a monitoring run returns only new, changed and removed products. Turn on to get every product with its change status.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Toocle is read directly by default. If it ever stops answering, the Actor retries once through Apify datacenter proxy by itself. Choose your own proxy here only if you need a specific route.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}