SuccessFactors Jobs & Company Careers Scraper
Pricing
from $12.75 / 1,000 results
SuccessFactors Jobs & Company Careers Scraper
Scrape every open job from any company career site running on SAP SuccessFactors with title, department, location (city, state, country, remote), employment type, apply link, posted date, full description and the hiring company. Export to JSON, CSV or Excel.
Pricing
from $12.75 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
0
Monthly active users
16 days ago
Last modified
Categories
Share
SuccessFactors Jobs & Company Careers Scraper
Here is one real result, with every field the actor returns:
{"jobId": "1384318133","title": "Business AI Architect","company": "SAP","department": "Consulting and Professional Services","location": {"city": "Southbank (Melbourne)","state": "VIC","country": "AU","remote": false},"listingLocation": "Southbank (Melbourne), VIC, AU, 3006","postalCode": "3006","employmentType": "Regular Full Time","requisitionId": "451487","careerLevel": "Professional","expectedTravel": "0 - 50%","salary": null,"validThrough": null,"industry": null,"description": "We help the world run betterAt SAP, we keep it simple: you bring your best to us, and we'll bring out the best in you. We're builders touching over 20 industries and 80% of global commerce, and we need your unique talents to help shape what's next. [trimmed]","postedDate": "Mon Aug 10 02:00:00 UTC 2026","applyUrl": "https://jobs.sap.com/job/Southbank-%28Melbourne%29-Business-AI-Architect-VIC-3006/1384318133/","careerSite": "https://jobs.sap.com","source": "SuccessFactors","observedAt": "2026-08-10T14:41:58.370Z"}
Note: the
descriptionvalue above is trimmed to its opening sentences for readability (the real field returns the full multi-paragraph job description). Every value shown is exactly as returned.
The most complete SuccessFactors careers scraper available. It returns every field a SAP SuccessFactors job posting exposes, including parsed city, state, and country, employment type, requisition ID, career level, and the full job description, and gives you keyword, location, department, remote, employment-type, and recency filters plus an optional contact-enrichment add-on to target exactly the jobs you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor reads any company career site running on SAP SuccessFactors, paginates the job search, applies your keyword and filters, and writes one normalized record per job to the run's dataset. With fetchDetails enabled it opens each job's detail page to add the full description, employment type, parsed city, state, and country, posted date, and company. Missing source values are returned as null.
Data covers public SuccessFactors career sites you point it at (for example https://jobs.sap.com). Add one entry per company in careerSites to collect several employers in one run.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 jobs from the SAP career site with full details.
{"maxJobs": 10,"careerSites": ["https://jobs.sap.com"],"fetchDetails": true,"remoteOnly": false}
Add a keyword to restrict to matching jobs, or a location / department filter to narrow further. Every input except a career-site URL is optional.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
careerSites | string[] | yes | ["https://jobs.sap.com"] | One or more company career sites running on SAP SuccessFactors. Paste the career-site home or search URL, one per company. |
maxJobs | integer | no | 10 | Maximum number of jobs to collect across all sites. Range 1 to 1000000. |
keyword | string | no | (empty) | Restrict to jobs matching this search keyword (for example engineer, sales, data). |
fetchDetails | boolean | no | true | Fetch each job's detail page to add the full description, employment type, parsed location, posted date, and company. Turn off for a faster, lighter run. |
remoteOnly | boolean | no | false | Return only jobs detected as remote or work-from-home. |
employmentType | string | no | (empty) | Keep only jobs whose employment type contains this text (for example Full-time, Contract, Intern). |
location | string | no | (empty) | Keep only jobs whose city, state, country, or location text contains this value (for example Germany, Bangalore, Remote). |
department | string | no | (empty) | Keep only jobs whose department or work area contains this text (for example Engineering, Sales). |
postedWithinDays | integer | no | (none) | Keep only jobs posted within this many days. Requires fetchDetails. |
aiExtract | boolean | no | false | Optional paid AI add-on, off by default and disabled for free accounts. Pulls structured hard/soft skills, must-have requirements, key responsibilities, seniority, minimum years of experience, education and remote type from each job description. Billed only when usable structured data is returned. |
aiExtractMax | integer | no | (none) | Cap how many results the AI add-on analyzes, to control cost. Leave empty to analyze all. Requires fetchDetails. |
enrichContacts | boolean | no | false | Optional paid add-on. For each result without an email, attempt to find a public business contact email and a contact person's name. Billed per attempt, plus an extra charge only when an email is found. |
enrichContactsMax | integer | no | 50 | Cap how many results the add-on tries to enrich. Free Apify accounts are capped at 3. |
Filters combine with logical AND.
Use cases
- Recruitment and talent sourcing: monitor every open role across SAP SuccessFactors career sites and build a live jobs feed by keyword, location, department, or seniority.
- Job boards and aggregators: ingest complete, normalized job postings (title, requisition ID, location, employment type, description, apply URL) to power a jobs marketplace.
- Labor market and hiring intelligence: track hiring trends, in-demand skills, and headcount signals by company, function, and geography.
- Sales and lead generation: spot companies that are expanding teams, then use the contact-enrichment add-on to reach the right person.
- Skills and compensation research: use the AI extraction add-on to structure skills, requirements, and seniority across thousands of postings for benchmarking.
- HR and competitive benchmarking: compare roles, benefits, and locations against competitor career sites.
Output reference
One dataset item per job. Types: string, object, boolean, or null when the source value is absent. Fields marked (details) require fetchDetails; fields marked (enrich) require the contact add-on.
| Field | Type | Description |
|---|---|---|
jobId | string | SuccessFactors job ID. |
title | string | Job title. |
company | string | Employer name. |
department | string | Department or work area. |
location | object | Parsed location: city, state, country, remote (details). |
listingLocation | string | Location text as shown on the listing. |
postalCode | string | Postal code parsed from the listing, or null. |
employmentType | string | Employment type (for example Regular Full Time), or null. |
requisitionId | string | Requisition ID, or null. |
careerLevel | string | Career level or status, or null. |
expectedTravel | string | Expected travel, or null. |
occupationalCategory | string | Occupational category when published (details), else null. |
jobFunction | string | Job function or work area when published (details), else null. |
educationRequirements | string | Education requirements when published (details), else null. |
experienceRequirements | string | Experience requirements when published (details), else null. |
qualifications | string | Qualifications text when published (details), else null. |
responsibilities | string | Responsibilities text when published (details), else null. |
skills | string | Skills text when published (details), else null. |
jobBenefits | string | Benefits text when published (details), else null. |
workHours | string | Work hours when published (details), else null. |
directApply | boolean | Whether the site supports direct apply (details), else null. |
salary | object | Parsed salary (min, max, currency, period, raw) when published, else null. |
validThrough | string | Listing expiry date when published, else null. |
industry | string | Industry when published, else null. |
description | string | Full job description (details), or null. |
postedDate | string | Posted date as published by the site (details). |
applyUrl | string | Direct application URL. |
careerSite | string | The career-site URL this job came from. |
source | string | Data source. Always SuccessFactors. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
enrichedEmail | string | Public business contact email found by the add-on (enrich), or null. |
enrichedContactName | string | Contact person's name found by the add-on (enrich), or null. |
enrichedJobTitle | string | Contact person's job title (enrich), or null. |
enrichedEmailStatus | string | Verification status of the found email (enrich), or null. |
enrichedSource | string | Where the contact was found (enrich), or null. |
enrichedConfidence | number | Confidence score for the found contact (enrich), or null. |
aiSkills | string[] | Hard skills / technologies extracted by the AI add-on (ai), or absent. |
aiSoftSkills | string[] | Soft skills extracted by the AI add-on (ai), or absent. |
aiRequirements | string[] | Must-have requirements extracted by the AI add-on (ai), or absent. |
aiResponsibilities | string[] | Key responsibilities extracted by the AI add-on (ai), or absent. |
aiSeniority | string | Seniority level inferred by the AI add-on (ai), or absent. |
aiYearsExperienceMin | number | Minimum years of experience inferred by the AI add-on (ai), or null. |
aiEducation | string | Highest required education inferred by the AI add-on (ai), or null. |
aiRemoteType | string | onsite, hybrid, remote, or unknown inferred by the AI add-on (ai). |
error | string | Present only on a failed run; a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"maxJobs": 10, "careerSites": ["https://jobs.sap.com"], "fetchDetails": true}):
{"jobId": "1384318133","title": "Business AI Architect","company": "SAP","department": "Consulting and Professional Services","location": { "city": "Southbank (Melbourne)", "state": "VIC", "country": "AU", "remote": false },"listingLocation": "Southbank (Melbourne), VIC, AU, 3006","postalCode": "3006","employmentType": "Regular Full Time","requisitionId": "451487","careerLevel": "Professional","expectedTravel": "0 - 50%","salary": null,"postedDate": "Mon Aug 10 02:00:00 UTC 2026","applyUrl": "https://jobs.sap.com/job/Southbank-%28Melbourne%29-Business-AI-Architect-VIC-3006/1384318133/","careerSite": "https://jobs.sap.com","source": "SuccessFactors","observedAt": "2026-08-10T14:41:58.370Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~successfactors-jobs-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"careerSites":["https://jobs.sap.com"],"keyword":"engineer","maxJobs":25,"fetchDetails":true}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~successfactors-jobs-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"careerSites":["https://jobs.sap.com"],"location":"Germany","remoteOnly":true,"maxJobs":100}'
Apify CLI:
apify call scrapers_lat/successfactors-jobs-scraper \--input '{"careerSites":["https://jobs.sap.com"],"keyword":"data"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
This actor uses pay-per-event billing. See the pricing tab for the current live prices. Every billable event:
| Event | When it is charged | Price (USD) |
|---|---|---|
apify-actor-start | Once per run, at the start, for every run and every user (free and paid). Covers fixed compute cost. | 0.02 |
result | Per job record returned. Primary event. | 0.015 |
details | Per job whose full detail page was successfully fetched (only when fetchDetails is on). | 0.01875 |
ai-extract | Per job when the optional AI add-on (aiExtract) returns usable structured data. Opt-in, off by default, disabled for free accounts. | 0.012 |
contact-search-attempt | Per enrichment attempt when enrichContacts is on. | see pricing tab |
contact-email-found | Additional charge only when the contact add-on finds a real email. | see pricing tab |
- No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge aresultfor it. Empty runs cost nothing (beyond the per-runapify-actor-startfee). - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results and add-on events. - Free Apify plans are capped at 10 job results per run. The AI add-on is disabled for free accounts and the contact add-on is capped at 3 attempts. Upgrade for higher
maxJobsand full add-on access.
FAQ and troubleshooting
A run returned 0 records. Why?
The career-site URL was not a SuccessFactors site, or your filters matched nothing. Confirm the URL loads a SuccessFactors search page and loosen keyword, location, or department. Zero-result runs are not charged.
Which sites work?
Any company careers site hosted on SAP SuccessFactors, for example https://jobs.sap.com. Add one URL per company in careerSites.
Why is description or postedDate null?
Detail fields require fetchDetails to be enabled. With it off, the actor returns the lighter listing fields only.
How does contact enrichment bill?
Only when you enable enrichContacts. You are charged per attempt, and an extra charge applies only when a real email is found. Use enrichContactsMax to cap cost.
Is this an official SAP tool? No. This actor is independent and has no affiliation with SAP or SuccessFactors. It reads only data that is publicly available on the career sites you point it at.
Related scrapers
- Ashby Jobs Scraper: Ashby-hosted company job listings.
- Taiwan 104 Jobs Scraper: Taiwan 104.com.tw job listings.
- Switzerland Jobs Scraper: Swiss job listings.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with SAP or SuccessFactors. Accesses only publicly available career-site data.
