---
title: "UltiPro (UKG Pro) API"
description: "UltiPro (UKG Pro) API: the per-customer UKG HCM APIs, the public recruiting.ultipro.com career sites, and one call for the same openings."
canonical: https://jobspipe.dev/sources/ultipro
date_published: 2026-08-25
date_modified: 2026-09-26
author: Dvir Atias
---

# UltiPro (UKG Pro) API

UltiPro is the former name of UKG Pro, whose recruiting module still serves public career sites on recruiting.ultipro.com tenant subdomains; UKG's APIs are per-customer HCM integrations with customer-issued credentials, not a public postings feed. JobsPipe does not collect UKG Pro; the same employers' openings reach one search endpoint through the boards JobsPipe does collect, in one record shape across 30+ sources.

> UltiPro (UKG Pro) has no public cross-employer jobs API, and JobsPipe does not collect UltiPro (UKG Pro). This page explains what UltiPro (UKG Pro) exposes and how to reach the same employers through the boards JobsPipe does collect.

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

## Coverage

JobsPipe does not collect UltiPro (UKG Pro). This page explains what UltiPro (UKG Pro) 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 UltiPro (UKG Pro) jobs data is confusing

UltiPro is the former name of UKG Pro, and its recruiting module still serves career sites on recruiting.ultipro.com tenant subdomains, which is why 'UltiPro ATS' remains the common search. UKG's APIs are per-customer HCM integrations with customer-issued credentials, not a public postings feed.

Each UKG Pro customer's career site lives at a recruiting.ultipro.com URL with a tenant-specific structure. The postings are public HTML per tenant; there is no cross-tenant endpoint and no tenant directory. JobsPipe does not collect UltiPro (UKG Pro). Employers that run UltiPro (UKG Pro) usually also post the same roles to LinkedIn and Indeed, and larger ones run Workday, Greenhouse, Workable, SmartRecruiters, Ashby, Lever or Paylocity alongside it. JobsPipe collects all of those boards, so filter POST /v1/jobs/search by company_name_partial_match_or to reach them.

## Workarounds

### Use UKG's customer APIs

Reads one employer's UKG account with credentials they grant. Not a path across employers.

### Scrape recruiting.ultipro.com tenants

Possible per tenant you already know. Discovery, pagination and bot handling are on you.

### What JobsPipe offers instead

JobsPipe does not collect UltiPro (UKG Pro). Search the same employers by name across the boards JobsPipe does collect (LinkedIn, Indeed, Workday, Greenhouse, Workable, SmartRecruiters, Ashby, Lever and Paylocity); sources[0].provider on each record names the board it came from.

## 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

### Did UltiPro change its name to UKG Pro?

Yes. UltiPro was renamed UKG Pro after the Ultimate Software and Kronos merger, and its recruiting module still serves career sites on recruiting.ultipro.com tenant subdomains. That is why 'UltiPro ATS' remains the common search even though the product is sold as UKG Pro, and why older UltiPro career URLs still work.

### How do I find a company's UltiPro (UKG Pro) careers page?

Look for a recruiting.ultipro.com link from the employer's careers page. Each UKG Pro customer's career site lives at a recruiting.ultipro.com URL with a tenant-specific structure, and the postings are public HTML per tenant. There is no tenant directory and no cross-tenant endpoint, so each employer's URL has to be found individually.

### Can UKG Pro APIs read job postings across employers?

No. UKG's APIs are per-customer HCM integrations with customer-issued credentials, so they read one employer's UKG account with credentials that employer grants. They are not a public postings feed, and there is no cross-tenant endpoint for the career sites on recruiting.ultipro.com.

### How do I find an UltiPro (UKG Pro) employer's jobs on LinkedIn or Indeed?

Search by the employer's name. Employers that run UltiPro (UKG Pro) usually also post the same roles to LinkedIn and Indeed, and larger ones run Workday, Greenhouse, Workable, SmartRecruiters, Ashby, Lever or Paylocity alongside it. Filter POST /v1/jobs/search by company_name_partial_match_or to reach them on the boards JobsPipe collects; sources[0].provider names each record's board.

## Does UltiPro (UKG Pro) have an API?

UltiPro is the former name of UKG Pro, and its recruiting module still serves career sites on recruiting.ultipro.com tenant subdomains, which is why 'UltiPro ATS' remains the common search. UKG's APIs are per-customer HCM integrations with customer-issued credentials, not a public postings feed. Each UKG Pro customer's career site lives at a recruiting.ultipro.com URL with a tenant-specific structure. The postings are public HTML per tenant; there is no cross-tenant endpoint and no tenant directory.

## What JobsPipe returns for UltiPro (UKG Pro)

Nothing under "source_or": ["ultipro"]: JobsPipe does not collect UltiPro (UKG Pro). Employers that run UltiPro (UKG Pro) usually also post the same roles to LinkedIn and Indeed, and larger ones run Workday, Greenhouse, Workable, SmartRecruiters, Ashby, Lever or Paylocity alongside it. JobsPipe collects all of those boards, so filter POST /v1/jobs/search by company_name_partial_match_or to reach them. Each record comes back with sources[0].provider, 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.

## 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/ultipro.

---
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