Zhaopin Scraper | Jobs, Salaries and Companies avatar

Zhaopin Scraper | Jobs, Salaries and Companies

Pricing

from $1.20 / 1,000 jobs

Go to Apify Store
Zhaopin Scraper | Jobs, Salaries and Companies

Zhaopin Scraper | Jobs, Salaries and Companies

Zhaopin scraper (智联招聘) for China jobs by keyword, city, link or job number: 50 jobs in 13 seconds, 67 fields each. Get full descriptions, salary ranges in CNY, education and experience asked, company size, industry and financing, recruiter activity, addresses and map coordinates. No login needed.

Pricing

from $1.20 / 1,000 jobs

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Zhaopin Scraper (智联招聘) | China Jobs, Salaries and Recruiters (2026)

Zhaopin jobs, 67 fields each, from any search.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for “jd scraper” in Apify Store search), with 800,000+ combined lifetime runs.

Every Zhaopin job you need, one row per job, from a keyword, a city, a Zhaopin link or a job number. Our default test run typed python for Beijing and saved 50 jobs in 13 seconds, each with its full description, the salary as numbers in CNY with the months paid, the education and years of experience asked, the company with its size, ownership, industry, financing stage and profile, the recruiter with their reply signal and last time online, the district, street, address and map coordinates, and the publication date. No Zhaopin account, no Chinese phone number: a 智联招聘爬虫 (Zhaopin job scraper) that starts from a word, a link or a number.

Why choose this actor?

Copying job ads from zhaopin.com one tab at a time? Turning "1.5-3万·14薪" into numbers by hand before you can average a salary? Translating 本科, 民营 and 软件研发 for a team that does not read Chinese?

  • 65 filled fields per job, not 56. On our default run (50 Python jobs in Beijing), 65 data fields were filled on at least half of the rows: identity and permanent link, full description, skills, job category, function and sector, employment type, work mode, education, years of experience as numbers, headcount, salary range in CNY with pay period and months paid, company name, size as numbers, ownership, industry, financing stage, profile and headquarters, recruiter name, role, reply signal and last time online, city, province, district, street, address, map coordinates and publication date. The most used Zhaopin scraper declares 56 output fields.
  • Three ways in: a keyword, a Zhaopin link or a job number. Type python or 数据分析; paste a search or job page you opened on zhaopin.com, its city, keyword, page and filters kept as you set them; or give the numbers of the jobs you follow (CC171774410J40894069314). In our test, three job numbers, a job link and a search link returned 25 full jobs in 8 seconds, and the unknown number was reported in the log instead of an empty row. The most used Zhaopin scraper takes keywords and search links, no job number.
  • English next to the Chinese on 9 fields. City, province, education, job type, company ownership, industry, job category, job function and sector come with their English name from Zhaopin's own bilingual lists: 本科 and Bachelor, 民营 and Private, 软件研发 and Software Developer. On our default run, all 50 rows had the English city, province, education, job type, category, function and sector. Out of the 56 fields the most used Zhaopin scraper declares, 2 are in English: city and education.

Try Zhaopin Scraper

Try your first 50 jobs

Paste this input in the JSON tab of the Input page and press Start. It reads the first 50 Python jobs Zhaopin lists for Beijing.

{
"searches": ["python"],
"city": "beijing",
"maxItems": 50
}

It runs on the Apify Free plan. Each job becomes one row of your dataset: open the Output tab to see the table, switch to the "Salary and requirements" view for pay as numbers and the education and experience asked, to "Companies" for ownership, industry, size and financing, to "Recruiters" for who posts the job and how active they are, or to "Places" for districts, addresses and map coordinates. Export the rows as JSON, CSV or Excel.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it the full picture of this scraper:

You have access to the Zhaopin Scraper on Apify: silentflow/zhaopin-scraper
It reads job ads of Zhaopin (zhaopin.com, 智联招聘, one of China's largest job boards) without an account
and returns one row per job, its full job page included.
Input schema (no field is required; with no keyword, link, number or city it searches "python" in Beijing):
- searches (array of strings): job keywords in Chinese or English: "python", "数据分析", "销售", "产品经理".
Each keyword runs in every city of `city`.
- city (string): a Zhaopin city or province in Chinese (北京, 广东), pinyin (beijing, guangdong), English
(Xi'an, Harbin) or Zhaopin code (530); several separated by commas; "all" or empty = all of China.
A city with no keyword lists every job Zhaopin has there.
- startUrls (array of {url}): zhaopin.com search pages (www.zhaopin.com/sou/jl530/kw.../p2?el=4,
sou.zhaopin.com/?jl=538&kw=python) or job pages (www.zhaopin.com/jobdetail/<number>.htm,
jobs.zhaopin.com/<number>.htm). A search link keeps its own city, keyword, page and filters.
- jobIds (array of strings): Zhaopin job numbers: "CC171774410J40894069314", "CCL1480117890J40865268805".
- maxItems (integer, default 100): jobs saved in total, shared evenly between the searches.
- education (string, default "any"): any | junior-high | high-school | secondary | associate | bachelor |
master | mba | doctor.
- experience (string, default "any"): any | no-experience | under-1 | 1-3 | 3-5 | 5-10 | 10-plus.
- jobType (string, default "any"): any | full-time | part-time | internship | campus.
- salary (string, default "any"): any | under-4k | 4k-6k | 6k-8k | 8k-10k | 10k-15k | 15k-25k | 25k-35k |
35k-50k | 50k-plus, or a monthly range in yuan such as "20000-30000".
- sortBy (string, default "relevance"): relevance | newest | salary.
Output per job (74 fields, null when Zhaopin does not publish the value):
- id, jobNumber, url, title, description, skills[], benefits[], labels[]
- jobCategory, jobCategoryEn, jobCategoryCode, jobFunction, jobFunctionEn, jobSector, jobSectorEn
- employmentType, employmentTypeEn, workMode, education, educationEn, experience, experienceMin,
experienceMax, recruitCount
- salary (as shown), salaryMin, salaryMax, currency ("CNY"), salaryPeriod (month | day | hour | week),
salaryMonths, isSalaryNegotiable
- companyName, companyId, companyUrl, companyLogo, companySize, companySizeMin, companySizeMax,
companyType, companyTypeEn, companyIndustry, companyIndustryEn, companyFinancing, companyTags[],
companyHighlights[], companyDescription, companyHeadquarters
- recruiterName, recruiterTitle, recruiterId, recruiterAvatar, recruiterTeam, recruiterStatus,
recruiterActivity[], recruiterRepliesToday, recruiterHighReplyRate, recruiterLastOnlineAt,
recruiterVerified
- city, cityEn, cityId, province, provinceEn, district, street, tradingArea, address, latitude,
longitude, countryCode, mapImageUrl, publishedAt (RFC 3339 UTC)
- searchQuery (the keyword and city, link or number that produced the row), scrapedAt
Use apify-client for Python or JavaScript: client.actor("silentflow/zhaopin-scraper").call(run_input=...).

How to scrape Zhaopin jobs

Three inputs, from the simplest to the most complete. Each one runs as is.

Get the Python jobs of Beijing

Type the keyword the way you would in Zhaopin's search box, and pick a city.

{
"searches": ["python"],
"city": "beijing",
"maxItems": 50
}

This is the default input: in our test it saved 50 jobs in 13 seconds. All 50 rows came with the salary range as numbers, the map coordinates, the recruiter's name and last time online, and the job category in English; 45 of 50 with the company profile.

Pull the newest data analyst internships in three cities

{
"searches": ["数据分析"],
"city": "shanghai, 深圳, 653",
"jobType": "internship",
"sortBy": "newest",
"maxItems": 60
}

The three cities are typed three ways: pinyin, Chinese and Zhaopin's code for Hangzhou. In our test this run saved 60 internships in 17 seconds, 20 per city, the newest first. Internships are paid by the day on Zhaopin: 57 of the 60 rows came with a daily rate (salaryPeriod: day), so you can compare them with each other and not with monthly salaries.

Find senior, well-paid full-time roles with every filter at once

{
"searches": ["产品经理"],
"city": "shanghai, hangzhou",
"education": "bachelor",
"experience": "5-10",
"jobType": "full-time",
"salary": "25k-35k",
"sortBy": "newest",
"maxItems": 40
}

Filters stack: this asks for product manager roles in Shanghai and Hangzhou that want a bachelor's degree and 5 to 10 years of experience, full-time, paying ¥25,000 to ¥35,000 a month, the newest first. In our test it saved 40 jobs in 11 seconds, 20 per city, every one asking for a bachelor's degree and 5 to 10 years of experience. Zhaopin keeps a few negotiable salaries (面议) in a salary search: 3 of the 40 rows had one, with isSalaryNegotiable true, ready to filter out.

Input parameters

FieldTypeDefaultWhat it does
searcheslist of text["python"] in the formJob keywords, one per line, in Chinese or English. Each keyword runs in every city picked.
citytext (list or typed)all of ChinaOne or more Zhaopin cities or provinces, separated by commas. A city with no keyword lists every job there.
startUrlslist of linksnoneZhaopin search pages or job pages, copied from your browser.
jobIdslist of textnoneZhaopin job numbers, the code in a job link.
maxItemsnumber100Jobs saved in total, shared evenly between the searches. A job found twice is saved once.
educationchoiceanyMinimum education asked: junior high to doctorate.
experiencechoiceanyYears of experience asked, from none required to over 10 years.
jobTypechoiceanyFull-time, part-time, internship or campus hiring.
salarychoice or typed rangeanyMonthly pay band in yuan, or your own range such as 20000-30000.
sortBychoicerelevanceZhaopin's relevance, newest first, or highest salary first.

Formats the actor reads

  • Cities: Chinese with or without its suffix (北京, 北京市, 广东省), pinyin in any case and spacing (beijing, Bei Jing, xian), English names (Xi'an, Harbin, Hong Kong, Inner Mongolia), Zhaopin codes (530), and all, China or 全国 for the whole country. The list covers Zhaopin's 34 provinces and 367 cities. Where two cities share a pinyin (苏州 and 宿州 are both Suzhou), the pinyin goes to the larger one; type the Chinese name for the other.
  • Search links: https://www.zhaopin.com/sou/jl530/kw01L00O80EO062/p2?el=4&we=0305, https://sou.zhaopin.com/?jl=538&kw=python, and city pages such as https://www.zhaopin.com/beijing/. The link's own city, keyword, page and filters are kept; the order of the results comes from sortBy.
  • Job pages and numbers: https://www.zhaopin.com/jobdetail/CC171774410J40894069314.htm, https://jobs.zhaopin.com/CCL1480117890J40865268805.htm, or the number alone, in any case.
  • Salary ranges: a band from the list, or two numbers in yuan per month separated by a dash or a comma.

What data can you extract from Zhaopin?

Each row is one job, flat and in the same order every time: identity, content, pay, company, recruiter, place and time.

GroupFields
Identityid, jobNumber, url, title
Contentdescription, skills, benefits, labels, jobCategory, jobCategoryEn, jobCategoryCode, jobFunction, jobFunctionEn, jobSector, jobSectorEn, employmentType, employmentTypeEn, workMode, education, educationEn, experience, experienceMin, experienceMax, recruitCount
Paysalary, salaryMin, salaryMax, currency, salaryPeriod, salaryMonths, isSalaryNegotiable
CompanycompanyName, companyId, companyUrl, companyLogo, companySize, companySizeMin, companySizeMax, companyType, companyTypeEn, companyIndustry, companyIndustryEn, companyFinancing, companyTags, companyHighlights, companyDescription, companyHeadquarters
RecruiterrecruiterName, recruiterTitle, recruiterId, recruiterAvatar, recruiterTeam, recruiterStatus, recruiterActivity, recruiterRepliesToday, recruiterHighReplyRate, recruiterLastOnlineAt, recruiterVerified
Place and timecity, cityEn, cityId, province, provinceEn, district, street, tradingArea, address, latitude, longitude, countryCode, mapImageUrl, publishedAt
RunsearchQuery, scrapedAt

What to know before you use the data:

  • id and jobNumber are Zhaopin's own and stable: use them to match a job across runs. url is the permanent job page.
  • salaryMin and salaryMax are Zhaopin's own figures for the range, in yuan. salaryPeriod says whether they are per month, per day (internships), per hour or per week; salaryMonths is the number of months paid a year when the ad names it (·14薪 gives 14). A negotiable salary (面议) has isSalaryNegotiable true and no range.
  • experienceMin and experienceMax read the years asked: 3-5年 gives 3 and 5, 10年以上 gives 10 and no maximum, 经验不限 gives 0 and no maximum.
  • publishedAt and recruiterLastOnlineAt are in RFC 3339, UTC. Zhaopin shows Beijing time: 09:39 in Beijing is 01:39 UTC.
  • companyHeadquarters is the city of the company's head organisation, which can differ from the city of the job.
  • The text fields (title, description, company profile) stay in Chinese, as the employer wrote them. The …En fields give the English name of each category from Zhaopin's own lists.
  • Images (companyLogo, recruiterAvatar, mapImageUrl) are links to Zhaopin's image storage. A company with no logo gets null, never Zhaopin's placeholder.

Output example

One full row from our default run:

{
"id": "40878784109",
"jobNumber": "CC594633230J40878784109",
"url": "https://www.zhaopin.com/jobdetail/CC594633230J40878784109.htm",
"title": "python后端开发工程师",
"description": "1.精通Python语言;\n2.熟悉主流后端框架的使用和开发;\n3.熟悉分布式服务端、数据端、远程调用、负载均衡、缓存系统等功能的开发;\n4.熟悉分布式系统部署工具和在线维保工具的开发;\n5.熟悉大模型分布式推理系统开发、跨平台算力系统移植、混合架构算力云构建;\n6.熟悉数据库系统的开发使用,熟悉数据可靠性系统构建,包括高可用性、容灾、恢复、热备份等功能;\n7.熟悉数据的加密传输。",
"skills": ["Python"],
"benefits": null,
"jobCategory": "Python",
"jobCategoryEn": "Python",
"jobCategoryCode": "9000300160000",
"jobFunction": "软件研发",
"jobFunctionEn": "Software Developer",
"jobSector": "互联网/通信及硬件",
"jobSectorEn": "IT/Internet",
"employmentType": "全职",
"employmentTypeEn": "Full-time",
"workMode": "onsite",
"education": "本科",
"educationEn": "Bachelor",
"experience": "3-5年",
"experienceMin": 3,
"experienceMax": 5,
"recruitCount": 1,
"labels": null,
"salary": "2-2.1万·14薪",
"salaryMin": 20001,
"salaryMax": 21000,
"currency": "CNY",
"salaryPeriod": "month",
"salaryMonths": 14,
"isSalaryNegotiable": false,
"companyName": "航天新长征大道科技有限公司北京分公司",
"companyId": "CZ594633230",
"companyUrl": "https://company.zhaopin.com/CZ594633230.htm",
"companyLogo": "https://storage-public.zhaopin.cn/org/logo/1704704719375761882/%E5%A4%A7%E9%81%93%20logo-%E5%8D%95%E8%89%B2%E8%93%9D-%E4%B8%8A%E4%B8%8B.png",
"companySize": "100-299人",
"companySizeMin": 100,
"companySizeMax": 299,
"companyType": "国企",
"companyTypeEn": "State-owned",
"companyIndustry": "船舶/航空/航天/军工",
"companyIndustryEn": "Manufacture of Other Transport Equipment",
"companyFinancing": "不需要融资",
"companyTags": null,
"companyHighlights": null,
"companyDescription": "航天新长征大道科技有限公司是中国航天科技集团中国运载火箭技术研究院旗下高新技术企业。 航天大道公司秉承“聚焦数据与智能技术,持续为客户创造价值”发展使命,致力于为客户提供以长征云工业互联网为核心的先进、自主、可靠的智能制造与装备保障系统解决方案、产品和服务,助推航天智能制造转型升级、助推中国智能制造转型升级。航天大道公司已获评国家级高新技术企业、国家级重点专精特新“小巨人”企业、国资委“科改示范”企业、国家双跨工业互联网平台、北京2022年冬奥会和冬残奥会开闭幕式核心系统供应商等诸多荣誉。 公司在北京、大连设立研发中心,大连、济南、西安、成都设立区域服务中心,技术研发团队占总人数的75%,985/211院校硕士、博士占比60%以上。公司员工整体年龄结构年轻化,平均年龄30岁,能力和学历层次呈现较好的梯队结构,是一支创新能力较强的高科技年轻队伍。",
"companyHeadquarters": "北京",
"recruiterName": "何鲜利",
"recruiterTitle": "招聘经理",
"recruiterId": "1185226584",
"recruiterAvatar": "https://storage-public.zhaopin.cn/zp/clouddisk/1771900461186818900/65d3697f-ad6d-46d9-8f9c-10eabb59d03a.png",
"recruiterTeam": null,
"recruiterStatus": "今日回复40次",
"recruiterActivity": ["今日回复40次"],
"recruiterRepliesToday": 40,
"recruiterHighReplyRate": false,
"recruiterLastOnlineAt": "2026-10-29T09:31:52Z",
"recruiterVerified": true,
"city": "北京",
"cityEn": "Beijing",
"cityId": "530",
"province": "北京",
"provinceEn": "Beijing",
"district": "海淀",
"street": "永定路",
"tradingArea": null,
"address": "北京海淀永定路",
"latitude": 39.90213405355799,
"longitude": 116.26461103337523,
"countryCode": "CN",
"mapImageUrl": "https://storage-public.zhaopin.cn/job/share/1785738730678923484/6a7a4029e4634bd59d7307f4642727ad",
"publishedAt": "2026-08-05T03:54:18Z",
"searchQuery": "python · Beijing",
"scrapedAt": "2026-10-29T16:41:46Z"
}

Advanced usage

Five recipes for what the examples above do not show. Each input runs as is.

Refresh the jobs you already track

Keep the job numbers of the ads you follow and read them again each week: a job that was closed is reported in the log and gives no row, so the rows you get are the ones still online.

{
"jobIds": ["CC171774410J40894069314", "CCL1342438610J40808768106", "CCL1480117890J40865268805"]
}

Reuse a search you built on zhaopin.com

Set the city, keyword and filters on the site, copy the address bar and paste it. The page number in the link is where the run starts.

{
"startUrls": [
{ "url": "https://www.zhaopin.com/sou/jl538/kw01L00O80EO062/p1?el=4" }
],
"maxItems": 100
}

This is the Java search of Shanghai with a bachelor's degree as minimum education.

Compare one role's salary across cities

One keyword, several cities: the cap is shared evenly, so each city gets the same number of rows and the averages compare like with like.

{
"searches": ["数据分析"],
"city": "beijing, shanghai, shenzhen, chengdu, wuhan",
"jobType": "full-time",
"maxItems": 250
}

Group the rows by cityEn and average salaryMin and salaryMax where salaryPeriod is month.

Build a daily feed of new jobs

Sort by newest and schedule the run every morning from the Schedules page of Apify. Keep the job numbers you already have and drop them from the next run's rows to keep only the new ones.

{
"searches": ["销售", "运营"],
"city": "guangdong",
"sortBy": "newest",
"maxItems": 200
}

A province reads every city in it: guangdong covers Shenzhen, Guangzhou, Dongguan, Foshan and the rest of Guangdong.

List every job of a city, whatever the role

Leave the keywords empty and pick a city: the run lists the jobs Zhaopin holds for that city across every function, a sample of the local market.

{
"city": "chengdu",
"maxItems": 300
}

Count the rows by jobSectorEn and companyIndustryEn to see who hires the most in the city this week.

FAQ

What is Zhaopin? Zhaopin (智联招聘, zhaopin.com) is one of China's largest job boards, where employers of every size post white-collar and blue-collar jobs across the country. It is the Chinese counterpart of Indeed or LinkedIn Jobs.

Do I need a Zhaopin account or a Chinese phone number? No. The actor reads the jobs any visitor of zhaopin.com sees. No login, no account, no key to set up.

How many jobs can one search return? Zhaopin serves up to 50 pages of 20 jobs for a search. In our test, python in Shanghai gave 999 different jobs, all 50 pages, in 4 minutes. Split a broad search by city or add filters to go further; set maxItems to what you need.

Which cities can I search? Zhaopin's 34 provinces and municipalities and 367 cities, typed in Chinese, pinyin, English or as Zhaopin codes. A province reads every city in it, and all reads the whole of China.

Are the salaries monthly? Most are. salaryPeriod tells you: month for most jobs, day for internships and some part-time jobs, hour or week when the ad says so. salaryMonths adds the months paid a year when the employer gives them, so you can compute a yearly package.

Is the data in English? The job title, description and company profile stay in Chinese, as published. Nine category fields come with their English name next to the Chinese one: city, province, education, job type, company ownership, industry, job category, job function and sector.

How fresh is the data? Live: every run reads Zhaopin at the time you start it, nothing comes from a cache. publishedAt is the date of the ad and recruiterLastOnlineAt the last time its recruiter was online.

Can I run many keywords and cities at once? Yes. Every keyword runs in every city, and maxItems is shared evenly between these searches. A job found by two searches is saved once.

Do the filters combine? Yes. education, experience, jobType, salary and sortBy all apply together to every keyword: bachelor + 5 to 10 years + full-time + ¥25,000 to ¥35,000, newest first, returns the jobs that meet all of it, plus the few negotiable salaries Zhaopin keeps in a salary search, flagged by isSalaryNegotiable.

Are the links permanent? url and companyUrl are Zhaopin's permanent pages for as long as the job and the company are online. Image links point to Zhaopin's image storage and can change when the employer updates a logo or a photo.

Why do some rows have empty fields? The actor writes null where the employer left the field blank on Zhaopin: not every company publishes a financing stage, a logo or a list of benefits, and many ads name no street. The fields filled on our default run are listed above.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🎬 Video

📰 News

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available job ads from Zhaopin (zhaopin.com). It does not bypass any login, paywall or CAPTCHA, and it reads no resume or candidate data. Users are responsible for complying with Zhaopin's terms of service and with the data protection laws that apply to them, including the GDPR, the CCPA and China's Personal Information Protection Law (PIPL). Rows contain the names and pictures of recruiters as they appear on the job ads: treat them as personal data, keep them only for a legitimate purpose and do not use them for unsolicited marketing. The data is informational; verify it before any regulated use.

Zhaopin Scraper by SilentFlow: China's job market as rows you can sort, filter and chart.