---
title: "How to get job application information from Keka ATS API"
url: "https://lb.getknit.dev/blog/how-to-get-job-application-information-from-keka-ats-api/"
date: "2026-08-13T12:58:51+00:00"
modified: "2026-08-23T11:20:45+00:00"
type: "post"
---

# How to get job application information from Keka ATS API

[Blog](https://lb.getknit.dev/blog) / [Tutorials](https://lb.getknit.dev/blogs/tutorials/) / How to get job application information from Keka ATS API [Tutorials](https://lb.getknit.dev/blogs/tutorials/) · August 13, 2026 

How to get job application information from Keka 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=https%3A%2F%2Flb.getknit.dev%2Fblog%2Fhow-to-get-job-application-information-from-keka-ats-api%2F) [](https://twitter.com/intent/tweet?url=https%3A%2F%2Flb.getknit.dev%2Fblog%2Fhow-to-get-job-application-information-from-keka-ats-api%2F&text=How%20to%20get%20job%20application%20information%20from%20Keka%20ATS%20API)  

 

 

 

  Table of Contents - [Introduction](#)
- [Prerequisites](#)
- [API Endpoint](#)
- [Step-by-Step Workflow](#)
- [Step 1: Authenticate](#)
- [Step 2: Fetch All Candidates](#)
- [Step 3: Fetch a Specific Candidate](#)
- [Common Pitfalls to Watch Out For](#)
- [1. OAuth token mismanagement](#)
- [2. Rate-limit surprises](#)
- [3. Pagination gaps](#)
- [4. Inconsistent JSON handling](#)
- [5. Environment confusion](#)
- [6. Security hygiene misses](#)
- [7. Poor error-handling logic](#)
- [FAQs](#)
- [Knit for Keka ATS API Integration](#)
 
  **Introduction**
----------------

Keka’s ATS has quickly become a go-to system for fast-growing companies looking to professionalize recruitment operations without the bulk. But when teams start scaling hiring, the real unlock lies in pulling clean, structured application data directly into their internal dashboards, HRIS ecosystems, or analytics pipelines.

This guide walks through how to retrieve job application data from the [Keka ATS API](https://developers.getknit.dev/docs/keka-ats-usecases), step by step. It builds on our broader deep-dive series on ATS API integration, where we cover authentication, rate limits, data structures, and best practices. If you want the full technical exploration, you’ll find it in our extended guide [here](/blog/ats-integration-guide/).

### **Prerequisites**

Before you begin, make sure you have the essentials in place:

- Access to Keka ATS API documentation
- Valid OAuth authentication credentials
- A Python environment with `requests` installed

### **API Endpoint**

Keka exposes a straightforward endpoint for fetching candidate data:

`https://{company}.{environment}.com/api/v1/hire/preboarding/candidates<br></br>`

**Step-by-Step Workflow**
-------------------------

### **Step 1: Authenticate**

Keka uses OAuth for secure access. Ensure your OAuth tokens are generated and active.

### **Step 2: Fetch All Candidates**

```
import requests

url = "https://company.keka.com/api/v1/hire/preboarding/candidates"
headers = {
    "accept": "application/json",
    "Authorization": "Bearer YOUR_ACCESS_TOKEN"
}

response = requests.get(url, headers=headers)

if response.status_code == 200:
    candidates = response.json()
    print(candidates)
else:
    print("Error:", response.status_code)
```

### **Step 3: Fetch a Specific Candidate**

```
candidate_id = "specific_candidate_id"
url = f"https://company.keka.com/api/v1/hire/preboarding/candidates?candidateIds={candidate_id}"

response = requests.get(url, headers=headers)

if response.status_code == 200:
    candidate_data = response.json()
    print(candidate_data)
else:
    print("Error:", response.status_code)
```

**Common Pitfalls to Watch Out For**
------------------------------------

Developers typically hit the same roadblocks. Here’s what to expect and how to avoid inefficiencies:

### **1. OAuth token mismanagement**

Expired or incorrectly scoped tokens trigger 401s and slow your development cycle. Implement auto-refreshing.

### **2. Rate-limit surprises**

Bulk pulls or aggressive sync loops can hit Keka’s limits faster than you think. Build backoff + retries.

### **3. Pagination gaps**

Large hiring cycles mean large datasets. Missing pagination means missing candidates.

### **4. Inconsistent JSON handling**

Keka’s payloads are nested; if you’re flattening data for a BI pipeline, map fields in advance.

### **5. Environment confusion**

Mixing up `{company}.{environment}` frequently causes 404 errors. Validate environment before every deployment.

### **6. Security hygiene misses**

Access tokens in logs or Git commits = catastrophic. Always vault secrets.

### **7. Poor error-handling logic**

Keka returns meaningful error codes, use them. Don’t wrap everything in a generic 500 handler.

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

**How do I authenticate with the Keka ATS API?**
Using OAuth. Generate and pass a Bearer token in your headers.

**What is the default page size for candidate data?**
Keka typically defaults to 100 records per page, with a max of ~200.

**Can I filter candidates by status?**
Yes. Use the `status` query parameter.

**How do I sort results?**
Use `sortBy` and `sortOrder` parameters.

**What does a 401 error usually mean?**
Your OAuth token is invalid or expired.

**Is there a rate limit?**
Yes. Respect the limits defined in Keka’s documentation.

**How do I handle API errors gracefully?**
Use structured error-handling that reads response codes and messages instead of failing silently.

**Knit for Keka ATS API Integration**
-------------------------------------

Building and maintaining a direct Keka ATS integration is expensive and operationally heavy, OAuth management, versioning, error resolution, retries, pagination, and ongoing upkeep all compound over time.

Knit eliminates this overhead with a single unified integration layer. Connect once, and [Knit’s Keka ATS API](/integration/keka-ats/) handles authentication, maintenance, scaling, and data normalization. Your engineering team stays focused on business logic, not maintaining integrations.

---

**Ready to build this integration?**
Explore Knit’s [Keka ATS integration](/integration/keka-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](https://lb.getknit.dev/blogs/tutorials/) 

### [How to Create a Slack Bot in 5 Minutes: A to Z Guide](https://lb.getknit.dev/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](https://lb.getknit.dev/blogs/tutorials/) 

### [How to Build and Deploy a Microsoft Teams Bot](https://lb.getknit.dev/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](https://lb.getknit.dev/blogs/tutorials/) 

### [What Should You Look For in A Unified API Platform?](https://lb.getknit.dev/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)
