
Xing Jobs Scraper
hipersoft/xing-jobs-scraper
Scrape Xing job listings by keyword and location: title, company, location, employment type, salary estimates, posting date, apply link and full description. Filter by type, remote and date. For Germany, Austria and Switzerland.
Total users
2Monthly users
1Total runs
5Per job scraped
$0.0015Last rebuilt
Nov 4, 2026Overview
Xing Jobs Scraper extracts job listings from Xing, the leading professional network in Germany, Austria and Switzerland: title, company, location, employment type, salary range, posting date, apply link and full description. Search by keyword and location, filter by employment type, remote work and date, and export to JSON, CSV or Excel.

What does Xing Jobs Scraper do?
It runs your Xing job search and returns one clean row per job, with the salary range on most listings and a direct apply link on many. Turn on job details for the full description, industry and region. A test search for sales returned 712 jobs in under a minute.
What data can you scrape from Xing?
| Data | Fields |
|---|---|
| Job | jobId, title, employmentType, postedAt, activeUntil, url |
| Company | company, companyLogo, companyUrl, industry |
| Location | location, locations, region, postalCode, country |
| Salary | salaryMin, salaryMax, salaryMedian, salaryCurrency, isSalaryEstimate |
| Applying | applyUrl, isExternalApply |
| Text | description |
Use cases
- Recruiting and sourcing: see which DACH companies are hiring for a role.
- Salary benchmarking: compare ranges by role and city.
- Job boards and alerts: feed in fresh German-market listings on a schedule.
- Sales leads: find companies hiring for roles you serve.
- Market research: track hiring demand across Germany, Austria and Switzerland.
How to scrape Xing jobs
- Open Xing Jobs Scraper.
- Add your job searches and a location.
- Pick any filters.
- Click Start.
- Export to JSON, CSV, Excel or XML.
Input
{
"keywords": ["python", "data engineer"],
"location": "Berlin",
"employmentTypes": ["FULL_TIME.ef2fe9"],
"remoteOptions": ["PARTLY_REMOTE.ca71ca"],
"postedWithinDays": 14,
"includeDescription": true,
"maxResultsPerSearch": 100
}
| Field | Description |
|---|---|
keywords |
What to search for. |
location |
City or region. |
radiusKm |
Search around the location. |
employmentTypes |
Full-time, part-time, self-employed, intern, temporary, seasonal, voluntary. Pick from the list in the Console. |
remoteOptions |
Fully remote, partly remote or on site. |
postedWithinDays |
Only jobs posted or refreshed in the last N days. |
includeDescription |
Add full job details (default on). Turn off for faster lists. |
maxResultsPerSearch |
Jobs per search (default 100). |
maxConcurrency |
Job pages fetched at once (default 5). |
Output
A real row, with long values shortened.

{
"jobId": "156675213",
"title": "Python Developer Financial Services (all genders)",
"company": "Exxeta",
"companyLogo": "https://www.xing.com/imagecache/public/scaled_original_image…",
"location": "Berlin",
"locations": [
"Berlin"
],
"employmentType": "Full-time",
"salaryMin": 59000,
"salaryMax": 86000,
"salaryMedian": 76000,
"salaryCurrency": "EUR",
"isSalaryEstimate": true,
"postedAt": "2026-09-17T05:36:36Z",
"activeUntil": "2027-01-22T21:35:50Z",
"url": "https://www.xing.com/jobs/berlin-python-developer-financial-services-all-genders-156675213",
"applyUrl": "https://career.exxeta.com/Python-Developer-Financial-Services-all-genders-de-j1018.html",
"isExternalApply": false,
"description": "Standorte: Karlsruhe, Berlin, Braunschweig, Essen, Frankfurt am Main, Hamburg, Leipzig, Ma…",
"industry": "Consulting",
"companyUrl": "https://www.xing.com/pages/exxetaag",
"postalCode": null,
"region": "Land Berlin",
"country": "DE",
"employmentTypeCode": "FULL_TIME",
"searchKeyword": "python",
"searchLocation": "Berlin",
"collectedAt": "2026-11-04T16:37:08.339Z"
}
Output schema
| Field | Type | Description |
|---|---|---|
jobId |
string | Xing job ID. |
title |
string | Job title. |
company / companyLogo / companyUrl |
string | The employer. |
location / locations |
string / array | Main city and all cities. |
region / postalCode / country |
string | With job details on. |
employmentType |
string | Full-time and so on. |
salaryMin / salaryMax / salaryMedian |
integer | Salary range as listed. Yearly on most estimates; a low range may be monthly, so check the listing. |
salaryCurrency |
string | Usually EUR. |
isSalaryEstimate |
boolean | True when the range is Xing's estimate rather than the employer's figure. |
postedAt |
string (ISO date) | When it was posted or refreshed. |
activeUntil |
string (ISO date) | When the listing ends. |
url |
string (URL) | The job on Xing. |
applyUrl |
string (URL) | Direct apply link, when the listing has one. |
isExternalApply |
boolean | Whether the listing redirects to another site. |
description |
string | Full text, with job details on. |
industry |
string | With job details on. |
searchKeyword / searchLocation |
string | The search that found it. |
collectedAt |
string (ISO date) | When the row was collected. |
Need more job data?
- StepStone Scraper: another major German job board.
- Google Jobs Scraper: jobs from many boards at once.
- ATS Jobs Scraper: company career sites.
FAQ
How much does it cost? You pay per job delivered, shown on the Pricing tab. Set a maximum cost per run and it stops cleanly at that limit, storing only what you paid for.
How many jobs can I get? Up to about 1,000 per search, which is as far as Xing's results go. Split bigger searches by city or keyword.
Are the salaries real?
Many are Xing's estimates, marked by isSalaryEstimate. Others come from the listing. Treat estimates as a guide.
Which countries does it cover? Whatever Xing lists, mainly Germany, Austria and Switzerland.
Does it collect people's profiles? No. Only job listings and company details.
Can I connect this to other tools? Yes, through integrations on the Apify platform: Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API and webhooks.
Is it legal to scrape Xing? It returns publicly listed job information. You are responsible for how you use it, including Xing's terms and privacy law.
Feedback
How did it go? Good or bad, a review helps other users decide and tells us what to improve. Something broken or missing? Open an issue and we'll look at it.
Notes
Independent tool, not affiliated with Xing or New Work SE. Returns only public data; you are responsible for how you use it.
Input
| Field | Type | Description |
|---|---|---|
keywordsJob searches | array | What to search for, one per line. |
locationLocation | string | City or region. Example: Berlin, Munich, Vienna, Zürich. |
radiusKmRadius (km) | integer | Search around the location. Empty uses Xing's default. |
employmentTypesEmployment type | array | Empty keeps all. |
remoteOptionsRemote | array | Empty keeps all. |
postedWithinDaysPosted within (days) | integer | Only jobs posted or refreshed in the last N days. |
includeDescriptionInclude full job details | boolean | Add the description, industry and region. Slower; turn off for quick lists. Default: true |
maxResultsPerSearchMax jobs per search | integer | How many jobs to collect per search. Default: 100 |
maxConcurrencyParallel requests | integer | Job pages fetched at once. Default: 5 |
proxyConfigurationProxy | object | Optional. Usually not needed. |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~xing-jobs-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"keywords": [
"python"
],
"location": "Berlin"
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/xing-jobs-scraper").call(run_input={
"keywords": [
"python"
],
"location": "Berlin"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/xing-jobs-scraper').call({
"keywords": [
"python"
],
"location": "Berlin"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Job scraped One job listing delivered. | $0.0015 | $0.0008 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Dribbble Shots Scraper
Scrape public design shots from Dribbble: title, high-res image, tags, likes, views and designer credit. Filter by category or sort, export JSON, CSV or Excel.
361 runs · 5 users · $0.003 / shot scrapedComputrabajo Scraper
Scrape Computrabajo job listings across Latin America (Mexico, Colombia, Argentina, Chile, Peru and more): title, company, location, salary, posted date and apply URL. Filter by country and keyword. No setup.
208 runs · 4 users · $0.002 / listing scrapedKraken Market Data Scraper
Fetch Kraken spot market data in bulk: ticker stats (ask, bid, last, 24h high/low/volume/vwap), OHLC candles for any interval, order book depth (top bids/asks), and tradable pair metadata. Fast, clean and cheap.
166 runs · 4 users · $0.001 / pair scrapedBayt Scraper
Scrape Bayt.com job listings across the Middle East (UAE, Saudi Arabia, Egypt, Qatar and more): title, company, location, posted date and apply URL. Filter by country and keyword.
135 runs · 4 users · $0.003 / job scrapedGitHub Scraper
Search GitHub and scrape repositories (stars, forks, language, topics, license, dates) or user profiles (name, company, location, bio, followers, public email, repos). Uses the GitHub REST API; optional token for higher rate limits. For developer lead generation, OSS research and recruiting.
132 runs · 7 users · $0.0008 / item scrapedHacker News Scraper
Scrape Hacker News stories, comments, Ask HN, Show HN, jobs and polls by keyword, points, comments and date range. Sort by relevance or newest. Title, URL, author, points, comment count, text and HN link. Fast clean HTTP via the HN Algolia API, no setup.
131 runs · 2 users · $0.004 / item scrapedSend the site and the fields. We build it and you get it first.