{
  "openapi": "3.0.1",
  "info": {
    "title": "GYS Scraper 供应商网: China Suppliers, Prices, MOQ & Phone Contacts",
    "description": "Scrape 供应商网 (gys.cn) suppliers and products: search Chinese keywords, filter by province, price, minimum order and business type. Get price tiers, specs, images, verification status, public phone contacts and company registration data. Monitor new and changed listings. No login needed.",
    "version": "0.1",
    "x-build-id": "Z8lQlIYTAUm0oOIIV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~gys-supplier-catalog-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-gys-supplier-catalog-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~gys-supplier-catalog-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-gys-supplier-catalog-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~gys-supplier-catalog-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-gys-supplier-catalog-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",
              "latest"
            ],
            "type": "string",
            "description": "Products returns one row per listed product with its supplier. Suppliers returns one row per company with sample products. Latest products reads the daily new-products directory.",
            "default": "products"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Product or industry keywords in English or Chinese, such as bearing, 阀门 or 机床. Each keyword runs its own search. Not used in Latest products mode.",
            "default": [
              "轴承"
            ],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "GYS pages to read",
            "type": "array",
            "description": "Optional public gys.cn pages: a search listing, a product page, a supplier store address (for example https://example.gys.cn) or its /supply/ catalog, or the new-products directory.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "regions": {
            "title": "Regions",
            "type": "array",
            "description": "Keep only results located in these provinces or cities. Use Chinese (江苏, 苏州) or English names (Jiangsu, Suzhou).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Minimum price (CNY)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "number",
            "description": "Skip products priced below this amount in yuan. Leave empty for no lower bound."
          },
          "maxPrice": {
            "title": "Maximum price (CNY)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "number",
            "description": "Skip products priced above this amount in yuan. Leave empty for no upper bound."
          },
          "onlyWithPrice": {
            "title": "Only products with a listed price",
            "type": "boolean",
            "description": "Drop products where the seller shows no price (negotiable listings).",
            "default": false
          },
          "excludeSponsored": {
            "title": "Skip sponsored placements",
            "type": "boolean",
            "description": "Drop the paid 'special recommendation' products the site pins to the top of each search page, so results follow organic order.",
            "default": false
          },
          "maxMinimumOrder": {
            "title": "Maximum minimum order quantity",
            "minimum": 1,
            "maximum": 100000000,
            "type": "integer",
            "description": "Keep only products whose smallest orderable quantity is at most this number. Needs product pages, so product details are switched on automatically."
          },
          "strengthMerchantOnly": {
            "title": "Strength merchants only",
            "type": "boolean",
            "description": "Keep only suppliers carrying the platform's Strength Merchant (实力商家) badge.",
            "default": false
          },
          "promotedMembersOnly": {
            "title": "Paid members only",
            "type": "boolean",
            "description": "Keep only suppliers with the paid Promotion Pass (推广通) membership, usually the most active sellers.",
            "default": false
          },
          "businessTypes": {
            "title": "Business types",
            "type": "array",
            "description": "Keep only these supplier types: 生产加工 (manufacturer), 经销批发 (distributor), 招商代理 (agent), 商业服务 (service). English words manufacturer, distributor, agent and service also work.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "titleIncludes": {
            "title": "Must mention any of",
            "type": "array",
            "description": "Keep a result only if its product or company name, or main products, contains at least one of these words.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "titleExcludes": {
            "title": "Must not mention",
            "type": "array",
            "description": "Drop results whose product or company name, or main products, contains any of these words, for example 二手 to skip used goods.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "latestDate": {
            "title": "Day for Latest products",
            "type": "string",
            "description": "Date of the new-products directory to read in Latest products mode. Leave empty for the most recent day."
          },
          "includeProductDetails": {
            "title": "Include product details",
            "type": "boolean",
            "description": "Open each product page for price tiers, minimum order, full specifications, all images, category path, update date and the seller contact. Slower, one extra request per product.",
            "default": false
          },
          "includeSupplierProfile": {
            "title": "Include supplier profiles",
            "type": "boolean",
            "description": "Open each supplier's company page once for registration data, legal representative, capital, revenue band, certifications, contact person and address.",
            "default": false
          },
          "relatedKeywordDepth": {
            "title": "Follow related keywords",
            "minimum": 0,
            "maximum": 2,
            "type": "integer",
            "description": "0 stays on your keyword. 1 or 2 also searches the platform's related keywords (for example 球轴承 under 轴承) to go past the 10-page limit of a single search.",
            "default": 0
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Total number of rows to return across all keywords and pages. Free-plan runs return at most 25.",
            "default": 10
          },
          "maxPagesPerSource": {
            "title": "Maximum pages per search",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Listing pages to read for each keyword or page (about 40 products or 10 companies per page). The site stops at 10 pages per search.",
            "default": 10
          },
          "sortBy": {
            "title": "Order",
            "enum": [
              "relevance",
              "hot",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "Relevance keeps the site order. Popularity uses the site's heat ranking. Price orders the collected candidates by price in yuan, cheapest first or highest first.",
            "default": "relevance"
          },
          "maxItemsPerSupplier": {
            "title": "Maximum products per supplier",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap how many products one supplier can contribute, so the list covers many suppliers. Leave empty for no cap."
          },
          "monitorMode": {
            "title": "Only new or changed results",
            "type": "boolean",
            "description": "Remember results between runs and return only products or suppliers that are new or whose price or details changed. Removed items are listed in the run summary when the whole search was read.",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the saved memory for this watch. Use a different name for each search you schedule.",
            "default": "gys-monitor"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Runs connect directly first and switch to Apify datacenter proxies automatically if the site refuses the connection. Enable a proxy here to use it from the start.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}