{
  "openapi": "3.0.1",
  "info": {
    "title": "Zhaopin Scraper",
    "description": "Search Zhaopin (智联招聘) job listings across any Chinese city with real salary rang\nes, education/experience requirements, and company data - plus full description, GPS, and a recruiter re\nsponse-rate badge free on every row. Optional real-time recruiter status.",
    "version": "1.0",
    "x-build-id": "ipv0lYPrJs6jCgdyF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/normdata~zhaopin-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-normdata-zhaopin-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/normdata~zhaopin-scraper/runs": {
      "post": {
        "operationId": "runs-sync-normdata-zhaopin-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/normdata~zhaopin-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-normdata-zhaopin-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": {
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "type": "integer",
            "description": "Caps how many rows this run writes. Starts at 10 for a quick sample; raise it for a full run. Split evenly across every keyword × city combination.",
            "default": 10
          },
          "queries": {
            "title": "Search keywords",
            "type": "array",
            "description": "One or more Zhaopin search keywords, in Chinese or English (e.g. \"软件工程师\", \"data analyst\"). Each keyword gets its own fair share of maxItems.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "One or more Chinese cities, by Chinese name, English name, or Zhaopin city code (e.g. \"上海\", \"Shanghai\", \"538\"). Defaults to Shanghai if left empty or nothing matches.",
            "items": {
              "type": "string"
            }
          },
          "education": {
            "title": "Minimum education",
            "type": "array",
            "description": "Only keep jobs requiring this real education level. Select more than one to combine.",
            "items": {
              "type": "string",
              "enum": [
                "highschool",
                "college",
                "bachelor",
                "master",
                "phd"
              ],
              "enumTitles": [
                "High school",
                "College (大专)",
                "Bachelor's (本科)",
                "Master's (硕士)",
                "PhD (博士)"
              ]
            }
          },
          "companyType": {
            "title": "Company type",
            "type": "array",
            "description": "Only keep jobs at this real company ownership type. Select more than one to combine.",
            "items": {
              "type": "string",
              "enum": [
                "state_owned",
                "foreign_wholly_owned",
                "sino_foreign_jv",
                "private"
              ],
              "enumTitles": [
                "State-owned (国企)",
                "Wholly foreign-owned (外商独资)",
                "Sino-foreign JV (中外合资)",
                "Private (民营)"
              ]
            }
          },
          "companySize": {
            "title": "Company size",
            "type": "array",
            "description": "Only keep jobs at a company this size. Smaller-company codes are confirmed unreliable on Zhaopin's own site (they return a mix of sizes) so they're intentionally left out here rather than shipped broken.",
            "items": {
              "type": "string",
              "enum": [
                "500_999",
                "1000_9999",
                "over_10000"
              ],
              "enumTitles": [
                "500-999 employees",
                "1,000-9,999 employees",
                "10,000+ employees"
              ]
            }
          },
          "salaryMin": {
            "title": "Minimum monthly salary (RMB)",
            "type": "integer",
            "description": "Only keep jobs whose real salary range reaches at least this much. Checked against each job's own parsed salary, not just passed to Zhaopin's own filter (confirmed live that Zhaopin's own salary filter narrows the result count but doesn't reliably bound every returned salary)."
          },
          "salaryMax": {
            "title": "Maximum monthly salary (RMB)",
            "type": "integer",
            "description": "Only keep jobs whose real salary range starts at or below this. Same real re-check as Minimum monthly salary."
          },
          "fetchDetails": {
            "title": "Fetch real-time recruiter online status",
            "type": "boolean",
            "description": "Every job already includes a full description, GPS coordinates, and a recruiter response-rate badge at no extra cost. Enabling this opens each job's own detail page for one more signal only available there: the recruiter's real-time presence (e.g. \"currently online\", \"active yesterday\"). Slower - only enable if you need it.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}