Liepin Scraper 猎聘: China Salary Data, Jobs & Headhunter Posts
Pricing
from $0.90 / 1,000 jobs
Liepin Scraper 猎聘: China Salary Data, Jobs & Headhunter Posts
Liepin jobs scraper for China white-collar and headhunter postings. Get salary in CNY and USD with bonus months, salary percentiles by role and city, seniority, poster type and a monitor for new, updated and removed jobs. Search many keywords and cities per run. No login needed.
Pricing
from $0.90 / 1,000 jobs
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
49
Total users
9
Monthly active users
4 days ago
Last modified
Categories
Share
🇨🇳 Liepin Scraper 猎聘: China Salary Data, Jobs & Headhunter Posts
| Collect public Liepin job postings with CNY and USD salary data, and know exactly what changed. Search China's white-collar job market by keyword and city, several of each in one run, and see which jobs are posted by the hiring company and which by headhunters. Turn on change tracking to get only new, updated, and removed jobs on every run. | |||
| China jobs source comparison • Zhaopin, 51Job, Liepin, and ChinaHR listings side by side | |||
|
Jobs, salary & hiring-change monitoring |
Jobs, salary & employer context |
➤ You are here |
Job titles, salary & employer data |
|
Liepin jobs with salary statistics and poster type attached Search China's white-collar job market by keyword and city, or start from featured listings, and keep normalized CNY and USD salary figures, requirements, and company details in clean rows. |
|
💰 Salary data you can compare Monthly CNY and USD pay, pay months, annual figure and percentiles by role and city. |
🔔 Change tracking built in Every run after the first returns only new, updated, and removed jobs. |
🧑💼 Headhunter or employer Every job says who posted it, with company industry, funding stage and size. |
📝 Optional job detail Pull the full public job description only on the runs where you need it. |
Liepin jobs data, from the white-collar and executive job board 猎聘, in clean rows. This Actor returns public listing data for China salary data products, recruitment-market research, headhunter and recruiter tracking, and company hiring intelligence. It does not collect candidate profiles or private contact information, and it needs no Liepin account.
🎯 What you can do
- Search several job titles across several cities in one run, de-duplicated by job ID.
- Get monthly and annual salary in CNY, with optional US dollars at a dated exchange rate shown on each row.
- Save salary statistics (median and percentiles by keyword and city, degree, seniority and poster type) computed from the jobs in the run.
- Tell headhunter-posted jobs from jobs posted by the hiring company, and keep only one kind with a filter.
- Turn on change tracking to get only new, updated, and removed jobs on a schedule, with the previous salary when it changed.
- Flag the same company posting the same title in several cities.
- Paste Liepin category, city or search links, including the links used by other Liepin scrapers.
- Add full job descriptions, work address and last update date for the runs that need them.
👥 Who this China jobs data is for
- I am a workforce researcher looking to measure demand and advertised CNY compensation for professional roles in a Chinese city.
- I am a job-data platform manager looking to add traceable public Liepin roles to a China jobs product.
- I am a talent-intelligence analyst looking to identify companies, sectors, and locations hiring for a specialist role.
- I am a market-research consultant looking to compare public role requirements and employer signals without manually reading result pages.
🛠️ How to use it
|
STEP 1 Choose keywords and cities Add one or many job titles and cities, or paste Liepin links you already use. |
STEP 2 Bound the run Set a job limit, page depth, filters, and whether to add USD pay or job descriptions. |
STEP 3 Use the evidence Analyze source URLs, salary, requirement, and company fields in your own workflow. |
📥 Input
| Field | Type | Required | Description |
|---|---|---|---|
scrapeMode | enum | No | Search by keyword and city (default), featured jobs from the Liepin home page, or pasted Liepin links. |
keywords | array | No | Job titles such as python, java, 产品经理 or data analyst. Each is matched to a Liepin job category. |
cities | array | No | Liepin city codes, Chinese or English city names, or all for nationwide. |
startUrls | array | No | Liepin category, city or search links used in link mode. |
maxItems | integer | No | Most jobs returned across the run (default 25, up to 5,000). Free-plan runs are capped at 25. |
pagesPerQuery | integer | No | Most result pages per keyword and city. Each page holds up to 40 jobs. |
postedBy | enum | No | Anyone (default), hiring company only, or headhunter only. |
onlyDisclosedSalary | boolean | No | Skip jobs without a readable salary. |
minMonthlySalaryCny | integer | No | Keep jobs whose top salary reaches this monthly amount. |
excludeKeywords | array | No | Skip jobs whose title or company contains any of these words. |
dropCrossCityDuplicates | boolean | No | Keep only the first row when a company posts the same title in several cities. |
fallbackToFeaturedJobs | boolean | No | Off by default. When on, featured home page jobs are returned if nothing matched; they are labelled home-board and charged like any job. |
convertToUsd | boolean | No | Add US dollar salary figures. |
salaryStatistics | boolean | No | Save a SALARY_STATS record for the run (on by default). |
salaryStatisticsMinSample | integer | No | Fewest jobs with a salary needed to report a group. |
includeSourceFields | boolean | No | Add a sourceFields object with the values as Liepin shows them. |
includeJobDetail | boolean | No | Add description, full company name, work address, headcount and last update. Jobs whose page cannot be read are not returned or charged. |
monitorMode | enum | No | Snapshot (default) or Track changes for new, updated and removed jobs. |
stateName | string | No | Watchlist name for change tracking. Use a different name per keyword set or schedule. |
includeUnchanged | boolean | No | With change tracking, also return unchanged jobs. |
proxyConfiguration | object | No | Leave on automatic, or set your own proxy. |
Earlier inputs keyword, city, and the urls, max_page and max_results inputs used by other Liepin scrapers are still accepted. Liepin's keyword search results page is not read; each keyword is matched to the closest Liepin job category instead, and a keyword with no matching category ends the run with a clear message and suggestions.
📊 Data you receive
The Actor returns one flat record per public Liepin listing. A field is omitted or null when the source does not publish it.
| Field | Type | Description |
|---|---|---|
jobId | string | Source job identifier. |
title | string | Published job title. |
companyName | string or null | Published employer name. |
salaryString | string or null | Original salary text from the source. |
minSalaryMonthlyCny | number or null | Lower monthly CNY amount when derivable from the source. |
maxSalaryMonthlyCny | number or null | Upper monthly CNY amount when derivable from the source. |
bonusMonths | number or null | Number of salary months published by the source. |
annualEstimateCny | number or null | Annual CNY estimate when derivable from the source. |
salaryDisclosed | boolean | Whether the listing publishes salary information. |
cityName | string or null | Published city. |
districtName | string or null | Published district. |
experienceString | string or null | Original experience requirement. |
experienceEnglish | string or null | English experience label when mapped from the source. |
experienceMinYears | number or null | Minimum required experience in years when parsed. |
experienceMaxYears | number or null | Maximum required experience in years when parsed. |
degreeString | string or null | Original education requirement. |
degreeEnglish | string or null | English education label when mapped from the source. |
companyId | string or null | Source company identifier. |
companyTypeString | string or null | Original company-type label. |
companyTypeEnglish | string or null | English company-type label when mapped from the source. |
companyIndustry | string or null | Published company industry. |
companyScale | string or null | Published employer-size label. |
companyUrl | string or null | Public employer page when published. |
jobKind | number or null | Source poster-type code: 2 is the hiring company, 1 is a headhunting firm. |
postedByType | string or null | employer for jobs posted by the hiring company, headhunter for jobs posted by a headhunting firm. |
companyNameHidden | boolean or null | true when Liepin hides the company name (common on headhunter jobs); companyName is then omitted. |
recruiterTitle | string or null | Job title of the poster, for example HR or a headhunter title. |
salaryPeriod | string or null | month, year or day, as the source states the pay. Daily pay is converted to monthly at 21.75 working days. |
salaryMedianMonthlyCny | number or null | Midpoint of the monthly salary range. |
salaryMedianMonthlyUsd, salaryMinMonthlyUsd, salaryMaxMonthlyUsd, annualEstimateUsd | number or null | US dollar figures when convertToUsd is on, with usdPerCny and usdRateDate. |
seniorityLevel | string or null | Level named in the job title (intern, junior, senior, lead, manager, director, vp, c_level); omitted when the title names none. |
requiresFullTimeEnrolment | boolean or null | true when the degree requirement says 统招 (full-time enrolment). |
companyStage | string or null | Funding stage shown on the listing, for example B轮 or 已上市. |
categoryName, categorySlug | string or null | The Liepin job category the keyword was matched to. |
searchKeyword, searchCity | string or null | The keyword and city this row was collected for. |
crossCityDuplicate, crossCityDuplicateCities, crossCityDuplicateOf | mixed | Set when the same company posts the same title in several cities in the run. |
previousSalaryString, salaryChangePct | mixed | With change tracking, on an UPDATED job whose salary changed. |
companyFullName, workAddress, headcount, lastUpdatedDate, daysSinceUpdated, recruiterActiveText | mixed | Added by includeJobDetail. |
sourceFields | object or null | Raw values as Liepin shows them when includeSourceFields is on. |
descriptionText | string or null | Public job-description text when includeJobDetail is on. |
listingUrl | string | Liepin page from which the row was collected. |
jobUrl | string | Public source page for the job. |
sourceLabel | string or null | search/urls for a keyword or link match, home for a featured-jobs run, or home-board when the optional fallback returned featured jobs (never a keyword match). |
changeType | string or null | With change tracking on: NEW, UPDATED, UNCHANGED, or REMOVED. Otherwise SNAPSHOT. |
firstSeenAt | string or null | With change tracking on: when this job was first seen under this watchlist name. |
lastSeenAt | string or null | With change tracking on: when this job was last seen matching. |
scrapedAt | string | Time the record was collected. |
💵 Pricing
This is a pay-per-result Actor. You pay for job rows returned to the dataset, with a lower price per row on higher Apify plans, and a small start charge per run. You are not charged for empty searches, blocked attempts, keywords that match no category, or rows whose requested job description could not be read. Salary statistics and the run summary are free. You can cap spending with the maximum total charge setting of the run. There is no subscription.
View the current usage price and free-test allowance on the Actor page.
⭐ Enjoying Liepin Scraper?
|
⭐ ⭐ ⭐ ⭐ ⭐ Found useful white-collar hiring data for your workflow? A 5-star rating takes 10 seconds and helps other workforce researchers and job-data teams find it. Your feedback also tells us what to build next. |
| ★ Rate this Actor on Apify |
❓ FAQ
How do I run a 猎聘 search for a job title in Chinese or English?
Enter the job title in keywords, for example 产品经理, 数据分析师, java or data analyst, and add one or more cities. The Actor matches each keyword to the closest Liepin job category and returns the jobs listed there. If no category matches, the run ends cleanly, tells you, and suggests close categories.
猎聘有哪些职位数据可以导出 (what Liepin job data can I export)?
Title, company, salary in CNY with pay months, city and district, experience and degree, company industry, size and funding stage, poster type (hiring company or headhunter) and the link to each job. Turn on job detail for the description, full company name and work address.
Can I move from another Liepin scraper without changing my pipeline?
Yes. The urls, max_page and max_results inputs are accepted, including m.liepin.com search links, and includeSourceFields adds the values as Liepin shows them. Links with a keyword are matched to a Liepin job category, so a keyword that is not a job category (for example a country name) returns a clear message instead of rows.
What happens if Liepin blocks a request?
The run finishes without an error and charges nothing for rows it could not collect. It retries automatically with a different connection first. The status message says whether Liepin had no matching jobs, could not be reached, or showed an access check, so a blocked run is never shown as an empty search. Rows already collected are kept.
How does change tracking decide a job was removed?
A job is reported REMOVED only after two consecutive complete scans confirm it is gone. A scan that stopped at your job or page limit, or could not read a page, never removes anything.
Does this Liepin scraper collect candidate profiles or private contacts?
No. It is for public job listings, salaries, requirements, and employer context. It does not collect candidate profiles, recruiter names or private contact information.
⚖️ Responsible use
Use public employment data in line with the source terms, applicable law, and your organization’s privacy obligations. Do not use the output to make decisions about individual candidates.
🛟 Support
For a reproducible issue, include the keywords and cities or the Liepin link, selected mode, approximate run time, and the run ID. That provides enough context to inspect the source response.
🔗 Other actors
- 51job scraper 前程无忧 ↗ - Jobs, salary, and hiring-change monitoring for China's largest job board.
- Zhaopin Scraper 智联招聘 ↗ - China jobs and salary data with change tracking, from Zhaopin.
- Lagou Tech Jobs Scraper ↗ - China tech and IT recruitment postings with salary ranges.
- iGuopin Jobs Scraper 国聘 ↗ - State-owned enterprise and campus recruitment postings in China.