XING Jobs Scraper
Under maintenancePricing
from $3.99 / 1,000 results
XING Jobs Scraper
Under maintenanceScrape job listings from XING (XING.com). Extract job titles, companies, locations, salary estimates, employment types, and apply URLs. Supports keyword and location search with pagination.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Coding Frontned
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
What does XING Jobs Scraper do?
XING Jobs Scraper defines a bounded input and dataset contract for public XING Jobs searches. It saves a job record only when the requested public route is allowed and the returned job fields can be validated.
The current robots policy disallows /jobs/search?* and /jobs/search/. The Actor therefore fails closed without requesting those routes. It does not switch to homepage listings, recommendations, GraphQL, APIs, altered queries, or another route. No current search records have been verified, so this README does not claim a successful live search or current job inventory.
Why use XING Jobs Scraper?
The Actor has a small, explicit search contract and a stable 24-field business-record shape for source-backed job results when access is permitted. It keeps search limits, request controls, proxy settings, and run status visible. Apify run logs explain access failures, and the separate key-value-store summary reports whether the run saved any records.
At present, the robots restriction prevents a result-producing search. A run records that outcome rather than using another route or treating a blocked search as an empty successful result.
What data can XING Jobs Scraper extract?
When an allowed public result contains usable values, a dataset row can include the following business fields. Optional values are omitted when XING does not provide them. The example and field list describe the output contract; they are not live or verified job results.
How to scrape XING jobs
- Open the Actor and select the Input tab.
- Enter a job phrase and location, or keep the defaults. Adjust the result limits or request options if useful.
- Select Start.
- Open Job results for any validated records. Open Output summary in the run's default key-value store to see the final status and record count.
With the current robots policy, the Actor stops before requesting the disallowed search route. The run reports FAILED with zero stored job records. The steps above do not imply that a current search will return results.
How much will it cost to scrape XING jobs?
Apify run costs depend on your plan and compute usage. Enabling Apify Proxy may add proxy charges. This Actor does not promise a fixed price. The current robots restriction stops the search before a public search request is made.
Input
All nine top-level inputs are optional. Omitted values use the defaults below. Inputs must have the documented JSON types; null, unknown keys, legacy keys, and type coercion are rejected. keywords and location are trimmed. An empty location is valid and means no location filter.
| Input | Type | Required? | Default | Accepted values and behavior |
|---|---|---|---|---|
keywords | String | No | Software Engineer | Non-empty after trimming; up to 200 characters. |
location | String | No | Germany | Up to 120 characters. Use "" for no location filter. |
maxJobs | Integer | No | 20 | From 1 to 200 unique, validated job records. |
maxPages | Integer | No | 20 | From 1 to 50 search pages. |
requestTimeoutSecs | Integer | No | 30 | From 10 to 180 seconds per public search request. |
maxRequestRetries | Integer | No | 2 | From 0 to 5 extra attempts for transient HTTP errors. 0 means one attempt. |
requestDelayMs | Integer | No | 500 | Accepts 0 to 10,000 milliseconds. The effective delay is at least 500 milliseconds, so smaller values are raised to 500. |
maxResponseBytes | Integer | No | 5000000 | From 100,000 to 30,000,000 bytes per response body. |
proxyConfiguration | Object | No | {"useApifyProxy":false} | Optional managed Apify Proxy or custom proxy settings. See the nested fields below. |
Proxy configuration
Apify Proxy is disabled by default. Use useApifyProxy: true for Apify Proxy settings, or keep it false and provide custom proxyUrls. These modes cannot be combined. Apify Proxy can add charges. Proxy settings do not change the Actor's robots policy or permit access to disallowed routes. Never paste real proxy credentials into shared examples or logs.
| Nested field | Type | Required? | Default | Accepted values and behavior |
|---|---|---|---|---|
useApifyProxy | Boolean | No | false | Enable Apify Proxy when true. |
apifyProxyGroups | Array of strings | No | Omitted | From 1 to 20 unique uppercase group names matching ^[A-Z][A-Z0-9_-]{0,63}$. Allowed only with useApifyProxy: true. |
apifyProxyCountry | String | No | Omitted | Two uppercase letters such as DE. Allowed only with useApifyProxy: true. |
proxyUrls | Array of strings | No | Omitted | From 1 to 100 unique absolute HTTP or HTTPS proxy URLs. Fragments, trailing-dot hostnames, and . or .. path segments are rejected. Allowed only with useApifyProxy: false. URLs may contain credentials and should be treated as secrets. |
Input examples
Use the defaults:
{}
Set a smaller search and page limit:
{"keywords": "Data Analyst","location": "Berlin","maxJobs": 10,"maxPages": 3}
Adjust request controls. A requested delay of 0 is normalized to the 500 ms minimum:
{"requestTimeoutSecs": 45,"maxRequestRetries": 3,"requestDelayMs": 0,"maxResponseBytes": 8000000}
Enable Apify Proxy in the Germany region:
{"proxyConfiguration": {"useApifyProxy": true,"apifyProxyCountry": "DE"}}
Use a custom proxy URL. Replace the example address with a URL you control, and keep any credentials private:
{"proxyConfiguration": {"useApifyProxy": false,"proxyUrls": ["http://proxy.example.test:8080"]}}
Search and request controls apply only when XING permits the requested public route. Under the current robots policy, the Actor does not send a search request.
Output
The dataset contains only validated business job records. A job ID, title, and XING job URL are required. Other fields are included only when a usable source value exists. The Actor does not visit employer or application pages for enrichment.
This is a neutral, synthetic example of the 24-field contract. Its values and URLs are illustrative placeholders, not verified live results:
{"jobId": "example-job-001","globalId": "surn:x-xing:jobs:posting:example-job-001","slug": "example-software-role","title": "Example Software Role","jobUrl": "https://www.xing.com/jobs/example-software-role","company": "Example Company","companyId": "example-company-001","companyLogoUrl": "https://images.example.test/company-logo.png","location": "Munich","locations": ["Munich"],"employmentType": "Full-time","salaryMin": 60000,"salaryMax": 80000,"salaryMedian": 70000,"salaryCurrency": "EUR","applyUrl": "https://example.test/apply/example-job-001","applicationType": "UrlApplication","summary": "Example summary text supplied with a public job listing.","activeUntil": "2030-01-01T00:00:00.000Z","refreshedAt": "2026-01-15T08:00:00.000Z","prioritized": false,"paid": false,"topJob": false,"redirectsToThirdPartyUrl": false}
| Field | Type | Required? | Meaning |
|---|---|---|---|
jobId | String | Yes | XING job identifier. |
globalId | String | No | XING global identifier, when present. |
slug | String | No | Job page slug. |
title | String | Yes | Job title. |
jobUrl | URL string | Yes | XING job page URL. |
company | String | No | Employer name. |
companyId | String | No | XING company identifier. |
companyLogoUrl | URL string | No | Company logo URL. |
location | String | No | Primary location. |
locations | Array of strings | No | Other or additional locations supplied for the job. |
employmentType | String | No | Employment type supplied by XING. |
salaryMin | Number | No | Minimum salary value, when listed. |
salaryMax | Number | No | Maximum salary value, when listed. |
salaryMedian | Number | No | Median salary value, when listed. |
salaryCurrency | String | No | Currency code or label supplied with the salary. |
applyUrl | URL string | No | Application link, which may lead to an external site. |
applicationType | String | No | Application method type supplied by XING. |
summary | String | No | Source-provided summary or responsibilities combined into text; not a full job description. |
activeUntil | Date-time string | No | Listing end time, when provided. |
refreshedAt | Date-time string | No | Refresh time supplied by XING. This is the source timestamp, not the time the Actor scraped the record. |
prioritized | Boolean | No | Whether XING marks the listing as prioritized. |
paid | Boolean | No | Whether XING marks the listing as a paid placement. |
topJob | Boolean | No | Whether XING marks the listing as a top job. |
redirectsToThirdPartyUrl | Boolean | No | Whether the application redirects to a third-party site. |
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Run summary
Run status is stored separately from dataset rows in the default key-value store under the exact key OUTPUT_SUMMARY. The record contains exactly these three fields:
{"status": "FAILED","itemsStored": 0,"isPartial": false}
OUTPUT_SUMMARY={status,itemsStored,isPartial}
| Field | Type | Meaning |
|---|---|---|
status | String | SUCCEEDED when one or more validated job records were saved; otherwise FAILED. |
itemsStored | Nonnegative integer | Number of job records whose dataset writes completed. |
isPartial | Boolean | true when a run saved records but did not finish the requested work. This includes a later collection or storage failure, reaching maxPages while more results remain, or an abort/shutdown after records were saved. |
With the currently disallowed search routes, the expected summary is FAILED, itemsStored: 0, and isPartial: false. Diagnostics and errors are reported in the run log; they are not dataset rows.
Tips and advanced options
- Keep
maxJobsandmaxPagesmodest when permitted searches become available. - XING may return fewer records than a requested limit, and its public pages can change.
- The Actor does not bypass access challenges, robots rules, or other access controls.
maxResponseBytes, timeout, retry, and delay controls bound request work; the delay never falls below 500 ms.- Review XING's terms and applicable privacy rules before using any results.
FAQ, support, and responsible use
Why is my dataset empty? The current XING robots policy disallows the job search routes used by this Actor. It fails closed without trying another route, so no search records are currently verified.
Does the Actor use alternate XING endpoints? No. It does not substitute homepage listings, recommendations, GraphQL, APIs, or modified search queries for a disallowed route.
Is this Actor affiliated with XING? No. This is an independent tool and is not affiliated with XING.
Use the Actor only for information XING makes publicly accessible and permitted to collect. Follow XING's terms, robots guidance, rate limits, and applicable law. Results could contain personal data; only collect and use such data when you have a lawful basis. For help, use the Actor's Issues tab and include the run ID and a short description. Do not include proxy credentials or other secrets.