---
title: "Paylocity API"
description: "Paylocity API: the partner-gated Integration API, the recruiting.paylocity.com careers boards that embed each company's jobs, and every board in one call."
canonical: https://jobspipe.dev/sources/paylocity
date_published: 2026-06-16
date_modified: 2026-09-26
author: Dvir Atias
---

# Paylocity API

Paylocity's Integration API at developer.paylocity.com is partner-gated and reads one customer's payroll, HR and requisition data, so it is not a public jobs feed; the postings are public on each company's recruiting.paylocity.com careers board. JobsPipe collects every public Paylocity board's postings into one search endpoint, in the same record shape as the rest of its 30+ sources. [developer.paylocity.com](https://developer.paylocity.com/).

> Paylocity's API is partner-gated and per customer. Its public careers pages are not. JobsPipe collects those public Paylocity postings into one endpoint with the same record shape as the other collected boards.

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

## Coverage

- **Sources covered:** Public Paylocity career sites
- **Freshness:** discovered_at, last_seen_at and verified_at on every record
- **History retention:** Closed postings kept, with closed_at and closed_reason

## Why Paylocity jobs data is confusing

Paylocity's API is partner-gated. You can read the developer documentation at developer.paylocity.com, but you cannot get credentials without the Paylocity Partner Program, and the program requires an active Paylocity customer to sponsor your integration. Independent developers building a jobs aggregator are out of scope.

Paylocity's recruiting module publishes openings to recruiting.paylocity.com and to customer-branded careers sites that embed Paylocity's careers widget. There is no documented public Jobs API; the widget renders postings client-side from an internal JSON endpoint. JobsPipe collects the public Paylocity careers surface and serves the data alongside every other collected board in the same JSON shape.

## Workarounds

### Apply to the Paylocity Partner Program

Months of paperwork, requires a customer sponsor, and the resulting credentials are scoped to per-customer integrations, not aggregation across the Paylocity universe.

### Scrape the careers widget per customer

Possible. The widget's internal JSON endpoint is undocumented and changes without notice. Expect ongoing maintenance and no customer directory.

### Use JobsPipe

Public Paylocity postings, one endpoint. Free tier of 1,000 jobs to start.

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

## Sample response

```json
{
  "id": "1893544",
  "job_title": "Warehouse Operations Manager",
  "company": "Midwest Logistics",
  "company_domain": "midwestlogistics.example",
  "url": "https://recruiting.paylocity.com/recruiting/jobs/Details/1893544/Midwest-Logistics/Warehouse-Operations-Manager",
  "date_posted": "2026-09-02",
  "discovered_at": "2026-09-02T11:08:55+00:00",
  "last_seen_at": "2026-09-08 00:21:17",
  "verified_at": "2026-09-08 00:49:03",
  "status": "active",
  "closed_at": null,
  "closed_reason": null,
  "ghost_score": 11,
  "seniority": "lead",
  "cities": [
    "Indianapolis"
  ],
  "state_code": "IN",
  "min_annual_salary_usd": 78000,
  "max_annual_salary_usd": 95000,
  "technology_slugs": [
    "sap",
    "excel"
  ],
  "keyword_slugs": [
    "warehouse-operations",
    "logistics"
  ],
  "sources": [
    {
      "provider": "paylocity",
      "url": "https://recruiting.paylocity.com/recruiting/jobs/Details/1893544/Midwest-Logistics/Warehouse-Operations-Manager"
    }
  ]
}
```

## FAQ

### Where are Paylocity job postings published?

On recruiting.paylocity.com job detail pages, on Paylocity-hosted customer subdomains, or embedded into customer-owned domains through Paylocity's careers widget. The widget renders postings client-side from an internal JSON endpoint that is undocumented and changes without notice. There is no master list of Paylocity customers running the recruiting module, which is the discovery work JobsPipe does.

### Can I build a job aggregator on Paylocity's partner API?

No. The Partner Program is built for vendors integrating on behalf of mutual customers, such as recruiting CRMs and background-check tools. Approval needs a sponsoring Paylocity customer plus business and technical reviews, and the OAuth 2.0 credentials are scoped to that customer, so reading a second customer needs a second sponsorship. Independent developers building a jobs aggregator are out of scope.

### Can I get Paylocity payroll or HR data with job postings?

No. Paylocity payroll, time and attendance, benefits and HRIS data are private to each customer and only reachable through Partner Program credentials for that customer. JobsPipe is jobs-only and reads the public-facing postings on recruiting.paylocity.com and the careers widget, not employee, pay or deduction records.

### How do I filter Paylocity jobs by occupation or location?

Paylocity skews to US mid-market employers outside tech, so occupation_code_or (ISCO-08) and job_location_or are the filters that matter. Send them in the POST /v1/jobs/search body together with "source_or": ["paylocity"] to stay on Paylocity rows. Records carry min_annual_salary_usd and max_annual_salary_usd when a range is stated, and JobsPipe keeps closed postings with closed_at and closed_reason.

## Does Paylocity have an API?

Yes, but not a public jobs one. The Paylocity Integration API documented at developer.paylocity.com covers employees, pay statements, earnings, deductions, time-and-attendance, company codes, custom fields and the recruiting module's requisitions, all for one customer and all behind Partner Program credentials. Paylocity treats third-party vendors the way Salesforce treats AppExchange partners: as integrations on behalf of mutual customers, not as data consumers. The job postings a candidate sees are served on recruiting.paylocity.com and through the careers widget, and that public surface is what JobsPipe collects.

## Is the Paylocity API free?

Not in a way an outside developer can use. There is no price list because there is no self-serve access: credentials are issued through the Partner Program after a sponsoring customer, a business review and a technical review, and they are scoped to that customer. JobsPipe's free tier returns 1,000 jobs to start across every collected board, Paylocity included, and the sandbox at POST /v1/sandbox/jobs/search needs no key.

## How do I get a Paylocity API key?

Through the Partner Program at paylocity.com/partners. You name a Paylocity customer who will sponsor your integration, complete the reviews, and receive OAuth 2.0 client credentials that exchange for a token against that customer's company id. To read a second customer you need a second sponsorship. That model fits a recruiting CRM syncing candidates for one client; it does not fit reading postings across the Paylocity customer base. For that, create a JobsPipe key and send it as a Bearer token to POST /v1/jobs/search with "source_or": ["paylocity"].

## What does the Paylocity API documentation cover?

developer.paylocity.com is public even though the API is not. It documents the OAuth 2.0 client-credentials flow, the Integration API endpoints (employee demographics, pay, earnings, deductions, direct deposit, sensitive data, company codes, custom fields, time and attendance), the recruiting endpoints for requisitions and applicants, the webhook events, and the sandbox that partners receive after approval. There is no endpoint for reading another company's public postings. JobsPipe's docs at /docs cover the one record shape returned for Paylocity rows and every other collected board.

## What JobsPipe returns for Paylocity

A POST /v1/jobs/search with "source_or": ["paylocity"] returns Paylocity postings as JobsPipe records: id (the Paylocity job id), job_title, company, company_domain when it resolves, url on recruiting.paylocity.com, date_posted, discovered_at, last_seen_at, verified_at, status with closed_at and closed_reason once a posting closes, ghost_score, seniority, min_annual_salary_usd and max_annual_salary_usd when a range is stated, technology_slugs and keyword_slugs parsed from the description, and sources[0].provider set to paylocity. Paylocity skews to US mid-market employers outside tech, so occupation_code_or (ISCO-08) and job_location_or are the filters that matter; the data section below shows the measured salary, remote and seniority shares for Paylocity rows.

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

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