Jobs & Hiring

Shixian API

The Shixian API returns remote-work and freelance contract briefs from China's remote-work board as clean JSON, with no login and no China exit required.

4 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

Every brief carries the client's own posted budget as an amount plus CNY currency, the estimated rate, the project duration in days, the complete requirement text, the job type (remote full-time, part-time or project work), the employer profile and the brief's URL. The primary search endpoint scans the paginated board and matches client-side, and its meta reports jobs_scanned, pages_scanned and the match ratio so you can see exactly how much of the board a run covered. jobs pages the board itself, job returns one brief, and filters exposes the site's own city and category taxonomy. It is built for lead generation into the Chinese contract market and for freelance-rate research. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/shixian/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "q": "爬虫",
    "pages": 6
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "shixian",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 2706.8,
    "record_count": 5,
    "bytes": 659343,
    "cache_hit": false,
    "stop_reason": "pages_exhausted",
    "method": "ssr_html_bare_dc_curl_cffi_no_wall",
    "upstream_keyword_param_ignored": true,
    "search_is_client_side": true,
    "pages_scanned": 6,
    "jobs_scanned": 120,
    "match_ratio_pct": 4.17
  },
  "data": {
    "jobs": [
      {
        "id": "[redacted-phone]",
        "source": "shixian",
        "url": "https://shixian.com/jobs/[redacted-phone]",
        "title": "高级爬虫工程师",
        "job_type": "远程全职",
        "job_type_en": "remote_full_time",
        "description": "高级数据采集工程师(中国互联网数据采集 / 自动化监控方向)\n\n工作地点: 西安/远程\n工作性质: 全职 / 兼职 / 项目合作均可\n\n【关于我们】\n我们是一家来自北欧的品牌保护公司,为全球知名品牌提供电商平台、社交媒体及直播平台的品牌监控、数据分析及侵权治理解决方案。随着中国直播电商和社交电商的快速发展,我们在上海和西安设立研发支持团队,现寻找熟悉中国互联网生态的开发工程师。\n\n【我们正在寻找什么样的人】\n我们需要一位熟悉中国互联网生态、善于解决复杂技术问题的开发工程师,共同打造下一代智能品牌监控系统。\n我们的核心目标很明确:建立一套稳定、高效、可扩展的自动化品牌监控解决方案。\n我们不限制技术路线,无论是官方API、第三方数据平台、浏览器自动化、协议分析还是AI技术,只要能够有效解决业务问题,我们都愿意一起探索。\n\n【您将负责的工作】\n1. 自动化直播监控\n· 研究并实现抖音、淘宝、快手、小红书、视频号等主流直播平台的自动化监控方案\n· 稳定获取直播间商品、价格、销量、主播信息等数据\n\n2. 电商平台数据采集\n· 负责淘宝、天猫、京东、拼多多、1688、闲鱼等平台的数据获取\n· 实现商品Listing的自动发现、持续监控与更新\n3. 数据获取方案研究与选型\n· 评估官方API、第三方数据平台、浏览器自动化、JS逆向、AI/OCR等多种技术路线\n· 针对不同平台选择最优方案,平衡稳",
        "budget": {
          "amount": 22000,
          "currency": "CNY",
          "period": null,
          "label": "预算",
          "raw": "22000 元"
        },
        "rate": {
          "amount": 1000,
          "currency": "CNY",
          "per": "8小时",
          "raw": "预估 1000元  / 8小时"
        },
        "duration": {
          "days": 22,
          "raw": "22天"
        },
        "employer": {
          "id": "158876",
          "url": "https://shixian.com/employers/158876",
          "name": null,
          "avatar": "https://cdn.shixian.com/upload/user/avatar/157292/small_6cff12b1d8ff990aed72e164edeced80.jpeg"
        },
        "published_relative": "30 天前发布",
        "published_approx_iso": "[redacted-phone]T18:29:53Z",
        "published_approx_days_ago": 30,
        "applicant_count": 7
      },
      {
        "id": "[redacted-phone]",
        "source": "shixian",
        "url": "https://shixian.com/jobs/[redacted-phone]",
        "title": "爬虫/安全工程师",
        "job_type": "远程兼职",
        "job_type_en": "remote_part_time",
        "description": "负责将苹果官网 登录/修改个人信息/下单等操作进行自动化\n\n当前已经有selelium版本,希望能升级到api版本解决方案,提升稳定性,效率,可用性\n\n同时考虑网络流量优化 防反爬等策略\n\n希望能交付完整方案",
        "budget": {
          "amount": 3000,
          "currency": "CNY",
          "period": null,
          "label": "预算",
          "raw": "3000元"
        },
        "rate": {
          "amount": 3000,
          "currency": "CNY",
          "per": null,
          "raw": "预估 3000 元"
        },
        "duration": {
          "days": 7,
          "raw": "7天"
        },
        "employer": {
          "id": "38285",
          "url": "https://shixian.com/employers/38285",
          "name": null,
          "avatar": "https://cdn.shixian.com/upload/user/avatar/36160/small_efada7edcb2bc2567ca9fa04a43d0733.jpeg"
        },
        "published_relative": "大约 2 个月前发布",
        "published_approx_iso": "[redacted-phone]T18:29:53Z",
        "published_approx_days_ago": 60,
        "applicant_count": 2
      },
      {
        "id": "[redacted-phone]",
        "source": "shixian",
        "url": "https://shixian.com/jobs/[redacted-phone]",
        "title": "AI 自动化工程师(兼职/项目制)",
        "job_type": "远程兼职",
        "job_type_en": "remote_part_time",
        "description": "招募:AI 自动化工程师(兼职/项目制)\n项目背景\n我们是一个专注 “讲好中国故事” 的短视频出海团队。目前需要在 TikTok / Instagram / YouTube 三大平台实现全自动化热点追踪。\n我们不打算从零开发复杂系统,而是希望利用 AI + 低代码 (No-code/Low-code) 方案,快速构建一套“热点发现与选题分析”引擎,用技术驱动创意。\n\n你的核心任务\n1. 自动化链路搭建: 使用 Make.com、n8n、Coze (扣子) 等平台串联整个工作流。\n2. 多平台数据采集: 调用 Apify 或类似商业 API,定时抓取 TikTok、IG Reels、YT Shorts 上与中国(美景、美食、科技、基建、人文等)相关的热门视频数据。\n3. AI 智能分析: 接入 GPT-4o / DeepSeek / Gemini 等接口,编写高质量 Prompt,对视频内容进行分类、总结,并生成具有专业洞察力的“选题推荐理由”。\n4. 结构化输出: 将分析结果自动推送至 飞书多维表格 (Bitable) 或 Notion,确保团队每天早上能看到一份高质量的热点简报。\n\n我们希望你:\n• 实战派: 熟练掌握 Make.com / n8n / 扣子 等平台,有处理 JSON 数据、Webhook、API 调用的实操经验。\n• 懂爬虫逻辑: 不需要手写复杂代码,但要熟悉 ",
        "budget": {
          "amount": 4000,
          "currency": "CNY",
          "period": null,
          "label": "预算",
          "raw": "4000元"
        },
        "rate": {
          "amount": 4000,
          "currency": "CNY",
          "per": null,
          "raw": "预估 4000 元"
        },
        "duration": {
          "days": 10,
          "raw": "10天"
        },
        "employer": {
          "id": "26338",
          "url": "https://shixian.com/employers/26338",
          "name": null,
          "avatar": "https://cdn.shixian.com/upload/user/avatar/23607/small_b4f5276e4fccd29705e6f9a37298120f.jpg"
        },
        "published_relative": "5 个月前发布",
        "published_approx_iso": "[redacted-phone]T18:29:52Z",
        "published_approx_days_ago": 150,
        "applicant_count": 19
      }
    ],
    "returned": 5,
    "matched": 5,
    "jobs_scanned": 120,
    "pages_scanned": 6,
    "query": "爬虫",
    "match": "any",
    "fields": "both",
    "filters": {
      "city": "all",
      "category": "all",
      "type": "all",
      "sort": "default"
    },
    "note": "shixian publishes no job-search endpoint — its own `keyword=` parameter is accepted and IGNORED (verified: a nonsense keyword still returns the full front page). These 5 matches were found by scanning 6 board page(s) / 120 briefs and matching '爬虫' here (match=any, fields=both). Raise `pages` to scan deeper, or narrow with `category`/`city`/`type` first.",
    "source": "shixian"
  }
}
Actions

What the Shixian API does

ActionDescriptionConcrete use caseKey params
searchFind remote-work briefs by keyword — the ones that mention 爬虫 (scraping), 数据采集 (data collection), API, 小程序 or any term you care about — each with the client's published CNY budget, duration, full requirement text and applicant count. 🔴 shixian publishes no job-search endpoint (its own `keyword=` parameter is accepted and ignored — verified: a nonsense keyword still returns the full front page), so this action scans the board pages and matches here; the response states exactly how many pages and briefs were scanned.Recruiting teams call search to find remote-work briefs by keyword.q, match, fields, pages, limit, ...
jobsOne page of the shixian board — 20 remote-work briefs with the complete requirement text and the client's published CNY budget on every row. Filter by city, role category, contract shape or the board's own shortlists (newest, zero-applicant, accepts-remote) and page through roughly 3,200 live briefs.Labor-market analysts call jobs to get one page of the shixian board.page, limit, city, category, type, ...
jobOne brief in full: the complete requirement text straight out of the page's own schema.org block, the client's budget, the hiring city and role, the project type, workdays per month, how many people have applied, how many have viewed it, and the poster's public marketplace profile (display name, location, team size, funding stage, product and team blurbs) — the profile fields the board hides behind a login wall on the list page.Job boards call job to get one brief in full.id
filtersThe board's own filter taxonomy, read live off the site: every city slug, every role-category slug, the contract shapes and the sort modes, each with its Chinese label. Use it to discover the exact values `search` and `jobs` accept — the site silently ignores a slug it does not know, so a typo would otherwise return the unfiltered board.Sales intelligence teams call filters to get the board's own filter taxonomy, read live off the site.none
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/shixian/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"q":"爬虫","pages":6}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.shixian.search with {"q":"爬虫","pages":6}.
Use cases

Who uses this API and why

  • Agencies and freelancers call search to find Chinese contract briefs for a skill and read the client's stated CNY budget before pitching.
  • Rate-benchmarking tools page the board with jobs to chart budget and duration by role category.
  • Sales teams use job to turn one brief's full requirement text and employer profile into a qualified lead record.
  • Market analysts read filters first to get the site's own city and category taxonomy before segmenting demand.
FAQ

Questions developers ask before integrating

What is the Shixian API?

Shixian API is a ReefAPI endpoint group for chinese remote-work briefs with the client's own budget, duration and requirements. It returns live JSON through POST requests under /shixian/v1.

Is the Shixian API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Shixian calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Shixian login or account?

No login to Shixian is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Shixian data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Shixian API use?

Shixian actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Shixian from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call shixian actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Shixian API a Shixian scraper?

It is the managed alternative to a DIY Shixian scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same chinese remote-work briefs with the client's own budget, duration and requirements back as clean JSON.

Why does my Shixian scraper keep getting blocked?

Most Shixian scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / shixian

Shixian

Chinese remote-work briefs with the client's own budget, duration and requirements.

base /shixian/v14 endpoints
post/shixian/v1/jobs1 credit

One page of the shixian board — 20 remote-work briefs with the complete requirement text and the client's published CNY budget on every row. Filter by city, role category, contract shape or the board's own shortlists (newest, zero-applicant, accepts-remote) and page through roughly 3,200 live briefs.

ParameterAllowed / rangeDescription
page = 1optional1–300Which board page to return (1–300). Each page holds 20 briefs and consecutive pages share NO ids (measured: p1/p2, p2/p3 and p1/p3 overlap = 0). The unfiltered board bottoms out around page 164 (~3,200 live briefs) and a filtered one much sooner; past the end the site serves an empty page and this action returns NOT_FOUND rather than an empty success.
limit = 20optional1–20How many briefs to return (1–20, default 20).
city = alloptionalall · beijing · shanghai · shenzhen · hangzhou · guangzhou · chengdu · nanjing · xian · hubei · xiamen · shandong · suzhou · zhengzhou · fuzhou · changsha · chongqing · tianjin · ningbo · remote · qitaHiring city / province, as the board's own slug. The filter genuinely bites (measured: 'shanghai' shared 1 of 20 ids with the unfiltered board, 'beijing' 9 of 20). 🔴 An UNKNOWN slug is silently ignored upstream and would hand you the unfiltered board, so anything outside this list is rejected here instead. Cannot be combined with `type` — they are separate routes on the site.
category = alloptionalall · backend · frontend · full_stack · ios · android · ui · pm · operator · tester · othersRole category. Measured bite against the unfiltered board: 'ui' shared 0 of 20 ids, 'ios' 1 of 20, 'backend' 5 of 20. Unknown values are rejected here because the site ignores them silently. Cannot be combined with `type`.
type = alloptionalall · full-time · part-timeContract shape. 🔴 On shixian this is a DIFFERENT route from the city/role board (/jobs/full-time vs /job/<city>/<role>), so it cannot be combined with `city` or `category` — passing both is rejected with INVALID_PARAM rather than silently dropping one.
sort = defaultoptionaldefault · last · nobody · accept_remoteBoard ordering / shortlist. 'nobody' is the interesting one for lead generation — briefs nobody has applied to yet: it shares only 1 of 20 ids with the default board, and `applicant_count` is null on 20/20 of its rows, which is the filter proving itself twice over.
Try in playground →
post/shixian/v1/job1 credit

One brief in full: the complete requirement text straight out of the page's own schema.org block, the client's budget, the hiring city and role, the project type, workdays per month, how many people have applied, how many have viewed it, and the poster's public marketplace profile (display name, location, team size, funding stage, product and team blurbs) — the profile fields the board hides behind a login wall on the list page.

ParameterAllowed / rangeDescription
idrequiredThe brief to fetch: a numeric job id (1192790804) or a full URL (https://shixian.com/jobs/1192790804).
Try in playground →
post/shixian/v1/filters1 credit

The board's own filter taxonomy, read live off the site: every city slug, every role-category slug, the contract shapes and the sort modes, each with its Chinese label. Use it to discover the exact values `search` and `jobs` accept — the site silently ignores a slug it does not know, so a typo would otherwise return the unfiltered board.

Try in playground →