Xing Jobs Scraper
Pricing
from $1.20 / 1,000 results
Xing Jobs Scraper
[π° $1.2 / 1K] Extract job listings from Xing β Germany's largest professional network. Search by keyword and city across the DACH region (Germany, Austria, Switzerland) and get titles, companies, salaries, employment types, descriptions, and apply links.
Pricing
from $1.20 / 1,000 results
Rating
5.0
(1)
Developer
SolidCode
Actor stats
0
Bookmarked
5
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Extract job listings from Xing β Germany's largest professional network β across the DACH region (Germany, Austria, Switzerland). Get job titles, companies, salaries, employment types, career levels, full descriptions, and direct apply links by simply entering keywords and a city. Perfect for recruiters, market researchers, and salary benchmarking teams who need fresh DACH job data without writing a line of code.
Why This Scraper?
- Full DACH coverage β Germany, Austria, Switzerland in one tool, with both German and English UI language support
- Rich job records β title, company, company logo, location, salary range (min/max/median), employment type, industry, posted date, valid-through date, full description, and direct apply link
- Smart filters β combine keyword + city + employment type (full-time, part-time, internship, contractor) + career level (Student to Senior Executive) in a single run
- Direct URL support β already built a search in the Xing UI? Paste the URL and the actor reproduces it exactly
- Salary intelligence β when Xing publishes a salary, you get structured
salaryMin,salaryMax,salaryMedian,salaryCurrency, andsalaryPeriodfields ready for charts and dashboards - Up to 200 jobs per search, batched across keywords for 1,000+ rows per run β Xing limits guest browsing to roughly 200 jobs per search, so add more keywords or city URLs to scale up
- Pay-per-result pricing β only pay for the jobs you actually get back, no compute charges or hidden fees
- Non-technical friendly β no code, no setup, just enter a keyword and a city
Use Cases
Recruitment & Talent Sourcing
- Build candidate pipelines by tracking who is hiring for specific roles
- Monitor competitor job postings to spot expansion plans and team growth
- Surface fresh openings every day to feed your applicant tracking system
- Track time-to-fill by watching when listings disappear
Market Research & Hiring Trends
- Map demand for specific skills (e.g. "Python", "SAP", "Pflegekraft") across DACH cities
- Compare hiring activity in Berlin vs Munich vs Vienna vs Zurich
- Identify which industries are growing fastest in the region
- Track seasonal hiring cycles by re-running searches over time
Salary Benchmarking
- Collect salary ranges by job title, city, industry, and seniority
- Build compensation dashboards with median/min/max for any role
- Compare DACH pay levels across Germany, Austria, and Switzerland
- Anchor offer letters and hiring budgets to live market data
Lead Generation & Sales Intelligence
- Find companies that are actively hiring (a strong "growth" signal)
- Build lists of HR managers, agencies, and decision-makers based on posted listings
- Trigger outreach when a target account opens a key role
- Identify employer brands worth pitching new services to
Job Boards & Aggregators
- Power your own DACH-focused job board with always-fresh content
- Enrich existing listings with structured salary, location, and industry fields
- Build niche aggregators (e.g. tech jobs in Berlin, healthcare jobs in Vienna)
Getting Started
Simple Keyword Search
The fastest way to get started β one keyword, one city:
{"searchQueries": ["python developer"],"location": "Berlin","maxResults": 100}
Multi-City Talent Sweep
Search several roles at once. Each keyword runs as its own search and the location is applied to all of them:
{"searchQueries": ["marketing manager","product manager","data analyst"],"location": "Munchen","maxResults": 200,"includeJobDetails": true}
Filtered Search with Career Level & Employment Type
Narrow to senior, full-time openings only β ideal for executive search and salary benchmarking:
{"searchQueries": ["software engineer"],"location": "Wien","employmentType": ["FULL_TIME"],"careerLevel": ["MANAGER", "EXECUTIVE", "SENIOR_EXECUTIVE"],"maxResults": 200,"language": "en"}
Direct URL β Reuse a Xing Search You Already Built
Already filtered a search in the Xing UI? Paste the URL and the actor reproduces it exactly:
{"startUrls": ["https://www.xing.com/jobs/search?keywords=marketing&location=Hamburg","https://www.xing.com/jobs/search?keywords=sales&location=Zurich"],"maxResults": 150}
You can mix searchQueries + startUrls in the same run.
Input Reference
Search
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | ["python developer"] | Job titles or keywords to search for, such as "Softwareentwickler" or "Marketing Manager". Each keyword runs a separate search. |
location | string | "Berlin" | City or region in the DACH area (e.g. Berlin, Munchen, Hamburg, Wien, Zurich). Applied to every keyword search. |
startUrls | string[] | [] | Paste full Xing job search URLs to use them as-is. Useful when you have already built a search with custom filters in the Xing UI. |
Filters & Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Maximum jobs to collect per search keyword or URL. Use 50 for a quick scan, 200 for deep research. Range 1β1,000. |
employmentType | string[] | [] | Only return jobs of these employment types. Options: FULL_TIME, PART_TIME, INTERN (Student), CONTRACTOR (Self-employed). Leave empty for all types. |
careerLevel | string[] | [] | Only return jobs at these seniority levels. Options: STUDENT, ENTRY, PROFESSIONAL, MANAGER, EXECUTIVE, SENIOR_EXECUTIVE. Leave empty for all levels. |
includeJobDetails | boolean | true | Fetch the full description and posting metadata from each job's detail page. Slightly slower but produces much richer data. |
Localization
| Parameter | Type | Default | Description |
|---|---|---|---|
language | string | "de" | Interface language for results β de (German) or en (English). Xing is primarily German; English is also supported. |
Output
Each job is returned as a structured record. Here is a real example:
{"jobId": "148891004","title": "Python - Entwickler:in","company": "Protech Consulting","companyUrl": "https://www.xing.com/companies/1969208","companyLogo": "https://www.xing.com/imagecache/public/scaled_original_image/eyJ1dWlkIjoiMDEzMWM5OTUtZTc1Yy00Y2Q4LWEzMDQt.../x1.jpg","location": "Berlin","city": "Berlin","country": "DE","postalCode": "10115","employmentType": "Vollzeit","industry": "Information Technology","salary": "70.000 β 90.000 EUR","salaryMin": 70000,"salaryMax": 90000,"salaryMedian": 80000,"salaryCurrency": "EUR","salaryPeriod": "year","postedDate": "2026-04-22T08:30:00Z","validThrough": "2026-06-22T08:30:00Z","description": "We are looking for an experienced Python engineer to join our team in Berlin...","snippet": "We are looking for an experienced Python engineer to join our team in Berlin and help buildβ¦","applyUrl": "https://protech.example.com/apply/148891004","jobUrl": "https://www.xing.com/jobs/berlin-python-entwickler-148891004","searchQuery": "python developer","language": "de","scrapedAt": "2026-04-25T10:08:07Z"}
All Available Fields
| Field | Type | Description |
|---|---|---|
jobId | string | Unique Xing job identifier |
title | string | Job title |
company | string | Hiring company name |
companyUrl | string | Link to the company's Xing profile |
companyLogo | string | Company logo image URL |
location | string | Display location (typically the city) |
city | string | City |
country | string | Country code (e.g. DE, AT, CH) |
postalCode | string | Postal code, when available |
employmentType | string | Localized employment type label (e.g. "Vollzeit", "Full-time") |
industry | string | Industry classification, when available |
salary | string | Salary range as displayed on Xing (human-readable) |
salaryMin | number | Minimum salary, when published |
salaryMax | number | Maximum salary, when published |
salaryMedian | number | Median salary, when published |
salaryCurrency | string | Currency code (typically EUR or CHF) |
salaryPeriod | string | Pay period β Xing always reports yearly (year) |
postedDate | string | ISO 8601 date the listing was posted or refreshed |
validThrough | string | ISO 8601 expiry date of the posting, when available |
description | string | Full job description as plain text |
descriptionHtml | string | Full job description as raw HTML (when includeJobDetails is on) |
snippet | string | Short ~200-character preview of the description, useful for compact list views |
applyUrl | string | External apply URL, when the company links out |
jobUrl | string | Canonical Xing job URL |
searchQuery | string | The keyword that produced this row |
language | string | Result language used for the run (de or en) |
scrapedAt | string | ISO 8601 timestamp of when the row was collected |
Tips for Best Results
- One keyword per search β don't stuff multiple roles into one keyword. Use the
searchQueriesarray so each role gets its own targeted search and full result quota. - Stick to DACH locations β Xing is the dominant professional network in Germany, Austria, and Switzerland. Expect the best coverage in Berlin, Munich, Hamburg, Frankfurt, Cologne, Vienna, and Zurich.
- Use German keywords for German cities β search "Softwareentwickler" in Berlin instead of "software developer". Xing indexes German job titles more thoroughly. Use English keywords (and
language: "en") for international roles. - Need more than 200 jobs for one keyword? Xing limits guest browsing to roughly 200 results per individual search. To collect more, split your search across multiple keywords (e.g. "Python developer", "Python engineer", "Backend developer") or different cities β each runs as its own paginated search.
- Salary fields are not always populated β some employers publish salary, many do not. Filter your dataset on
salaryMin != nullfor benchmarking work. - Turn off
includeJobDetailsfor fast scans β when you only need title/company/location/URL, set it tofalseand the run finishes ~9Γ faster.
Pricing
$1.20 per 1,000 results β pay-per-result pricing with no surprises.
| Results | Cost |
|---|---|
| 100 | $0.12 |
| 1,000 | $1.20 |
| 10,000 | $12.00 |
No compute charges β you only pay per result returned. No hourly fees, no add-on costs, no storage charges. If a run produces zero rows, you pay nothing.
Integrations
Export your data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n β Workflow automation
- Google Sheets β Direct spreadsheet export, refreshed on every run
- Slack / Email β Notifications on new results
- Webhooks β Custom API integrations triggered when a run finishes
- Apify API β Full programmatic access to runs, datasets, and schedules
Schedule the actor to run every morning to keep a live feed of new DACH job postings flowing into your CRM, BI tool, or dashboard.
Legal & Ethical Use
This actor is designed for legitimate market research, recruitment intelligence, salary benchmarking, and lead generation. You are responsible for complying with applicable laws (including GDPR), Xing's Terms of Service, and the rules of any platform you forward the data to. Do not use the extracted data for spam, harassment, or any illegal purpose. When in doubt, consult your legal team before running large collections.