🔥XING Germany Jobs — Real-Time Search 🇩🇪 avatar

🔥XING Germany Jobs — Real-Time Search 🇩🇪

Pricing

from $1.00 / 1,000 results

Go to Apify Store
🔥XING Germany Jobs — Real-Time Search 🇩🇪

🔥XING Germany Jobs — Real-Time Search 🇩🇪

Search thousands of live XING job listings in Germany. Filter by title, location, company, language, remote, contract type, and date. Instant structured results.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(6)

Developer

Hermann Samimi

Hermann Samimi

Maintained by Community

Actor stats

4

Bookmarked

10

Total users

1

Monthly active users

3 days ago

Last modified

Share

Pingrole Xing Job Search

Search a continuously updated database of Xing job listings in Germany. Filter by title, location, company, language, remote and contract type, and posting date. Each match returns structured job fields ready to export or pipe into your stack.

Coverage: Germany (Xing)


Quick start (Apify Console)

  1. Open this Actor in the Apify Console.
  2. Go to the Input tab.
  3. Fill in the four required fields: Job Title, Location, Country, and Limit.
  4. Optionally set company, language, booleans, date range, skip, and sort.
  5. Click Start.
  6. When the run finishes, open the Dataset tab to browse results or download as JSON, CSV, Excel, or XML.

The four required fields (Job Title, Location, Country, Limit) open with default values you can edit before running. Optional fields like Skip and Sort use their own defaults.


Input fields

FieldRequiredDescription
Job Title (title)YesDefault: Leitung. Partial, case-insensitive match. Comma-separated values are OR'd.
Location (location)YesDefault: berlin. Partial, case-insensitive match. Comma-separated OR supported.
Country (country)YesDefault: germany. Currently supported: germany.
Company (company)NoPartial match on company name. Comma-separated OR supported.
Language (language)NoExact match: en, fr, or de.
RemoteNoChecked = remote jobs only. Unchecked with explicit false in API = exclude remote. Leave empty to ignore.
Part TimeNoPart-time roles only (same true / false / ignore behavior).
FreelancerNoFreelance roles only.
AcademicNoAcademic roles only.
ResearchNoResearch roles only.
B2BNoB2B contract roles only.
Date From (datetime_from)NoJobs scraped on or after this time. Formats: 2026-01-01 or 2026-01-01@11:00 (use @ instead of T for time).
Date To (datetime_to)NoJobs scraped on or before this time. Same format as Date From.
LimitYesDefault: 10. Number of jobs to return per run (1–100).
SkipNoOffset for pagination (default 0).
Sort FieldNodatetime_from (newest/oldest by scrape time, default), title, company, language, or country.
Sort DirectionNo-1 = descending (newest first when sorting by date). 1 = ascending.

Boolean filters: In the Console, check a box to require that flag. In the API, use true to include only matching jobs, false to exclude them, or omit the field to ignore it.


Example inputs

Leadership roles in Berlin

{
"title": "Leitung",
"location": "Berlin",
"country": "germany",
"limit": 20
}

Remote data roles in Germany (German listings)

{
"title": "data",
"location": "Berlin",
"country": "germany",
"Remote": true,
"language": "de",
"limit": 50
}

Product roles at a specific company, posted in May 2026 (page 2)

{
"title": "product manager",
"location": "Munich",
"country": "germany",
"company": "SAP",
"datetime_from": "2026-05-01",
"datetime_to": "2026-05-31",
"limit": 10,
"skip": 10,
"sort_field": "datetime_from",
"sort_direction": -1
}

Multiple title keywords (OR)

{
"title": "backend, full stack, fullstack",
"location": "Hamburg",
"country": "germany",
"limit": 25
}

Output

Each run writes one dataset record per job to your run's default dataset. Fields are omitted or null when not available on the listing.

FieldDescription
titleJob title
companyCompany name
locationLocation string
countryCountry
languageListing language (en, fr, de, …)
job_typee.g. fulltime, parttime
job_levelSeniority, e.g. mid-senior
job_urlXing job posting URL
descriptionFull job description text
timestampWhen the listing was scraped (UTC)
siteSource site (always xing for this Actor)
job_idStable job identifier
Remote, PartTime, Freelancer, Academic, Research, B2BJob-type flags
salarySalary range when present (e.g. €48,500 – €68,000)
currencySalary currency code when available
company_logoLogo image URL
company_urlXing company page
company_url_directCompany website
company_addressesCompany address data when available
company_industryIndustry
company_num_employeesEmployee count range
company_revenueRevenue band when available
company_descriptionCompany description
company_ratingCompany rating when available

The run also saves the same job array to the key-value store under OUTPUT (useful for API consumers that read KV store instead of the dataset).

Example record

{
"title": "E-Mail Marketing Manager (m/w/d)",
"company": "STAHLWILLE Eduard Wille GmbH & Co. KG",
"location": "Wuppertal",
"country": "germany",
"language": "en",
"job_type": null,
"job_level": null,
"job_url": "https://www.xing.com/jobs/wuppertal-email-marketing-manager-123456",
"description": null,
"timestamp": "2026-05-15 13:14:00.317000",
"site": "xing",
"salary": "€48,500 – €68,000",
"currency": null,
"company_logo": "https://i.ibb.co/4hC66vz/Xing-Emblem.png",
"company_url": null,
"company_url_direct": null,
"company_addresses": null,
"company_industry": null,
"company_num_employees": null,
"company_revenue": null,
"company_description": null,
"company_rating": null,
"Remote": false,
"PartTime": false,
"Freelancer": false,
"Academic": false,
"Research": false,
"B2B": false,
"job_id": "66e9ed08c53aa528e654da72ddfbbaf3"
}

Pagination

Use Limit and Skip together to page through results:

Pagelimitskip
1100
21010
31020

Each page returns at most limit jobs (max 100 per run). If a page returns fewer records than limit, you have reached the end of the matching set for that query. Run again with a higher skip to fetch the next page.


Run from your code (Apify API)

Replace YOUR_ACTOR_ID with this Actor's ID or username/name slug from the Apify Store.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('YOUR_ACTOR_ID').call({
title: 'software engineer',
location: 'Berlin',
country: 'germany',
limit: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import requests
import time
import json
API_TOKEN = "YOUR_APIFY_TOKEN"
ACTOR_ID = "YOUR_ACTOR_ID"
payload = {
"title": "software engineer",
"location": "Berlin",
"country": "germany",
"limit": 20,
"sort_field": "datetime_from",
"sort_direction": -1,
}
# Start actor
start_url = f"https://api.apify.com/v2/acts/{ACTOR_ID}/runs?token={API_TOKEN}"
response = requests.post(start_url, json=payload)
run_data = response.json()["data"]
run_id = run_data["id"]
print("Run started:", run_id)
# Wait until finished
while True:
status_url = f"https://api.apify.com/v2/actor-runs/{run_id}?token={API_TOKEN}"
status_data = requests.get(status_url).json()["data"]
status = status_data["status"]
print("Status:", status)
if status == "SUCCEEDED":
dataset_id = status_data["defaultDatasetId"]
break
elif status in ["FAILED", "ABORTED", "TIMED-OUT"]:
print("Run failed")
exit()
time.sleep(3)
# Fetch results
dataset_url = f"https://api.apify.com/v2/datasets/{dataset_id}/items?token={API_TOKEN}"
results = requests.get(dataset_url).json()
print(json.dumps(results, indent=4))

cURL (start a run)

curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"software engineer","location":"Berlin","country":"germany","limit":20}'

Fetch dataset items from the run's defaultDatasetId in the API response, or download exports from the Console.


Scheduling and integrations

In the Apify Console you can schedule this Actor (e.g. daily) so fresh jobs land in a dataset automatically. Connect the dataset to Google Sheets, Slack, Zapier, Make, Airtable, webhooks, or other Apify integrations without writing custom export code.


Tips

  • Start broad on Job Title and Location, then narrow with boolean flags and optional Company.
  • Use Date From / Date To to focus on recently scraped listings.
  • Sort by datetime_from with direction -1 for the newest jobs first.
  • For large pulls, chain multiple runs with increasing skip (respect the 100-per-run cap).

Support

Built by Hermann Samimi · Pingrole