Tutorials · August 13, 2026

Fetch job application data from SmartRecruiters ATS API

Kunal Mishra
3 min read
Table of Contents

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

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 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 or read more about our Unified ATS API.

Written by Kunal Mishra

Changing integration landscape, one organization at a time‍

Keep Reading

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

#1 in Ease of Integrations

4.9 out of 5 stars

4.9 out of 5 stars on G2

G2 Leader, Spring 2026G2 Fastest Implementation, Spring 2026G2 High Performer, Spring 2026G2 Best Est. ROI, Spring 2026

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