---
title: "How to fetch job application data from ADP Workforce Now ATS API"
url: "http://35.223.47.52/blog/how-to-fetch-job-application-data-from-adp-workforce-now-ats-api/"
date: "2026-08-13T12:58:52+00:00"
modified: "2026-08-23T11:57:36+00:00"
type: "post"
---

# How to fetch job application data from ADP Workforce Now ATS API

[Blog](http://35.223.47.52/blog) / [Tutorials](http://35.223.47.52/blogs/tutorials/) / How to fetch job application data from ADP Workforce Now ATS API [Tutorials](http://35.223.47.52/blogs/tutorials/) · August 13, 2026 

How to fetch job application data from ADP Workforce Now ATS API
================================================================

 ![](https://storage.googleapis.com/knit-website-media/2026/08/64c34ca1e0546a9d333bb35a_Kunal-3-150x150.png)Kunal Mishra

3 min read

 

 

 [](https://www.linkedin.com/sharing/share-offsite/?url=http%3A%2F%2F35.223.47.52%2Fblog%2Fhow-to-fetch-job-application-data-from-adp-workforce-now-ats-api%2F) [](https://twitter.com/intent/tweet?url=http%3A%2F%2F35.223.47.52%2Fblog%2Fhow-to-fetch-job-application-data-from-adp-workforce-now-ats-api%2F&text=How%20to%20fetch%20job%20application%20data%20from%20ADP%20Workforce%20Now%20ATS%20API)  

 

 

 

  Table of Contents - [Introduction](#)
- [Prerequisites](#)
- [Useful Endpoints](#)
- [Step-by-Step Guide](#)
- [1. Generate an OAuth 2.0 Token](#)
- [2. Fetch All Job Applications](#)
- [3. Fetch a Single Job Application](#)
- [Common Pitfalls](#)
- [FAQs](#)
- [Knit: Faster ADP Workforce Now ATS Integration](#)
 
  **Introduction**
----------------

If you’re building hiring workflows, analytics dashboards, or HR automations, pulling data directly from the [ADP Workforce Now ATS API](https://developers.getknit.dev/docs/adp-workforcenow-ats-usecases) is a non-negotiable capability. This guide cuts past the fluff and gets straight to how you can fetch job application data reliably, securely, and at scale.

This article is part of a broader series on the ATS API, including deep dives on authentication, rate limits, pagination, and best practices. You can explore the complete guide [here](/blog/ats-integration-guide/).

**Prerequisites**
-----------------

Before you start calling the API, make sure you have:

- Valid OAuth 2.0 credentials (Client ID + Client Secret)
- Understanding of REST and JSON structures
- A Python environment with `requests` installed

**Useful Endpoints**
--------------------

- Get all job applications → `/staffing/v2/job-applications`
- Get a specific application → `/staffing/v2/job-applications/{job-application-id}`

**Step-by-Step Guide**
----------------------

### **1. Generate an OAuth 2.0 Token**

```
import requests

def get_oauth_token(client_id, client_secret):
    url = 'https://auth.adp.com/oauth/v2/token'
    headers = {'Content-Type': 'application/x-www-form-urlencoded'}
    data = {'grant_type': 'client_credentials'}
    response = requests.post(url, headers=headers, data=data, auth=(client_id, client_secret))
    return response.json().get('access_token')
```

### **2. Fetch All Job Applications**

```
def get_all_job_applications(token):
    url = 'https://api.adp.com/staffing/v2/job-applications'
    headers = {
        'Authorization': f'Bearer {token}',
        'Content-Type': 'application/json',
        'roleCode': 'practitioner'
    }
    params = {'$select': 'itemID,jobRequisitionReference,applicationStatusCode'}
    response = requests.get(url, headers=headers, params=params)
    return response.json()
```

### **3. Fetch a Single Job Application**

```
def get_job_application(token, job_application_id):
    url = f'https://api.adp.com/staffing/v2/job-applications/{job_application_id}'
    headers = {
        'Authorization': f'Bearer {token}',
        'Content-Type': 'application/json',
        'roleCode': 'practitioner'
    }
    response = requests.get(url, headers=headers)
    return response.json()
```

**Common Pitfalls**
-------------------

Developers integrating ADP Workforce Now often trip over the same issues. Keep these in check:

**1. Token expiry sneaking up on you**
ADP tokens expire quickly; build auto-refresh into your workflow.

**2. Missing or incorrect `roleCode`**
This header is mandatory and impacts what data you can see.

**3. Pagination confusion**
ADP won’t return everything in one shot, use `$top` and `$skip`.

**4. Throttling during bulk fetches**
ADP rate limits aggressively. Queue/batch your requests.

**5. Complex nested JSON**
Prepare to map multi-level objects; flattening the response helps.

**6. Environment mismatches**
ADP sandbox and production behave differently, test both.

**7. Silent permission failures**
Sometimes the API returns fewer fields simply because your role doesn’t have access.

**FAQs**
--------

**1. Why do I need the `roleCode` header?**
It determines your access level and controls which data fields ADP exposes.

**2. Can I filter the job applications?**
Yes. Use `$filter`, `$select`, `$orderby`, and other OData-style parameters.

**3. What format does the API return?**
All responses are JSON, often with deeply nested structures.

**4. Is there a limit on how many applications I can fetch at once?**
Yes. Use `$top` for batch size and `$skip` for pagination.

**5. How do I handle ADP rate limits?**
Implement retries with exponential backoff and stagger API calls.

**6. Does ADP provide historical application data?**
Only if your org’s data retention settings allow it.

**7. How do I debug API errors more effectively?**
Check status codes, error objects, and verify your scopes + permissions.

**Knit: Faster ADP Workforce Now ATS Integration**
--------------------------------------------------

Connecting directly to [ADP Workforce Now ATS API ](/integration/adp-workforce-now-ats/?e4f9ab58_page=3)often becomes a maintenance-heavy project, OAuth rotation, permission handling, schema changes, and rate limits add real engineering drag. Knit removes this overhead. A single integration gives you:

- Clean, unified ADP Workforce Now ATS data
- Automated token refresh + authentication
- Continuous schema maintenance
- Built-in monitoring and retries
- Zero upkeep on your side

---

**Ready to build this integration?**
Explore Knit’s [ADP Workforce Now ATS integration](/integration/adp-workforce-now-ats/) or read more about our [Unified ATS API](/integration-categories/unified-ats-api/).

 

 ![](https://storage.googleapis.com/knit-website-media/2026/08/64c34ca1e0546a9d333bb35a_Kunal-3-150x150.png)Written by Kunal Mishra

Changing integration landscape, one organization at a time‍

 

 

 

 

 

   Keep Reading
------------

  ![](https://storage.googleapis.com/knit-website-media/2026/08/blog-banner-green-640x400.png) [Tutorials](http://35.223.47.52/blogs/tutorials/) 

### [How to Create a Slack Bot in 5 Minutes: A to Z Guide](http://35.223.47.52/blog/how-to-create-a-slack-bot/)

You can create your own Slack Bot in just a few minutes with the Knit Unified API. Read this step-by-step…

 August 13, 2026 · 3 min read 

 

   ![](https://storage.googleapis.com/knit-website-media/2026/08/blog-banner-green-640x400.png) [Tutorials](http://35.223.47.52/blogs/tutorials/) 

### [How to Build and Deploy a Microsoft Teams Bot](http://35.223.47.52/blog/how-to-build-and-deploy-a-microsoft-teams-bot/)

You can either build Microsoft Teams Bot on your own or you can use Knit's Unified API to create it…

 August 13, 2026 · 4 min read 

 

   ![](https://storage.googleapis.com/knit-website-media/2026/08/blog-banner-yellow-scaled-640x400.png) [Tutorials](http://35.223.47.52/blogs/tutorials/) 

### [What Should You Look For in A Unified API Platform?](http://35.223.47.52/blog/what-should-you-look-for-in-a-unified-api-platform/)

The right unified API can solve all your integration woes at minimal effort and cost. Read this to know how…

 August 13, 2026 · 14 min read 

 

  

 

  \#1 in Ease of Integrations
---------------------------

![4.9 out of 5 stars](/wp-content/themes/knit/assets/images/g2/g2-star-rating.svg)

4.9 out of 5 stars on G2

![G2 Leader, Spring 2026](/wp-content/themes/knit/assets/images/g2/g2-leader.svg)![G2 Fastest Implementation, Spring 2026](/wp-content/themes/knit/assets/images/g2/g2-fastest-implementation.svg)![G2 High Performer, Spring 2026](/wp-content/themes/knit/assets/images/g2/g2-high-performer.svg)![G2 Best Est. ROI, Spring 2026](/wp-content/themes/knit/assets/images/g2/g2-best-roi.svg)

 

  Put Integrations on Autopilot. Talk to Experts.
-----------------------------------------------

Knit is loved by customers across the globe due to our seamless product and white glove support. You'll love us too!

 [Talk to a Human](/book-demo)
