SAP SuccessFactors Jobs API | Live Postings & Descriptions
Pricing
from $0.40 / 1,000 job records
SAP SuccessFactors Jobs API | Live Postings & Descriptions
SAP SuccessFactors Jobs API access without keys: live postings from public SuccessFactors career sites with full descriptions, requisition IDs, locations, and job functions, plus tenant discovery. Markdown, HTML, or text output. Pay only for delivered rows, no start fee, no minimum.
Pricing
from $0.40 / 1,000 job records
Rating
0.0
(0)
Developer
John
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
8 hours ago
Last modified
Categories
Share
SAP SuccessFactors Jobs API
Pull live jobs from any public SAP SuccessFactors career site, with no API key and no login. This is the SuccessFactors API for public job data: no employer OData credentials and nothing to sign up for. Give it a career-site URL, a host like jobs.sap.com, or a company name, and get back structured job records with titles, locations, job functions, requisition IDs, expiration dates, and full descriptions as Markdown, HTML, or text. Turn on the detail add-on for the posted date, department, facility, shift type, and travel that only the job page carries.
SAP SuccessFactors is one of the most widely installed enterprise recruiting platforms, second only to Workday among the Fortune 500, and there has never been a clean way to read its public postings on demand. Most tools crawl the search pages one result at a time. This actor reads each tenant's public Google-for-Jobs feed instead: one request returns the whole live inventory with descriptions, so every row reflects what the career site says right now, not what an index remembered last week. If you have been searching for a SuccessFactors jobs API, a SuccessFactors career site reader, or a way to pull SAP SuccessFactors postings into your own pipeline, this is the maintained version of that tool.
This is an independent SuccessFactors API for public job data. It is not affiliated with, endorsed by, or connected to SAP SuccessFactors; it reads only the public career-site feeds that SuccessFactors tenants already publish.
What you get per job
| Field group | Fields |
|---|---|
| Identity | requisitionId, title, companyName, employer, tenant, url, applyUrl |
| Structure | jobFunction, location, countryCode, isRemote |
| Dates | validThrough (expiration); datePosted with the detail add-on |
| Detail add-on | datePosted, department, facility, shiftType, travel, customFields |
| Salary | salaryDerived plus flat salaryMin, salaryMax, salaryCurrency, salaryPeriod columns (parsed from the posting text when present) |
| Content | descriptionMarkdown, descriptionHtml, descriptionText |
| Provenance | flavor, source, sourceType, sourceUrl, scrapedAt |
One request, the whole career site
Each SuccessFactors career site publishes a public feed of every live job, with the full description on each one. This actor reads that feed, so a single request returns a tenant's complete inventory rather than page after page of search results. That makes it fast, complete, and cheap: you are not paying for one request per job to list a whole company.
One actor, three ways to read a career site
- Full job records (default): every open job on the career sites you name, with descriptions in the formats you pick.
- Job URLs only: the cheapest way to index everything: requisition id, title, company, link, function, and expiration, without descriptions.
- Tenant discovery: one row per SuccessFactors career site, live-verified with a current open-jobs count.
Leave the company list empty and the actor sweeps its bundled tenant directory for you, capped by maxTenants and maxJobs so an exploratory run stays small.
Per-job detail fields nobody else surfaces
Turn on the detail add-on and each job row is enriched from its own public job page with the fields the feed does not carry: the date the posting went live, the department, the facility, the shift type, and the travel requirement, plus any employer-defined custom fields. It costs one extra request per job, so it is optional and billed only on the rows that carry it.
Pay for exactly what you receive
Billing is per delivered row, with no start fee and no minimum spend. Filters (title, job function, location, remote, active-only) run before billing, so filtered jobs cost nothing. The base job record is one event; Markdown, HTML, or plain-text descriptions, the per-job detail fields, and the whole-run report are optional add-ons, each billed only on the rows that actually carry them. Turn everything off and a job row costs a fraction of a cent.
Input parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
| companies | array | ["jobs.sap.com"] | Career-site hosts, full URLs, single-job URLs, or company names, mixed freely |
| startUrls | array | [] | Same values in URL-list form; merged with companies |
| outputMode | select | jobs | jobs, urlsOnly, or tenantsOnly |
| discoveryQuery | string | "" | Text match over the tenant directory for discovery and sweeps |
| verifyTenants | boolean | true | Live-probe each discovered career site before returning it |
| titleKeywords | array | [] | Keep jobs whose title contains any of these |
| jobFunctions | array | [] | Keep jobs whose job function contains any of these |
| locationKeywords | array | [] | Keep jobs whose location contains any of these |
| activeOnly | boolean | true | Drop postings whose expiration date has passed |
| remoteOnly | boolean | false | Keep only jobs whose title or location indicates a remote role |
| includeDescriptionMarkdown | boolean | true | Add the description as Markdown (paid add-on) |
| includeDescriptionHtml | boolean | false | Add the original HTML (paid add-on) |
| includeDescriptionText | boolean | false | Add a plain-text rendering (paid add-on) |
| includeDetailFields | boolean | false | Add posted date, department, facility, shift type, travel, and custom fields from the job page (paid add-on) |
| report | select | none | Write a Markdown or HTML run report (paid add-on) |
| maxTenants | integer | 25 | Cap on career sites in sweeps and discovery |
| maxJobsPerTenant | integer | 0 | Per-tenant cap, 0 = all |
| maxJobs | integer | 100 | Whole-run cap, the main cost control |
| maxConcurrency | integer | 5 | Parallel detail fetches and discovery probes |
Example output
{"resultType": "job","requisitionId": "1432725333","title": "Senior UX Designer - Design Systems","companyName": "SAP","employer": "SAP","tenant": "jobs.sap.com","careerSiteUrl": "https://jobs.sap.com","url": "https://jobs.sap.com/job/Prague-Senior-UX-Designer/1432725333/","applyUrl": "https://jobs.sap.com/job/Prague-Senior-UX-Designer/1432725333/","jobFunction": "Administration","location": "Prague 5, CZ, 158 00","countryCode": "CZ","validThrough": "2026-10-08","isRemote": false,"datePosted": "2026-09-01","department": "Administration","facility": "459296","shiftType": "Limited Full Time","travel": "0 - 10%","descriptionMarkdown": "**We help the world run better**\n\nAt SAP, we keep it simple...","flavor": "rmk","source": "successfactors","scrapedAt": "2026-09-08T16:00:00Z"}
Use cases
- Job boards and aggregators: backfill and refresh SuccessFactors listings straight from the source, not from a third-party index.
- Recruiters and sourcers: pull every open role at target enterprises, filtered by title, job function, or location.
- Enterprise hiring signals: SuccessFactors runs behind thousands of large employers; watch where headcount is going.
- Compensation research: collect job descriptions at scale and parse published pay ranges for benchmarking.
- AI agents: structured JSON, Markdown descriptions, stable field names, and MCP support make this a clean tool for agent pipelines.
Getting started
- Add career-site URLs, hosts, or company names to the companies field.
- Pick the description formats you want (Markdown is on by default), and turn on the detail add-on if you need the posted date and department.
- Run it. Rows land in the dataset; a per-tenant summary lands in the key-value store.
🔌 Integrations: build a recurring SuccessFactors jobs pipeline
Run this once for a one-off pull, or wire it into a standing pipeline that keeps your own database in sync with what SuccessFactors career sites publish.
- Tasks and Schedules: save a configured run as an Apify Task, then attach a daily or hourly Schedule. Paired with the active-only filter, each run returns the current open roles for the career sites you follow, hands-off.
- n8n, Make, and Zapier: trigger the actor and route rows into your stack through Apify's integrations for webhooks, Google Sheets, and hundreds of apps.
- Storage and databases: push results straight to a dataset and sync to Supabase, Postgres, or a warehouse; export JSON, CSV, or Excel from the Console.
- Apify API and clients: run the actor and read the dataset from Python or JavaScript with the Apify API.
- MCP: add the actor to any MCP client through the hosted server (see the MCP section below).
- Crypto-native agents: pay per run over the x402 protocol (see the x402 section below).
Related tools
Part of a family of job-data APIs on this account:
- Workday Careers API for Workday-hosted career sites
- Greenhouse Job Board API for Greenhouse-hosted career sites
- Ashby Job Board API for Ashby-hosted career sites
- iCIMS Careers API for iCIMS career portals
- Oracle Taleo Jobs API for Taleo career sections
- LinkedIn Jobs API for LinkedIn job search results
Unlike the thin single-tenant SuccessFactors scrapers that crawl one search page at a time and stop there, this actor reads the whole career-site feed in one request and adds tenant discovery and per-job detail fields, with output field names that match the rest of the family so you can merge several ATS platforms into one dataset.
🔌 SuccessFactors MCP: use this API from Claude and AI agents
Looking for a SuccessFactors MCP server that reads career sites instead of managing them? Add this actor as a tool in Claude Code (free trial), Claude Cowork (free trial), or any MCP client, through the hosted Apify MCP server:
https://mcp.apify.com/?tools=actors,docs,johnvc/sap-successfactors-jobs-api
Apify MCP integration docs: https://docs.apify.com/platform/integrations/mcp
💸 Pay per run with crypto (x402)
The SAP SuccessFactors Jobs API supports agentic payments via the x402 protocol. AI agents and MCP clients can pay for runs in USDC (on Base) with no Apify account or API token needed: point your agent at the Apify MCP server and it can discover, pay for, and run this actor autonomously. Read the Apify x402 announcement for details.
SuccessFactors API pricing
Pay per event, per delivered row. The base job record covers every structured field the feed provides. Add-ons bill only on rows that carry them: description formats, the per-job detail fields, and the whole-run report. URL index rows and discovered tenants have their own low per-row events. No start fee, no monthly rental, no minimum results per run, and filtered rows are never charged. Current prices are on the store page's pricing card.
FAQ
How do I connect to the SuccessFactors API?
You do not need SAP's OData API or a key. This actor reads the public jobs feed that every SuccessFactors career site already publishes, so you connect by pointing it at a career-site host or URL and reading structured JSON back. Run it from the Apify API, the Console, or any MCP client.
Do I need a SuccessFactors API key?
No. The authenticated OData APIs from SAP SuccessFactors are for employers. This actor uses only the public jobs layer that SuccessFactors career sites expose, so there is nothing to sign up for and no key to manage.
Can I use this instead of writing my own SuccessFactors scraper?
Yes, that is the point. A hand-built SuccessFactors scraper breaks the next time a career site changes; here someone else maintains the parser. Under the hood it reads each tenant's public jobs feed the way a scraper would, but what you get back is an API: structured JSON, filters, and stable field names.
How do I scrape SuccessFactors without a key?
Give the actor a career-site host such as jobs.sap.com, a full career-site URL, or a company name, and it returns every live posting with descriptions as JSON. No login, no OData credentials, and no crawling one search page at a time.
Can I use SuccessFactors from Claude or another MCP client?
Yes. Add the hosted MCP server URL from the MCP section above and the actor appears as a callable tool in Claude Code (free trial), Claude Cowork (free trial), or any MCP client. Agents can discover it, run it, and read the dataset without glue code.
How do I connect SuccessFactors to Claude AI?
Point Claude at the hosted Apify MCP server with this actor in the tools list (see the MCP section). Claude can then pull live SuccessFactors postings on demand and reason over them, which is the cleanest way to feed enterprise job data into an AI workflow.
Is SuccessFactors an ATS?
Yes. SAP SuccessFactors is one of the most widely installed applicant tracking systems in the enterprise, second only to Workday among the Fortune 500. This actor reads the public job postings those tenants publish; see SAP SuccessFactors for background on the platform.
Can I schedule this to track new postings?
Yes. Pair a daily Apify Schedule with the active-only filter (see Integrations above) and each run returns the current open roles for the career sites you follow, with no state to manage between runs.
How do I get the posted date and department?
Turn on the detail add-on (includeDetailFields). The public feed carries the description and expiration date, but the posted date, department, facility, shift type, and travel live on the individual job page. The add-on fetches that page per job and adds those fields, billed only on the rows that carry them.
Do you have APIs for other ATS platforms?
Yes. This is part of a family of job-data APIs; see Related tools above for Workday, Greenhouse, Ashby, iCIMS, and Oracle Taleo. They share matching output field names, so you can merge several ATS platforms into one dataset.
Why did a career site return an error row?
Error rows carry a stable errorCode: tenant_not_found means the career site could not be resolved to a live feed (check the didYouMean suggestions), job_not_found means a single-job URL pointed at a closed posting, http_error means the source answered abnormally. Errors are in-band rows, so your pipeline sees them without reading logs.
Agent skills
Install ready-made Claude skills that drive this API:
- SuccessFactors jobs API skill: pull live SAP SuccessFactors postings to a structured feed.
- SuccessFactors MCP skill: use the same API live from Claude and other MCP clients.
Install with npx skills add johnisanerd/claude-skill-successfactors-jobs-api or add the folder to your agent's skills directory.
🌐 About Alpha OSINT
This Actor is part of Alpha OSINT, toolset of financial and operations data sources and APIs. For support or requests for this actor, please start a ticket directly on our support page.
Last Updated: 2026.09.08