Liepin Scraper 猎聘: China Salary Data, Jobs & Headhunter Posts avatar

Liepin Scraper 猎聘: China Salary Data, Jobs & Headhunter Posts

Pricing

from $0.90 / 1,000 jobs

Go to Apify Store
Liepin Scraper 猎聘: China Salary Data, Jobs & Headhunter Posts

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

GetAScraper

Maintained by Community

Actor stats

0

Bookmarked

49

Total users

9

Monthly active users

4 days ago

Last modified

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
 Zhaopin
Jobs, salary & hiring-change monitoring
 51job
Jobs, salary & employer context
 Liepin
➤ You are here
 ChinaHR
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

FieldTypeRequiredDescription
scrapeModeenumNoSearch by keyword and city (default), featured jobs from the Liepin home page, or pasted Liepin links.
keywordsarrayNoJob titles such as python, java, 产品经理 or data analyst. Each is matched to a Liepin job category.
citiesarrayNoLiepin city codes, Chinese or English city names, or all for nationwide.
startUrlsarrayNoLiepin category, city or search links used in link mode.
maxItemsintegerNoMost jobs returned across the run (default 25, up to 5,000). Free-plan runs are capped at 25.
pagesPerQueryintegerNoMost result pages per keyword and city. Each page holds up to 40 jobs.
postedByenumNoAnyone (default), hiring company only, or headhunter only.
onlyDisclosedSalarybooleanNoSkip jobs without a readable salary.
minMonthlySalaryCnyintegerNoKeep jobs whose top salary reaches this monthly amount.
excludeKeywordsarrayNoSkip jobs whose title or company contains any of these words.
dropCrossCityDuplicatesbooleanNoKeep only the first row when a company posts the same title in several cities.
fallbackToFeaturedJobsbooleanNoOff by default. When on, featured home page jobs are returned if nothing matched; they are labelled home-board and charged like any job.
convertToUsdbooleanNoAdd US dollar salary figures.
salaryStatisticsbooleanNoSave a SALARY_STATS record for the run (on by default).
salaryStatisticsMinSampleintegerNoFewest jobs with a salary needed to report a group.
includeSourceFieldsbooleanNoAdd a sourceFields object with the values as Liepin shows them.
includeJobDetailbooleanNoAdd description, full company name, work address, headcount and last update. Jobs whose page cannot be read are not returned or charged.
monitorModeenumNoSnapshot (default) or Track changes for new, updated and removed jobs.
stateNamestringNoWatchlist name for change tracking. Use a different name per keyword set or schedule.
includeUnchangedbooleanNoWith change tracking, also return unchanged jobs.
proxyConfigurationobjectNoLeave 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.

FieldTypeDescription
jobIdstringSource job identifier.
titlestringPublished job title.
companyNamestring or nullPublished employer name.
salaryStringstring or nullOriginal salary text from the source.
minSalaryMonthlyCnynumber or nullLower monthly CNY amount when derivable from the source.
maxSalaryMonthlyCnynumber or nullUpper monthly CNY amount when derivable from the source.
bonusMonthsnumber or nullNumber of salary months published by the source.
annualEstimateCnynumber or nullAnnual CNY estimate when derivable from the source.
salaryDisclosedbooleanWhether the listing publishes salary information.
cityNamestring or nullPublished city.
districtNamestring or nullPublished district.
experienceStringstring or nullOriginal experience requirement.
experienceEnglishstring or nullEnglish experience label when mapped from the source.
experienceMinYearsnumber or nullMinimum required experience in years when parsed.
experienceMaxYearsnumber or nullMaximum required experience in years when parsed.
degreeStringstring or nullOriginal education requirement.
degreeEnglishstring or nullEnglish education label when mapped from the source.
companyIdstring or nullSource company identifier.
companyTypeStringstring or nullOriginal company-type label.
companyTypeEnglishstring or nullEnglish company-type label when mapped from the source.
companyIndustrystring or nullPublished company industry.
companyScalestring or nullPublished employer-size label.
companyUrlstring or nullPublic employer page when published.
jobKindnumber or nullSource poster-type code: 2 is the hiring company, 1 is a headhunting firm.
postedByTypestring or nullemployer for jobs posted by the hiring company, headhunter for jobs posted by a headhunting firm.
companyNameHiddenboolean or nulltrue when Liepin hides the company name (common on headhunter jobs); companyName is then omitted.
recruiterTitlestring or nullJob title of the poster, for example HR or a headhunter title.
salaryPeriodstring or nullmonth, year or day, as the source states the pay. Daily pay is converted to monthly at 21.75 working days.
salaryMedianMonthlyCnynumber or nullMidpoint of the monthly salary range.
salaryMedianMonthlyUsd, salaryMinMonthlyUsd, salaryMaxMonthlyUsd, annualEstimateUsdnumber or nullUS dollar figures when convertToUsd is on, with usdPerCny and usdRateDate.
seniorityLevelstring or nullLevel named in the job title (intern, junior, senior, lead, manager, director, vp, c_level); omitted when the title names none.
requiresFullTimeEnrolmentboolean or nulltrue when the degree requirement says 统招 (full-time enrolment).
companyStagestring or nullFunding stage shown on the listing, for example B轮 or 已上市.
categoryName, categorySlugstring or nullThe Liepin job category the keyword was matched to.
searchKeyword, searchCitystring or nullThe keyword and city this row was collected for.
crossCityDuplicate, crossCityDuplicateCities, crossCityDuplicateOfmixedSet when the same company posts the same title in several cities in the run.
previousSalaryString, salaryChangePctmixedWith change tracking, on an UPDATED job whose salary changed.
companyFullName, workAddress, headcount, lastUpdatedDate, daysSinceUpdated, recruiterActiveTextmixedAdded by includeJobDetail.
sourceFieldsobject or nullRaw values as Liepin shows them when includeSourceFields is on.
descriptionTextstring or nullPublic job-description text when includeJobDetail is on.
listingUrlstringLiepin page from which the row was collected.
jobUrlstringPublic source page for the job.
sourceLabelstring or nullsearch/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).
changeTypestring or nullWith change tracking on: NEW, UPDATED, UNCHANGED, or REMOVED. Otherwise SNAPSHOT.
firstSeenAtstring or nullWith change tracking on: when this job was first seen under this watchlist name.
lastSeenAtstring or nullWith change tracking on: when this job was last seen matching.
scrapedAtstringTime 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