---
title: "Fetch job application data from SmartRecruiters ATS API"
url: "https://lb.getknit.dev/blog/fetch-job-application-data-from-smartrecruiters-ats-api/"
date: "2026-08-13T12:58:49+00:00"
modified: "2026-08-23T11:20:44+00:00"
type: "post"
---

# Fetch job application data from SmartRecruiters ATS API

[Blog](https://lb.getknit.dev/blog) / [Tutorials](https://lb.getknit.dev/blogs/tutorials/) / Fetch job application data from SmartRecruiters ATS API [Tutorials](https://lb.getknit.dev/blogs/tutorials/) · August 13, 2026 

Fetch job application data from SmartRecruiters 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%2Ffetch-job-application-data-from-smartrecruiters-ats-api%2F) [](https://twitter.com/intent/tweet?url=https%3A%2F%2Flb.getknit.dev%2Fblog%2Ffetch-job-application-data-from-smartrecruiters-ats-api%2F&text=Fetch%20job%20application%20data%20from%20SmartRecruiters%20ATS%20API)  

 

 

 

  Table of Contents - [Introduction](#)
- [Prerequisites](#)
- [Key API Endpoints](#)
- [Step-by-Step Process](#)
- [1. Fetch All Candidates](#)
- [2. Fetch a Candidate’s Application for a Specific Job](#)
- [Common Pitfalls to Avoid](#)
- [Frequently Asked Questions](#)
- [How Knit Simplifies SmartRecruiters Integrations](#)
 
  **Introduction**
----------------

SmartRecruiters is widely adopted for modern talent acquisition, but pulling structured, reliable job application data from its API can still be a bottleneck for engineering and operations teams. This guide breaks down the exact workflow for retrieving candidate and application records from the [SmartRecruiters ATS API](/integration/smartrecruiters/), without the clutter.
‍

It’s part of our broader ATS API deep-dive series, which unpacks authentication, rate limits, pagination models, and end-to-end integration strategies. If you want the full ecosystem-level overview, you can explore the main guide [here](/blog/ats-integration-guide/).

### **Prerequisites**

- SmartRecruiters API access with valid credentials
- A Python environment with the `requests` library installed

### **Key API Endpoints**

- **List all candidates:**
    `GET https://api.smartrecruiters.com/candidates`
- **Get a candidate’s job application:**
    `GET https://api.smartrecruiters.com/candidates/{id}/jobs/{jobId}`

**Step-by-Step Process**
------------------------

### **1. Fetch All Candidates**

```
import requests

headers = {'accept': 'application/json'}
params = {'limit': 10}

response = requests.get(
    'https://api.smartrecruiters.com/candidates',
    headers=headers,
    params=params
)

if response.status_code == 200:
    candidates = response.json()['content']
    for c in candidates:
        print(c['id'], c['firstName'], c['lastName'])
```

### **2. Fetch a Candidate’s Application for a Specific Job**

```
candidate_id = 'candidate_id_here'
job_id = 'job_id_here'

response = requests.get(
    f'https://api.smartrecruiters.com/candidates/{candidate_id}/jobs/{job_id}',
    headers=headers
)

if response.status_code == 200:
    application_details = response.json()
    print(application_details)
```

**Common Pitfalls to Avoid**
----------------------------

Teams often underestimate SmartRecruiters’ API nuances. These issues show up repeatedly:

1. Skipping pagination and assuming a single response contains the full dataset
2. Ignoring rate-limit headers, leading to throttling and temporary API locks
3. Using stale or incorrect candidate/job IDs
4. Not validating non-200 status codes before parsing data
5. Allowing API credentials to remain hardcoded or unrotated
6. Assuming older field names are still supported (SmartRecruiters retires fields frequently)
7. Pulling large datasets without batching, risking timeouts and inconsistent reads
8. Overlooking network-level failures in production environments

**Frequently Asked Questions**
------------------------------

**1. What’s the maximum number of candidates per request?**
Up to 100 records.

**2. How do I paginate candidate results?**
Use the `nextPageId` field from the API response to fetch subsequent pages.

**3. What does a 403 error typically indicate?**
Insufficient permissions or incorrect credentials.

**4. Can I filter candidates by geo-location?**
Yes, SmartRecruiters supports filtering via the `location` parameter.

**5. Can I fetch candidates by status (e.g., NEW, IN\_REVIEW)?**
Yes, via the `status` query parameter.

**6. How often should API credentials be rotated?**
Follow your org’s security policy, typically every 60–90 days.

**7. What date format does SmartRecruiters use?**
ISO 8601 (e.g., `2024-01-01T12:45:00Z`).

**How Knit Simplifies SmartRecruiters Integrations**
----------------------------------------------------

Instead of building and maintaining a custom [SmartRecruiters ATS API](/integration/smartrecruiters/) integration stack, you can plug into Knit once and unlock a fully managed connector. Knit handles the authentication lifecycle, rate-limit management, schema normalization, monitoring, and ongoing API maintenance, freeing up engineering cycles and reducing integration risk.

---

**Ready to build this integration?**
Explore Knit’s [Smartrecruiters integration](/integration/smartrecruiters/) 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-red-scaled-640x400.png) [API Directory](https://lb.getknit.dev/blogs/api-directory/) 

### [SmartRecruiters ATS API Directory](https://lb.getknit.dev/blog/smartrecruiters-ats-api-directory/)

SmartRecruiters ATS API integration guide covering practical use cases, key capabilities, and core endpoints for jobs, candidates, interviews, offers, approvals,…

 August 13, 2026 · 34 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 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 

 

  

 

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