Discover/XING API
live

XING APIxing.com

Search XING job listings by keyword, location, and filters. Fetch full job details including salary, company info, and HTML description via 2 endpoints.

Endpoint health
verified 45m ago
get_job
search_jobs
2/2 passing latest checkself-healing
Endpoints
2
Updated
3h ago

What is the XING API?

The XING Jobs API exposes 2 endpoints that cover public job postings on xing.com: search_jobs for paginated keyword and location searches returning up to 1,000 results, and get_job for full posting detail including HTML job description, salary breakdown, company metadata, and location fields. Both endpoints return a slug and job_id that tie search results directly to detail lookups.

This call costs2 credits / call— charged only on success
Try it
1-based page number.
Jobs per page; values above 20 are clamped to 20.
Free-text search terms (job title, skills, company). May be omitted when location is given.
City or place name to search around, as typed into the site's location box. May be omitted when keywords is given.
Search radius in kilometres around location. Omitted = only the named place. Ignored when location is omitted.
Restrict to one career level. Omitted = all levels.
Only jobs posted within this recent period. Omitted = any date.
Restrict to one workplace model. Omitted = all.
Restrict to one employment type. Omitted = all types.
api.parse.bot/scraper/b22c9876-981b-42d3-aeb1-2f44b9329a4d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b22c9876-981b-42d3-aeb1-2f44b9329a4d/search_jobs?keywords=python&location=Berlin' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace xing-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: XING Jobs SDK — search, drill down, and point-lookup."""
from parse_apis.xing_com_api import Xing, CareerLevel, JobNotFound

client = Xing()

# Search for Python jobs in Berlin, capped at 5 results.
for summary in client.job_summaries.search(
    keywords="python", location="Berlin", career_level=CareerLevel.PROFESSIONAL, limit=5
):
    print(summary.title, summary.company.name, summary.cities)

# Drill into the first hit's full detail via the summary→detail navigation.
hit = client.job_summaries.search(keywords="data engineer", limit=1).first()
if hit is not None:
    job = hit.details()
    print(job.title, job.description_html[:120])
    print(job.company.legal_name, job.location.city, job.location.country)
    if job.salary is not None:
        print(job.salary.currency, job.salary.minimum, job.salary.maximum)

    # Point lookup by slug discovered from the search result.
    try:
        same_job = client.jobs.get(slug=hit.slug)
        print(same_job.career_level, same_job.discipline)
    except JobNotFound:
        print("job no longer available")

print("exercised: job_summaries.search / details / jobs.get")
All endpoints · 2 totalmissing one? ·

Searches public job offers on XING. Returns one page of job summaries (title, company, cities, employment type, salary or salary estimate, apply link, dates) plus the total number of matching jobs. Each row carries a slug that get_job accepts unchanged. Paging is caller-controlled through page (1-based, default 1) and limit (page size, default 20; the site accepts at most 20 per page, larger values are clamped). The site exposes at most the first 1000 results of any search, so page * limit above 1000 is rejected. has_more is true while another page exists within that window. total_results is the site's count of matching jobs; when total_is_lower_bound is true the site only reports it as 'at least'. Salary may be a fixed amount, a range, or a site-generated estimate (is_estimate=true, median populated); it is null when the posting has none. At least one of keywords or location must be given. Results are the site's relevance ordering; there is no sort control. An empty jobs array with total_results 0 is a valid result for a query nothing matches.

Input
ParamTypeDescription
pageinteger1-based page number.
limitintegerJobs per page; values above 20 are clamped to 20.
keywordsstringFree-text search terms (job title, skills, company). May be omitted when location is given.
locationstringCity or place name to search around, as typed into the site's location box. May be omitted when keywords is given.
radius_kmintegerSearch radius in kilometres around location. Omitted = only the named place. Ignored when location is omitted.
career_levelstringRestrict to one career level. Omitted = all levels.
posted_withinstringOnly jobs posted within this recent period. Omitted = any date.
remote_optionstringRestrict to one workplace model. Omitted = all.
employment_typestringRestrict to one employment type. Omitted = all types.
Response
{
  "type": "object",
  "fields": {
    "jobs": "array of job summaries; each has job_id, slug (input for get_job), title, url, company {name, company_id}, cities, employment_type, salary {currency, amount, minimum, maximum, median, is_estimate} or null, key_responsibilities (array of strings, often empty), application_type, apply_url (null when applying happens on XING), activated_at, refreshed_at, active_until (ISO timestamps), paid_listing, top_job, prioritized, redirects_to_third_party",
    "page": "integer page returned",
    "limit": "integer page size applied",
    "has_more": "boolean; another page exists within the site's 1000-result window",
    "total_results": "integer count of matching jobs reported by the site",
    "total_is_lower_bound": "boolean; true when the site caps its count and total_results is a minimum"
  },
  "sample": {
    "data": {
      "jobs": [
        {
          "url": "https://www.xing.com/jobs/berlin-python-developer-financial-services-all-genders-156675213",
          "slug": "berlin-python-developer-financial-services-all-genders-156675213",
          "title": "Python Developer Financial Services (all genders)",
          "cities": [
            "Berlin"
          ],
          "job_id": "156675213.cbf7ea",
          "salary": {
            "amount": null,
            "median": 76000,
            "maximum": 86000,
            "minimum": 59000,
            "currency": "EUR",
            "is_estimate": true
          },
          "company": {
            "name": "Exxeta",
            "company_id": "31951.5a9d9a"
          },
          "top_job": false,
          "apply_url": "https://career.exxeta.com/Python-Developer-Financial-Services-all-genders-de-j1018.html?utm_source=xing.com",
          "prioritized": false,
          "activated_at": "2026-09-17T05:36:36Z",
          "active_until": "2027-01-22T21:35:50Z",
          "paid_listing": false,
          "refreshed_at": "2026-09-17T05:36:36Z",
          "employment_type": "Full-time",
          "application_type": "UrlApplication",
          "key_responsibilities": [],
          "redirects_to_third_party": false
        }
      ],
      "page": 1,
      "limit": 20,
      "has_more": true,
      "total_results": 524,
      "total_is_lower_bound": false
    },
    "status": "success"
  }
}

About the XING API

Search Jobs

The search_jobs endpoint accepts free-text keywords, a location string, and an optional radius_km to scope results geographically. Additional filters include career_level, remote_option, and posted_within to narrow results by seniority, workplace model, or recency. Each page returns up to 20 job summaries — values above 20 are clamped — with a has_more boolean indicating whether additional pages exist. The total_results field reflects the count reported by the site; total_is_lower_bound is set to true when that count is a capped minimum rather than an exact figure. The site's result window is limited to 1,000 entries regardless of total_results.

Job Detail

get_job takes a slug exactly as returned in search_jobs.jobs[*].slug and returns the complete public posting. Fields beyond the summary include a full HTML job description, a structured location object with street, zip_code, region, and country_code, plus career_level, discipline, industry, and remote_option. The salary object breaks down into currency, amount, minimum, maximum, median, and an is_estimate flag that distinguishes posted salaries from site-computed estimates. The company sub-object surfaces legal_name, profile_url, industry, and Kununu employer rating data where available.

Response Shape Notes

Both endpoints share the job_id and slug identifiers, and both return a company object with at least name and company_id. Fields like salary, kununu_rating, and several location sub-fields are nullable — callers should guard against null before reading nested properties. Employment type and city arrays in search results carry over unchanged into the detail response.

Reliability & maintenanceVerified

The XING API is a managed, monitored endpoint for xing.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when xing.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official xing.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
45m ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate XING job postings into an internal ATS or talent-sourcing dashboard filtered by career level and location radius
  • Monitor new postings for a specific company or job title using posted_within and keyword filters, then retrieve full descriptions via get_job
  • Compare salary ranges across roles and industries using the salary.minimum, salary.maximum, and is_estimate fields
  • Build a remote-work job feed by filtering search_jobs with remote_option and displaying the HTML description from get_job
  • Enrich company profiles with Kununu ratings and industry labels returned in the company object of get_job
  • Track geographic hiring trends by aggregating cities and location.region fields across search result pages
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does XING have an official public developer API?+
XING previously offered a developer platform at dev.xing.com, but that API was retired and is no longer available to new developers. This Parse API provides access to public job posting data from xing.com.
What does the `salary` field in `get_job` actually contain, and how do I know if the figure is posted or estimated?+
The salary object includes currency, amount, minimum, maximum, and median. The is_estimate boolean distinguishes between a salary explicitly stated in the job posting and one the site has calculated based on comparable roles. Both cases use the same object shape; check is_estimate before treating the figures as employer-confirmed.
How far back do search results go, and how many total results can I retrieve?+
The posted_within filter limits results to a recent window (omitting it returns any date). Pagination is capped at 1,000 results total across all pages regardless of total_results. When the site caps its own count, total_is_lower_bound is set to true, meaning the real match count may be higher than what total_results shows.
Can I retrieve a company's full XING profile or list all jobs posted by a specific employer?+
Not currently. The API covers job search by keyword/location and individual job detail. Company data is limited to fields embedded in job postings (name, company_id, legal_name, profile_url, industry, Kununu rating). You can fork the API on Parse and revise it to add a company-profile or employer-specific job listing endpoint.
Does the API return applicant data, saved jobs, or anything that requires a logged-in XING account?+
No user-specific or login-gated data is returned. The API covers only publicly visible job postings — their descriptions, metadata, and company information. Applicant counts, saved job state, and private profile data are not exposed. You can fork the API on Parse and revise it if your use case requires different public data fields that are visible without authentication.
Page content last updated . Spec covers 2 endpoints from xing.com.
Related APIs in JobsSee all →
landing.jobs API
Access data from landing.jobs.
welcometothejungle.com API
Search and discover job postings and company information from Welcome to the Jungle, including detailed job listings, company profiles with employee statistics and social links, and the ability to browse all available positions. Find the perfect role by searching jobs and companies, then access comprehensive details about positions and organizations in one place.
linkedin.com API
Search LinkedIn job listings by job type, experience level, workplace type, salary range, and date posted, then retrieve detailed information about specific positions. Build job boards, career tools, or recruitment dashboards with access to comprehensive filtering options across LinkedIn's public job listings.
monster.com API
Search and retrieve job listings from Monster.com. Supports keyword and location-based search with structured results including job descriptions, salary ranges, company info, and employment details. Also provides access to popular job categories.
app.skolakonnect.com API
app.skolakonnect.com API
de.indeed.com API
Access data from de.indeed.com.
hubmub.com API
Search and discover job opportunities on HubMub by filtering results based on your preferred search terms, job type, category, industry, and location. Retrieve detailed information about specific job listings to help you find the right position that matches your career goals.
shine.com API
Search and discover job listings on Shine.com with detailed information including job descriptions, categories, locations, and top hiring companies. Find similar job opportunities and explore roles across different industries and geographical areas to match your career goals.