主题
创建 Google Jobs 搜索任务
GET /v3/serp/google/jobs/task_post
通过本接口可以创建 Google Jobs 搜索任务,并获取与指定职位、语言、地区的招聘搜索结果数据。
接口地址:
POST https://api.seermartech.cn/v3/serp/google/jobs/task_post
接口说明
该接口用于创建任务,提交成功后会返回任务 id。后续你可以:
- 使用任务
id查询已完成结果; - 在创建任务时指定
pingback_url或postback_url,由本平台在任务完成后主动通知你。
请求限制
- 每分钟最多可发起 2000 次 API 调用
- 单次 POST 请求中最多 100 个任务
- 如果单次请求 100 个任务,出部分会返回错误码
40006
回调说明
如果你设置了 postback_url 或 pingback_url:
pingback_url:任务完成后,本平台会向该地址发起 GET 请求通知postback_url:任务完成后,本平台会将结果以 gzip 压缩的 POST 请求发送到该地址
注意事项:
- 如果你的服务器在 10 秒未响应,连接会因时中止
- 此类任务会被转移到
/v3/serp/google/jobs/tasks_ready/列表中,供你后续主动拉取 - 实错误码与错误信息取决于你的服务器
计费说明
该接口在创建任务时扣费。
- 参考价约 ¥0.0096 / 次
- 若设置
depth大于 10,且搜索引擎返回 10 条结果,可能产生额外费用 - 若设置的
depth高于返回结果数,差额会自动退回余额 - 高优级任务(
priority=2)会额外收费 - 扣费以响应头
X-SeerMarTech-Charge-CNY为准
请求体格式
所有 POST 数据使用 JSON(UTF-8 编码),并且请求体应为 JSON 数组 格式:
json
[
{
"keyword": ".net developer",
"location_code": 2840,
"language_code": "en"
}
]主要参数
| 字段名 | 类型 | 说明 |
|---|---|---|
keyword | string | 填。职位,最长 700 个字符。%## 会被解码,字符 + 会被解码为空格;如果中需要保留 %,请写为 %25;如需保留 +,请写为 %2B。注意:该字段应表示职位名称,例如:.net developer |
location_code | integer | 搜索地区代码。若未提供 location_name,则该字段填。地区列表可通过 /v3/serp/google/jobs/locations 获取。示例:2840 |
language_code | string | 搜索语言代码。若未提供 language_name,则该字段填。语言列表可通过 /v3/serp/google/languages 获取。示例:en |
depth | integer | 抓取深度,可选。表示需要返回的 SERP 结果数量。默认值:10,最大值:200 |
priority | integer | 任务优级,可选。1 = 普通优级(默认),2 = 高优级。高优级会产生额外费用 |
pingback_url | string | 任务完成通知地址,可选。任务完成后,本平台会向该地址发送 GET 请求。可使用 $id 作为任务 ID 变量,$tag 作为 URL 编码后的标签变量。示例:http://your-server.com/pingscript?id=$id 或 http://your-server.com/pingscript?id=$id&tag=$tag。注意:的特殊字符会被 URL 编码,如 # 会被编码为 %23 |
postback_url | string | 结果回传地址,可选。任务完成后,本平台会向该地址发送结果的 gzip 压缩 POST 请求。可使用 $id 与 $tag 变量。示例:http://your-server.com/postbackscript?id=$id |
postback_data | string | 当指定 postback_url 时填。表示回传的数据类型。可选值:regular、advanced、html |
附加参数
| 字段名 | 类型 | 说明 |
|---|---|---|
location_name | string | 搜索地区名。若未提供 location_code,则该字段填。使用该字段时无需再传 location_code。可通过 /v3/serp/google/jobs/locations 获取可用地区。示例:London,England,United Kingdom |
language_name | string | 搜索语言名。若未提供 language_code,则该字段填。使用该字段时无需再传 language_code。可通过 /v3/serp/google/languages 获取可用语言。示例:English |
tag | string | 自定义任务标识,可选,最长 255 个字符。可用于后续将响应结果与业务侧任务对应;提交后会在响应的 data 对象中返回 |
location_radius | string | 地区搜索半径,可选,单位为 ****。如未指定,则会在目标地区范围任意位置执行搜索。最大值:300,最小值:> 0。使用英制国家时,请将英里转换为:英里 × 1.609 |
employment_type | array | 雇佣类型筛选,可选。返回指定合同类型的招聘结果。可选值:fulltime、partime、contractor、intern |
响应结构
接口返回 JSON 编码结果,顶层 tasks 数组,用于描述本次提交的任务状态。
顶层字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本 |
status_code | integer | 接口总体状态码。完整错误码体系参考 /v3/appendix/errors |
status_message | string | 接口总体状态信息 |
time | string | 请求执行时间,单位:秒 |
cost | float | 本次请求总费用,单位:USD |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | 返回错误的任务数量 |
tasks | array | 任务数组 |
tasks 数组中的字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式 |
status_code | integer | 任务状态码,范围通常为 10000-60000 |
status_message | string | 任务状态说明 |
time | string | 任务执行时间,单位:秒 |
cost | float | 单个任务费用,单位:USD |
result_count | integer | result 数组数量 |
path | array | 请求路径 |
data | object | 回显你在 POST 请求中提交的参数 |
result | array | null | 任务结果。对于任务创建接口,此处通常为 null |
请求示例
cURL
bash
curl --location --request POST 'https://api.seermartech.cn/v3/serp/google/jobs/task_post' \
--header 'Authorization: Bearer smt_live_YOUR_KEY' \
--header 'Content-Type: application/json' \
--data-raw '[
{
"language_code": "en",
"location_code": 2840,
"keyword": ".net developer"
},
{
"language_name": "English",
"location_name": "United States",
"keyword": ".net developer",
"tag": "some_string_123",
"pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/serp/google/jobs/task_post"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
payload = [
{
"language_code": "en",
"location_code": 2840,
"keyword": ".net developer"
},
{
"language_name": "English",
"location_name": "United States",
"keyword": ".net developer",
"tag": "some_string_123",
"pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
}
]
response = requests.post(url, headers=headers, json=payload)
print(response.json)TypeScript
typescript
import axios from "axios";
const payload = [
{
language_code: "en",
location_code: 2840,
keyword: ".net developer"
},
{
language_name: "English",
location_name: "United States",
keyword: ".net developer",
tag: "some_string_123",
pingback_url: "https://your-server.com/pingscript?id=$id&tag=$tag"
}
];
axios({
method: "post",
url: "https://api.seermartech.cn/v3/serp/google/jobs/task_post",
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
},
data: payload
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response?.data || error.message);
});响应示例
json
{
"version": "0.1.20220428",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0616 sec.",
"cost": 0.0006,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "12345678-1234-1234-1234-1234567890ab",
"status_code": 20100,
"status_message": "Task Created.",
"time": "0.0021 sec.",
"cost": 0.0006,
"result_count": 0,
"path": [
"v3",
"serp",
"google",
"jobs",
"task_post"
],
"data": {
"api": "serp",
"function": "task_post",
"se": "google",
"se_type": "jobs",
"keyword": ".net developer",
"language_code": "en",
"location_code": 2840,
"depth": 10,
"employment_type": [],
"device": "desktop",
"os": "windows"
},
"result": null
}
]
}状态码说明
| 状态码 | 说明 |
|---|---|
20000 | 请求成功 |
20100 | 任务已创建 |
40006 | 单次 POST 请求中的任务数 100 个 |
建议你在接时建立统一的错误处理机制,并结合 /v3/appendix/errors 完善异常分支处理。
使用建议
- 优使用
location_code和language_code,可减少名称匹歧义 keyword应尽量明确为职位名称,而不是泛搜索词- 大批量任务提交时,建议按每次不 100 个任务分批发送
- 如果你依赖实时处理结果,建议
postback_url或pingback_url - 若使用
depth > 10,应提前评估返回量与成本
实用场景
- 批量监控岗位词:针对
.net developer、seo specialist、data analyst等职位词定时建任务,追踪不同城市下的招聘结果覆盖 - 对比地区招聘需求:为同一职位设置多个
location_code,分析不同国家或城市的岗位活跃度,招聘市场研究 - 筛选用工类型机会:结合
employment_type过滤职、、合同工、实习岗位,支持灵活用工或校园招聘分析 - 构建职位趋势看板:通过周期性创建任务并抓取结果,沉淀不同语言、地区下的职位 SERP 数据,用于人才市场趋势洞察
- 自动化回传招聘数据:
postback_url或pingback_url,在任务完成后自动接收通知或结果,减少主动轮询成本