---
title: "Get job applications from Sage Recruitment API"
description: "Technical guide on Sage Recruitment API to Get job applications from Sage Recruitment API"
source_url: "https://www.getknit.dev/blog/get-job-applications-from-sage-recruitment-api-YbnAUE"
page_type: "blog"
---

_This is an educational blog post from Knit's blog: “Get job applications from Sage Recruitment API”._

# Get job applications from Sage Recruitment API

## Introduction

This article is a part of a series of articles covering the Sage Recruitment API in depth, and covers the specific use case of using the Sage Recruitment API to Get job applications from Sage Recruitment API.  
You can find all the other use cases we have covered for the Sage Recruitment API along with a comprehensive deep dive on its various aspects like authentication, rate limits etc [here.](https://www.getknit.dev/blog/sage-ats-guide)

### Overview

To retrieve job applications from the Sage Recruitment API, you can utilize the `listApplicants` and `applicantDetails` endpoints. This guide provides a step-by-step approach to fetch the first name, last name, and email of each candidate who has applied to a specific job.

#### 1\. List Applicants for a Specific Job

First, use the `listApplicants` endpoint to get a list of applicants for a specific job position.

```
import requests

# Define the endpoint and parameters
position_id = 123  # Replace with your specific job position ID
url = f"https://subdomain.sage.hr/api/recruitment/positions/{position_id}/applicants"
headers = {
    "X-Auth-Token": "your_auth_token"  # Replace with your actual auth token
}

# Make the GET request
response = requests.get(url, headers=headers)
applicants = response.json().get('data', [])

# Extract applicant IDs
applicant_ids = [applicant['id'] for applicant in applicants]
```

#### 2\. Get Details for Each Applicant

Next, use the `applicantDetails` endpoint to fetch detailed information for each applicant.

```
applicant_details = []

for applicant_id in applicant_ids:
    url = f"https://subdomain.sage.hr/api/recruitment/applicants/{applicant_id}"
    response = requests.get(url, headers=headers)
    data = response.json().get('data', {})
    applicant_details.append({
        "first_name": data.get("first_name"),
        "last_name": data.get("last_name"),
        "email": data.get("email")
    })

# Print the applicant details
for detail in applicant_details:
    print(detail)
```

#### 3\. Example Output

The output will be a list of dictionaries containing the first name, last name, and email of each applicant.

```
[
    {"first_name": "Jon", "last_name": "Vondrak", "email": "jon.vondrak@example.com"},
    {"first_name": "Samantha", "last_name": "Cross", "email": "sam.cross@example.com"}
]
```

## Knit for Sage Recruitment API Integration

For quick and seamless access to [Sage Recruitment](https://www.getknit.dev/integration/sage) API, Knit API offers a convenient solution. By integrating with Knit just once, you can streamline the entire process. Knit takes care of all the authentication, authorization, and ongoing integration maintenance, this approach not only saves time but also ensures a smooth and reliable connection to your [Sage Recruitment](https://www.getknit.dev/integration/sage) API.


## Related pages

- [How Knit works](https://md.getknit.dev/how-knit-works)
- [Unified API product](https://md.getknit.dev/products/unified-api)
