Xing Jobs Scraper & API — Salaries & Daily Job Feed (DACH)
Pricing
from $1.00 / 1,000 jobs
Xing Jobs Scraper & API — Salaries & Daily Job Feed (DACH)
Scrape Xing jobs in Germany, Austria & Switzerland: salaries, remote/hybrid, career level, company size and full descriptions. Search by keyword & city or get a daily feed of all new jobs.
Pricing
from $1.00 / 1,000 jobs
Rating
0.0
(0)
Developer
Ángel Panadero Rodríguez
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 minutes ago
Last modified
Categories
Security
Limited permissionsShare
Xing Jobs Scraper — Salaries & Daily Job Feed (DACH)
Get job postings from Xing, the leading professional network in Germany, Austria and Switzerland, as clean structured data. Each job includes:
- Salary range: real or Xing's estimate (on ~70-80% of jobs).
- Remote, hybrid or on-site.
- Career level, discipline and industry.
- Language of the ad, so you can find English-speaking jobs.
- Keywords and a summary of responsibilities.
- Company size, industry and Xing page.
- Full description, posting and expiry dates, and the apply link.
Why this scraper
- Two ways to collect jobs. Search by keyword and city (1,000+ jobs per search), or use the feed of every new job on Xing, built from Xing's public sitemaps (~500,000 active jobs, ~8,000 new per day). You can filter the feed by city or keyword.
- Filters that save you money. Filter by employment type, remote/hybrid/on-site, ad language, minimum salary and posting date. Jobs that don't match are skipped and not charged.
- Pay only for what changed. Turn on Only new jobs and schedule the run. Each run returns just the jobs you have not received before.
- Salaries on most jobs. Real salary ranges when the employer publishes them, and Xing's
salary estimate otherwise.
salaryIsEstimatetells you which is which. - Compliant by design. It only uses pages that Xing's
robots.txtallows for all crawlers. It collects job postings only, never people's profiles. By default it removes e-mail addresses and phone numbers from descriptions, so you don't store recruiters' personal data.
Use cases
- Job boards and aggregators that need a daily DACH feed.
- Labour-market and salary research by role, city or industry.
- Recruiting agencies tracking which companies are hiring.
- Lead generation for B2B sales, using company-level hiring signals.
Input
| Field | Description |
|---|---|
mode | search (keywords + cities), feed (all new jobs) or urls (specific job or listing pages) |
keywords, locations | Search mode. Every keyword is searched in every city (20 km radius). |
feedCities, feedKeywords | Feed mode filters, e.g. ["Berlin", "München"] and ["entwickler"]. |
employmentTypes, workplace, languages | Keep only e.g. FULL_TIME, remote/hybrid, ads in en. |
minSalary, includeEstimatedSalaries | Minimum yearly salary in EUR, with or without Xing's estimates. |
postedWithinDays | Only jobs posted in the last N days. |
includeDetails | Adds the full description, industry, region and dates (default on). |
onlyNewJobs + stateKey | Return only jobs not delivered before. Use one state key per scheduled task. |
maxItems | Maximum number of jobs per run. |
Example, every new English-language, remote or hybrid Python job in Berlin and Munich paying at least €60,000:
{"mode": "search","keywords": ["python"],"locations": ["Berlin", "München"],"languages": ["en"],"workplace": ["remote", "hybrid"],"minSalary": 60000,"onlyNewJobs": true,"stateKey": "python-berlin-munich"}
Output
{"id": 156675213,"url": "https://www.xing.com/jobs/berlin-python-developer-financial-services-all-genders-156675213","title": "Python Developer Financial Services (all genders)","company": "Exxeta","companySize": "1.001-5.000 Mitarbeitende","companyXingUrl": "https://www.xing.com/pages/exxetaag","city": "Berlin","region": "Land Berlin","country": "DE","workplace": "hybrid","employmentType": "FULL_TIME","careerLevel": "Mit Berufserfahrung","discipline": "IT und Softwareentwicklung","industry": "Beratung, Consulting","language": "de","keywords": ["python", "softwareentwicklung", "financial services"],"salaryMin": 59000,"salaryMax": 86000,"salaryMedian": 76000,"salaryCurrency": "EUR","salaryIsEstimate": true,"datePosted": "2026-09-17T05:36:36Z","validThrough": "2027-01-22T21:35:50Z","applyUrl": "https://career.exxeta.com/...","applyOnXing": false,"description": "Standorte: Karlsruhe, Berlin, ..."}
You can download the results as JSON, CSV, Excel or XML, or get them through the Apify API. Code examples in Python, Node.js and plain HTTP, including a daily feed to CSV: github.com/angelrxdriguez/xing-jobs-api.
FAQ
Is it legal? The scraper collects publicly available job postings and respects Xing's
robots.txt. It does not log in and does not collect personal profiles. You are responsible for
using the data in line with Xing's terms and applicable law, such as GDPR.
Why is a salary marked as estimated? Many employers don't publish a salary, and Xing shows its
own estimate instead. We return it with salaryIsEstimate: true so you can filter it out.
Something is missing or broken? Open an issue on the Issues tab. We read every issue and fix problems as fast as we can.