---
title: "SAP SuccessFactors API"
description: "SAP SuccessFactors API: the per-tenant OData v2 API and JobRequisition entity, the public Career Site Builder pages, and one call for the postings."
canonical: https://jobspipe.dev/sources/successfactors
date_published: 2026-06-16
date_modified: 2026-09-26
author: Dvir Atias
---

# SAP SuccessFactors API

SAP SuccessFactors has a large per-tenant OData v2 API covering Employee Central, Recruiting (JobRequisition, JobApplication, Candidate), Onboarding and Learning, filtered by the tenant's permissions, so it is not a public postings feed; Career Site Builder pages are where postings are public. JobsPipe does not collect SAP SuccessFactors; the same employers' openings reach one search endpoint through the boards JobsPipe does collect, in one record shape across 30+ sources.

> The SuccessFactors API you find first is OData, tenant-gated and built for HRIS integration. Public postings live on Career Site Builder pages. JobsPipe does not collect SuccessFactors. Here is what each surface gives you and how to reach the same employers.

**Canonical URL:** https://jobspipe.dev/sources/successfactors

## Coverage

JobsPipe does not collect SAP SuccessFactors. This page explains what SAP SuccessFactors exposes publicly and how to reach the same postings where they are also published on a board JobsPipe does collect (Workday, Greenhouse, Lever, Ashby, LinkedIn, Indeed, SmartRecruiters, Workable, Personio, Recruitee, Teamtailor, EURES, Paylocity, Breezy HR, CV-Library, Y Combinator, Bayt, JobTech (Sweden), Resume-Library, Arbeitnow, Himalayas, Rise, Manatal, Pinpoint, JobScore, HireHive, The Muse, Remotive, Remote OK, Jobicy, Working Nomads, Landing.jobs).

## Why SAP SuccessFactors jobs data is confusing

SuccessFactors exposes its data over OData v2, not REST in the modern JSON sense. Endpoint hosts vary by SAP data center (api4.successfactors.com, api5.successfactors.eu, and a dozen more), and you need to know which center a tenant lives in before you can compose a request. Authentication has moved from HTTP Basic to OAuth 2.0 with SAML assertions, and every credential is issued by one tenant for that tenant.

The single most common mistake is expecting the OData JobRequisition entity to return an employer's open roles to an outsider. It will not; it is gated to that employer's own integrations. For public postings you are back to the Career Site Builder pages each employer runs on a branded domain, rendered from an internal call. JobsPipe does not collect those pages. SuccessFactors Recruiting distributes postings to LinkedIn and Indeed through its job-posting integrations, and JobsPipe does collect those boards.

## Workarounds

### Call the OData API with each tenant's OAuth credentials

Requires every employer to register you as an OAuth client and configure SAML. The data-center host per tenant is yours to track, and the credentials never reach a second tenant.

### Read each Career Site Builder page

Possible per employer. The career site renders postings from an internal call whose URL pattern varies by data center and site configuration, and many sites expose an RSS or XML feed that is useful when present and inconsistent across employers.

### What JobsPipe offers instead

JobsPipe does not collect SuccessFactors. Search the same employers by name across the boards JobsPipe does collect; SuccessFactors customers distribute their postings to LinkedIn and Indeed, which JobsPipe carries as rows with the employer's name.

## Fields available on every record

- `id`
- `job_title`
- `company`
- `company_domain`
- `url`
- `date_posted`
- `discovered_at`
- `last_seen_at`
- `verified_at`
- `status`
- `closed_at`
- `closed_reason`
- `ghost_score`
- `seniority`
- `cities`
- `state_code`
- `min_annual_salary_usd`
- `max_annual_salary_usd`
- `technology_slugs`
- `keyword_slugs`
- `esco_skills`
- `sources`

## FAQ

### Which SAP SuccessFactors data center API host does a company use?

SAP runs SuccessFactors out of multiple regional data centers, each with its own API host, such as api4.successfactors.com and api5.successfactors.eu, and every tenant lives in exactly one. You need to know a tenant's data center before you can compose a request, so a direct integration has to maintain a tenant-to-host mapping.

### Can the SuccessFactors JobRequisition entity return open jobs?

Not to an outsider. The JobRequisition, JobRequisitionPosting and JobApplication entities are gated to the employer's own integrations under Role-Based Permissions, so an outside developer gets nothing back from them. Public postings live on Career Site Builder pages, and SuccessFactors pushes them to boards like LinkedIn and Indeed through its job-posting integrations.

### Where are SAP SuccessFactors job postings published?

On Career Site Builder pages that each employer runs on a branded careers domain, rendered from an internal call whose URL pattern varies by data center and site configuration. Many sites also expose an RSS or XML feed, useful when present and inconsistent across employers. SuccessFactors Recruiting distributes postings to LinkedIn and Indeed, which JobsPipe collects as rows with the employer's name.

### Does the SAP SuccessFactors API still support Basic auth?

HTTP Basic credentials still exist for legacy integrations, but SAP has been retiring them in favor of OAuth 2.0 with SAML bearer assertions. A tenant admin registers your client with an X.509 certificate, and you exchange a signed SAML assertion at the tenant's data-center host for a short-lived bearer token. Each registration covers one tenant only.

## Does SAP SuccessFactors have an API?

Yes, a large one, and it is not a jobs feed. The OData v2 API at <data-center-host>/odata/v2/ exposes hundreds of entities across Employee Central (PerPerson, EmpJob, EmpCompensation), Recruiting (JobRequisition, JobApplication, Candidate), Onboarding, Performance and Learning, all filtered by the tenant's Role-Based Permissions and reachable only with credentials that tenant issues. SAP also ships an OData v4 API for newer modules and prebuilt integration content in SAP Integration Suite. The job postings a candidate sees are rendered by Career Site Builder on each employer's branded careers domain, from an internal call, with an optional RSS or XML feed. JobsPipe does not collect those career sites; it collects the boards SuccessFactors distributes to.

## Is the SuccessFactors API free?

Not in any way an outside developer can use. There is no price list because there is no self-serve access: OAuth clients are registered by a tenant admin inside Admin Center and belong to that customer's subscription. Reading Career Site Builder pages directly costs nothing in fees but means one config per employer, a data-center and site-configuration matrix, and feeds that exist on some sites and not others. JobsPipe's free tier returns 1,000 jobs to start across the boards it collects and the sandbox at POST /v1/sandbox/jobs/search needs no key, but neither returns SuccessFactors rows.

## How do I get a SuccessFactors API key?

From a tenant admin, and it is a certificate rather than a key. They open Admin Center, then Manage OAuth2 Client Applications, register your application with an X.509 certificate, and give you the API key (client id) and the tenant's company id. You sign a SAML assertion with the matching private key and exchange it at the tenant's data-center host for a short-lived bearer token. HTTP Basic credentials still exist for legacy integrations but SAP has been retiring them. A second employer means a second registration. For postings across the SuccessFactors customer base, create a JobsPipe key and query POST /v1/jobs/search with company_name_partial_match_or.

## What does the SuccessFactors API documentation cover?

SAP Help Portal and the SAP Business Accelerator Hub document the OData v2 and v4 APIs entity by entity (with metadata, filters, expands and pagination), the authentication flows (OAuth 2.0 with SAML bearer assertion, the legacy Basic scheme and its deprecation timeline), the data-center host list, Role-Based Permissions as they apply to API users, the Recruiting entities and their posting workflow, Career Site Builder configuration, and the Integration Suite packages for common targets. They document how an employer moves data in and out of its own tenant, never how a third party reads postings across tenants. JobsPipe's docs at /docs cover the record shape returned for the boards JobsPipe does collect.

## What JobsPipe returns for SAP SuccessFactors

Nothing under "source_or": ["successfactors"]: JobsPipe does not collect SuccessFactors career sites. What JobsPipe returns is the same employers' postings where SuccessFactors distributes them: filter POST /v1/jobs/search with company_name_partial_match_or for the employer you care about, and each record comes back with sources[0].provider naming the board it came from (for SuccessFactors customers most often linkedin or indeed), status, ghost_score, discovered_at, last_seen_at, seniority, and min_annual_salary_usd and max_annual_salary_usd when the posting states a range. The sample above shows the shape for one such record found on LinkedIn.

## Related

- **Product:** https://jobspipe.dev/jobs-api
- **All sources:** https://jobspipe.dev/sources
- **Docs:** https://docs.jobspipe.dev
- **Sign up (free tier):** https://jobspipe.dev/signup

---
Generated from structured data. View the rendered page at https://jobspipe.dev/sources/successfactors.

---
Building this integration yourself? The steps above work. The alternative is one API over 30+ sources, already normalized and deduplicated. Try it right now - no key, no signup:

```bash
curl -d '{"limit":3}' https://api.jobspipe.dev/v1/sandbox/jobs/search
```

Sample data, exact live schema. For live data get a free key (1,000 jobs to start) at https://jobspipe.dev/signup, then swap /v1/sandbox/jobs/search for /v1/jobs/search with an Authorization: Bearer header. Full agent index: https://jobspipe.dev/llms.txt?src=md-twin