Jobs & Karriere
Company Career Sites Scraper
greenhouse.io, lever.co, ashbyhq.com, myworkdayjobs.com, smartrecruiters.com, workable.com, recruitee.com
Die meisten Unternehmen veröffentlichen ihre offenen Stellen über ein gehostetes Bewerbermanagementsystem (ATS), und jedes ATS formt seine Stellendaten anders. Ein dedizierter Plugin-Endpoint nimmt die Karriereseiten-URL des Unternehmens auf Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable oder Recruitee, oder das ATS und den Board-Namen des Unternehmens, erkennt das ATS und liefert jede offene Stelle in einer einheitlichen Form: ID, Titel, den Link zur Stellenanzeige und zur Bewerbung, den Hauptort und jeden Ort, Land, das Remote-Kennzeichen und die Arbeitsform (remote, hybrid oder vor Ort), Abteilung und Team, Anstellungsart, Veröffentlichungs- und Aktualisierungsdatum, Requisition-ID, Gehaltsspannen mit Währung und Zeitraum, wo das ATS die Vergütung veröffentlicht, die zusätzlichen Felder des ATS und mit include_description=true die vollständige Beschreibung als Text und HTML. Filtere nach Wörtern im Titel, Ort, Abteilung oder nur Remote-Stellen und begrenze die Anzahl mit limit, bis zu 2.000 Stellen pro Call. Ein Link zu einer einzelnen Stellenanzeige liefert nur diese Stelle mit ihrer Beschreibung. Die Antwort enthält außerdem das erkannte ATS, das Unternehmen, die Board-URL, die Zahl der Stellen auf dem Board und wie viele passen. Alles wird aus den öffentlichen Stellendaten gelesen, die das ATS seinen eigenen Karriereseiten liefert: kein Browser, kein Login und kein ATS-Konto.
Was Sie extrahieren können
- Stellen-ID, Titel und Links zur Stellenanzeige und zum Bewerbungsformular
- Hauptort und jeder Ort der Stelle, Land, Remote-Kennzeichen und Arbeitsform (remote, hybrid oder vor Ort)
- Abteilung, Team, Anstellungsart und Requisition-ID
- Veröffentlichungs- und Aktualisierungsdatum
- Gehaltsspannen mit Minimum, Maximum, Währung und Zeitraum, wo das ATS die Vergütung veröffentlicht
- Vollständige Stellenbeschreibung als Text und HTML (include_description=true)
- Die zusätzlichen Felder des ATS, dazu das erkannte ATS, Unternehmen, Board-URL, Stellen auf dem Board und passende Stellen
- Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable und Recruitee, per Karriereseiten-URL oder ATS und Board-Name
- Filter nach Wörtern im Titel, Ort, Abteilung und remote; bis zu 2.000 Stellen pro Call
Dedizierte Endpoints
/jobs/career-site Stellen von der Karriereseite eines Unternehmens
Jede offene Stelle auf einer Karriereseite, die auf Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable oder Recruitee gehostet ist, per url der Karriereseite oder per provider und company (der Board-Name wie in der Karriere-URL, etwa stripe auf Greenhouse oder nvidia.wd5/NVIDIAExternalCareerSite auf Workday). Jede Stelle hat id, title, company, provider, url, applyUrl, location, locations, country, remote, workplaceType, department, team, employmentType, postedAt, updatedAt, requisitionId, salary und salaryRanges (min, max, currency, interval), customFields und mit include_description=true descriptionText und descriptionHtml; ein Feld, das das ATS nicht bereitstellt, ist null. keyword (Wörter im Titel), location, department und remote filtern die Stellen, limit (1-2.000, Standard 100) begrenzt sie, und proxy_country ist optional. Die Antwort ergänzt provider, company, companyName, boardUrl, totalJobs, matchedJobs, resultsCollected, pagesFetched und warnings. Ein Link zu einer Stellenanzeige liefert diese Stelle mit ihrer Beschreibung.
So wird es gescrapt
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/jobs/career-site?url=https%3A%2F%2Fjobs.ashbyhq.com%2Framp&keyword=engineer"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/jobs/career-site",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"url": "https://jobs.ashbyhq.com/ramp", "keyword": "engineer"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const board = await su.careerSiteJobs('https://jobs.ashbyhq.com/ramp', {
keyword: 'engineer',
includeDescription: true,
});
console.log(board); Requests sind POST und übergeben ihre Parameter im Query-String. Browser-Rendering findet immer statt - dafür gibt es kein Flag.
Beispielantwort
{
"provider": "ashby",
"company": "ramp",
"companyName": null,
"boardUrl": "https://jobs.ashbyhq.com/ramp",
"totalJobs": 165,
"matchedJobs": 39,
"resultsCollected": 39,
"jobs": [
{
"id": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"title": "Security Engineer, Cloud",
"company": "ramp",
"provider": "ashby",
"url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application",
"location": "New York, NY (HQ)",
"locations": [ "New York, NY (HQ)", "Remote (Canada)", "Remote (US)" ],
"country": null,
"remote": true,
"workplaceType": "hybrid",
"department": "Engineering",
"team": "Backend",
"employmentType": "Full-time",
"postedAt": "2026-04-07T17:12:35.753+00:00",
"updatedAt": null,
"requisitionId": null,
"salary": {
"min": 211400.0,
"max": 290600.0,
"currency": "USD",
"interval": "year",
"text": "$211.4K - $290.6K"
},
"salaryRanges": [
{
"min": 211400.0,
"max": 290600.0,
"currency": "USD",
"interval": "year",
"text": "$211.4K - $290.6K"
}
],
"customFields": null,
"descriptionText": null,
"descriptionHtml": null
},
{
"id": "f564dcf9-9390-4a3f-896f-8047a5086040",
"title": "Mobile Engineer, Android",
"company": "ramp",
"provider": "ashby",
"url": "https://jobs.ashbyhq.com/ramp/f564dcf9-9390-4a3f-896f-8047a5086040",
"applyUrl": "https://jobs.ashbyhq.com/ramp/f564dcf9-9390-4a3f-896f-8047a5086040/application",
"location": "New York, NY (HQ)",
"locations": [ "New York, NY (HQ)", "Remote (Canada)", "San Francisco, CA" ],
"country": null,
"remote": true,
"workplaceType": "hybrid",
"department": "Engineering",
"team": "Mobile",
"employmentType": "Full-time",
"postedAt": "2025-07-31T21:58:34.674+00:00",
"updatedAt": null,
"requisitionId": null,
"salary": { "min": 189000.0, "max": 330000.0, "currency": "USD", "interval": "year", "text": "$189K - $330K" },
"salaryRanges": [
{ "min": 189000.0, "max": 330000.0, "currency": "USD", "interval": "year", "text": "$189K - $330K" }
],
"customFields": null,
"descriptionText": null,
"descriptionHtml": null
}
],
"query": {
"keyword": "engineer",
"location": null,
"department": null,
"remote": false,
"limit": 100,
"includeDescription": false,
"job": null
},
"pagesFetched": 1,
"warnings": []
} Häufige Fragen
Ist das Scrapen von Karriereseiten legal?
Das Sammeln öffentlich veröffentlichter Stellenanzeigen von Karriereseiten ist in vielen Rechtsordnungen zulässig, aber die Regeln hängen von deinem Land, den erhobenen Daten und ihrer Verwendung ab. Eine Stellenbeschreibung nennt manchmal einen Recruiter oder Hiring Manager, was personenbezogene Daten sein können, halte dich also an die Datenschutzregeln, die für dich gelten. ScrapeUnblocker gibt die öffentlichen Stellenanzeigen zurück; was du sammelst und wie du es nutzt, liegt in deiner Verantwortung.
Wie scrape ich Stellen von Greenhouse, Lever oder Workday, ohne blockiert zu werden?
Das Plugin /jobs/career-site liest die öffentlichen Stellendaten jedes ATS, dasselbe JSON, das seine Karriereseiten laden, mit einem HTTP-Client über ISP-Exits, sodass weder ein Browser noch ein Seitenrendering beteiligt ist. Jeder Worker eines Calls hält eine Verbindung auf einem Exit, solange das ATS antwortet, was bei Workday wichtig ist, wo ein großes Board Dutzende Listenseiten umfasst, und ein Exit, den das ATS abweist (ein 403, ein 429 oder eine Antwort, die keine Stellendaten sind), wird für dieses ATS pausiert und gegen einen frischen getauscht. Im Benchmark von ScrapeUnblocker kamen bei 100 % von 1.101 Calls, jeder auf dem Jobportal eines anderen Unternehmens, Daten zurück, etwa 1,6 s pro Call.
Welche ATS-Plattformen werden unterstützt, und wie gebe ich ein Board an?
Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable und Recruitee. Übergib die Karriereseite des Unternehmens auf dem ATS als url, etwa https://job-boards.greenhouse.io/stripe, https://jobs.lever.co/palantir, https://jobs.ashbyhq.com/ramp, https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite, https://jobs.smartrecruiters.com/Ubisoft2, https://apply.workable.com/huggingface oder https://bunq.recruitee.com, und ATS und Board werden daraus gelesen. Oder übergib provider und company: das Board-Token bei Greenhouse, den Slug bei Lever, Ashby, Workable oder Recruitee, die Company-ID bei SmartRecruiters oder tenant.wdN/site bei Workday. Eine Karriereseite auf der eigenen Domain des Unternehmens wird nicht direkt gelesen; nutze den ATS-Link, auf den ihre Stellen-Buttons zeigen.
Wie viele Stellen bekomme ich pro Call?
limit begrenzt die zurückgegebenen Stellen: standardmäßig 100, bis zu 2.000. Greenhouse, Ashby, Workable und Recruitee liefern das ganze Board in einer Antwort, deshalb laufen die Filter auf Seiten von ScrapeUnblocker, und jede passende Stelle kommt zurück. Lever und SmartRecruiters werden mit 100 Stellen pro Seite gelesen und Workday mit 20 pro Seite, und es werden nur die Seiten gelesen, die limit braucht; das keyword geht außerdem an die eigene Suche von Workday und SmartRecruiters, und die Orts-, Abteilungs- und Remote-Filter von Workday werden genutzt, wenn das Board einen passenden hat. Workday antwortet höchstens 2.000 Stellen tief in eine Suche, grenze ein größeres Workday-Board also mit keyword oder location ein. totalJobs und matchedJobs geben die Größe des Boards und der Treffer an, und warnings sagt, wann ein ATS mittendrin aufgehört hat zu antworten.
Bekomme ich Gehälter und vollständige Stellenbeschreibungen?
Das Gehalt kommt zurück, wo das ATS die Vergütung veröffentlicht, etwa Gehaltsspannen bei Greenhouse und Lever oder die Vergütung bei Ashby, sofern das Unternehmen sie ausfüllt: salary ist die Hauptspanne und salaryRanges jede Spanne, jeweils mit min, max, currency und interval; sonst ist salary null und salaryRanges leer. Die vollständige Beschreibung kommt mit include_description=true, als Text und als HTML. Greenhouse, Lever, Ashby, Workable und Recruitee liefern sie in den Board-Daten mit; bei Workday und SmartRecruiters ist jede Beschreibung eine eigene Anfrage und wird für höchstens 300 Stellen pro Call gelesen.
Wie viel kostet das Scrapen von Karriereseiten?
Jede ATS-Anfrage, die Daten liefert, wird als eine Anfrage berechnet, und pagesFetched zeigt die genaue Zahl: Ein ganzes Board bei Greenhouse, Ashby, Workable oder Recruitee ist 1 Anfrage, egal wie viele Stellen es hat, Lever und SmartRecruiters sind 1 pro 100 gelesene Stellen und Workday 1 pro 20, und bei Workday und SmartRecruiters ist jede mit include_description=true gelesene Beschreibung eine weitere. 1 Anfrage = 1 Credit, 1,00 EUR pro 1.000 bei Pay-as-you-go, bis hinunter zu etwa 0,55 EUR pro 1.000 im Ultimate-Tarif. Blockierungen und Timeouts werden nicht berechnet, und die kostenlose Testphase umfasst 500 Anfragen ohne Karte.
Ähnliche Scraper
Company Career Sites sowie weitere Namen und Marken von greenhouse.io, lever.co, ashbyhq.com, myworkdayjobs.com, smartrecruiters.com, workable.com, recruitee.com gehören ihrem Inhaber und werden hier nur verwendet, um die Website zu bezeichnen, mit der diese API arbeitet. ScrapeUnblocker ist ein unabhängiger Dienst und steht in keiner Verbindung zum Inhaber von greenhouse.io, lever.co, ashbyhq.com, myworkdayjobs.com, smartrecruiters.com, workable.com, recruitee.com, der ScrapeUnblocker weder unterstützt noch sponsert.
Starten Sie noch heute mit dieser Seite
Kostenloses Kontingent inklusive. Zum Testen ist keine Kreditkarte nötig.