---
title: "Paycom API"
description: "Paycom API: the private Client API, the paycomonline.net careers pages where openings live, and how to reach Paycom employers' postings in one call."
canonical: https://jobspipe.dev/sources/paycom
date_published: 2026-06-16
date_modified: 2026-09-26
author: Dvir Atias
---

# Paycom API

Paycom's Client API is private, available only to active customers for their own payroll and HR data, with no public or partner endpoint for job postings; openings live on careers pages hosted on paycomonline.net subdomains. JobsPipe does not collect Paycom; the same employers' openings reach one search endpoint through the boards JobsPipe does collect, in one record shape across 30+ sources.

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

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

## Coverage

JobsPipe does not collect Paycom. This page explains what Paycom 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 Paycom jobs data is confusing

Paycom's Client API is private: it is available only to active Paycom customers and only for that customer's own payroll and HR data. There is no public aggregator API for job postings and no partner tier that reads across customers.

Paycom customers publish openings on careers pages hosted on paycomonline.net subdomains or embedded on their own domains. Those pages are public HTML rendered per customer, with no consistent JSON endpoint across customers and no directory of which employers run Paycom. JobsPipe does not collect Paycom. Employers that run Paycom 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

### Scrape paycomonline.net subdomains

Possible per employer you already know. Each customer is a separate config, the markup changes occasionally, and Paycom rate-limits per domain.

### Sign a Client API agreement with each Paycom customer

Reaches one customer's own data with their credentials. Not a path to postings across employers.

### What JobsPipe offers instead

JobsPipe does not collect Paycom. 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

### How can I tell if a company uses Paycom for hiring?

Look at where its careers page lives. Paycom customers publish openings on careers pages hosted on paycomonline.net subdomains, or embed those pages on their own domains, so a paycomonline.net link from the careers page is the signal. Paycom publishes no directory of which employers run it, so there is no list to check against and discovery happens one employer at a time.

### Do Paycom careers pages have a JSON endpoint?

Not a consistent one. Each customer's careers page is public HTML rendered per customer, with no shared JSON endpoint across customers. Reading them yourself means a separate config for every employer, markup that changes occasionally, and rate limits that Paycom applies per domain, which is workable for a few employers you already know.

### Can the Paycom Client API read job postings?

Not across employers. The Client API is private, available only to active Paycom customers and only for that customer's own payroll and HR data. A Client API agreement with a customer reaches that one customer's data with their credentials, and there is no partner tier or public endpoint that reads job postings across Paycom customers.

### How do I find a Paycom employer's jobs on LinkedIn or Indeed?

Search by the employer's name. Employers that run Paycom 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, and read sources[0].provider on each record to see which board it came from.

## Does Paycom have an API?

Paycom's Client API is private: it is available only to active Paycom customers and only for that customer's own payroll and HR data. There is no public aggregator API for job postings and no partner tier that reads across customers. Paycom customers publish openings on careers pages hosted on paycomonline.net subdomains or embedded on their own domains. Those pages are public HTML rendered per customer, with no consistent JSON endpoint across customers and no directory of which employers run Paycom.

## What JobsPipe returns for Paycom

Nothing under "source_or": ["paycom"]: JobsPipe does not collect Paycom. Employers that run Paycom 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.

## In-depth guides

- https://jobspipe.dev/guides/paycom-jobs-api

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

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