---
title: "Get Job Application Data from Breezy ATS API"
url: "http://35.223.47.52/blog/get-job-application-data-from-breezy-ats-api/"
date: "2026-08-13T12:58:42+00:00"
modified: "2026-08-23T11:20:41+00:00"
type: "post"
---

# Get Job Application Data from Breezy ATS API

[Blog](http://35.223.47.52/blog) / [Tutorials](http://35.223.47.52/blogs/tutorials/) / Get Job Application Data from Breezy ATS API [Tutorials](http://35.223.47.52/blogs/tutorials/) · August 13, 2026 

Get Job Application Data from Breezy ATS API
============================================

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

4 min read

 

 

 [](https://www.linkedin.com/sharing/share-offsite/?url=http%3A%2F%2F35.223.47.52%2Fblog%2Fget-job-application-data-from-breezy-ats-api%2F) [](https://twitter.com/intent/tweet?url=http%3A%2F%2F35.223.47.52%2Fblog%2Fget-job-application-data-from-breezy-ats-api%2F&text=Get%20Job%20Application%20Data%20from%20Breezy%20ATS%20API)  

 

 

 

  Table of Contents - [Introduction](#introduction)
- [Get Job Application Data from Breezy ATS API](#get-job-application-data-from-breezy-ats-api)
- [Pre-requisites](#pre-requisites)
- [ATS Endpoints](#ats-endpoints)
- [Step-by-Step Process](#step-by-step-process)
- [FAQs](#faqs)
- [Pitfalls to Watch Out For](#pitfalls-to-watch-out-for)
- [Knit for Breezy ATS API Integration](#knit-for-breezy-ats-api-integration)
 
  ### Introduction

This article is part of an ongoing series that breaks down the [**Breezy ATS API** ](/integration/breezy-hr/)in a practical, use-case–driven way. In this piece, the focus is narrow and execution-oriented: pulling **job application (candidate) data** from the Breezy ATS API.

If you’re building recruitment analytics, syncing candidate data into an internal HR system, or powering downstream workflows like onboarding or background checks, this is a foundational API flow you’ll rely on.

If you want a broader view of the Breezy API, including authentication, rate limits, and other core concepts, refer to the full [Breezy API](/blog/breezy-api-directory-7vgl6y/) guide linked earlier.

Get Job Application Data from Breezy ATS API
--------------------------------------------

### Pre-requisites

Before you start, make sure the basics are in place:

- Access to the [Breezy ATS API](https://developers.getknit.dev/docs/breezy-usecases) with a valid API key
- Company ID and Position ID (required for most candidate retrieval operations)
- A Python environment set up with required libraries such as `requests`

### ATS Endpoints

- Retrieve candidates for a given position
    `GET https://api.breezy.hr/v3/company/{company_id}/position/{position_id}/candidates`
- Retrieve all candidates with a specific email address
    `GET https://api.breezy.hr/v3/company/{company_id}/candidates/search`

### Step-by-Step Process

#### 1. Retrieve All Candidates for a Position

```
import requests

def get_candidates_for_position(api_key, company_id, position_id):
    url = f"https://api.breezy.hr/v3/company/{company_id}/position/{position_id}/candidates"
    headers = {"Authorization": api_key}
    response = requests.get(url, headers=headers)

    if response.status_code == 200:
        return response.json()
    else:
        raise Exception(f"Error: {response.status_code}, {response.json()}")

# Example usage
api_key = "your_api_key"
company_id = "your_company_id"
position_id = "your_position_id"

candidates = get_candidates_for_position(api_key, company_id, position_id)
print(candidates)
```

#### 2. Retrieve a Candidate by Email

```
import requests

def get_candidate_by_email(api_key, company_id, email):
    url = f"https://api.breezy.hr/v3/company/{company_id}/candidates/search"
    headers = {"Authorization": api_key}
    params = {"email_address": email}

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

    if response.status_code == 200:
        return response.json()
    else:
        raise Exception(f"Error: {response.status_code}, {response.json()}")

# Example usage
api_key = "your_api_key"
company_id = "your_company_id"
email = "candidate_email@example.com"

candidate = get_candidate_by_email(api_key, company_id, email)
print(candidate)
```

This approach is useful when you’re reconciling candidate records across systems or handling inbound workflows triggered by email-based identifiers.

### FAQs

1. **What is the maximum page size when retrieving candidates?**
    The maximum page size supported by the API is 50 records per request.
2. **What does a 401 error usually indicate?**
    A 401 error almost always points to an invalid, missing, or improperly formatted API key in the request headers.
3. **Can candidates be sorted by last updated date?**
    Yes. You can use the `sort` query parameter with the value `updated` to order results accordingly.
4. **Is a position ID mandatory to retrieve candidates?**
    Yes. When retrieving candidates tied to a role, a valid position ID is required.
5. **What happens if the searched email address doesn’t exist?**
    The API will return an empty list, not an error.
6. **Can API requests be made without a company ID?**
    No. The company ID is mandatory for all Breezy ATS API requests.
7. **How is pagination handled?**
    Pagination is managed using the `page_size` and `page` query parameters to fetch results incrementally.

### Pitfalls to Watch Out For

1. Ignoring API rate limits can quickly lead to throttling or temporary access blocks.
2. Skipping HTTP status checks can cause silent failures and broken downstream logic.
3. Using an incorrect or expired API key will result in consistent authentication errors.
4. Not implementing pagination can lead to incomplete or misleading datasets.
5. Sending unvalidated email addresses increases unnecessary API calls and noise.
6. Assuming uniform candidate data structures can break parsing logic as fields vary by stage or source.
7. Failing to track API changes or updates can result in reliance on deprecated endpoints.

Knit for Breezy ATS API Integration
-----------------------------------

If your goal is to move fast and avoid long-term maintenance overhead, [Knit ](/integration/breezy-hr/)provides a cleaner path. Instead of managing Breezy authentication, pagination, and edge cases yourself, you integrate with Knit once and let it handle the complexity.

Knit abstracts away API quirks, manages authentication flows, and keeps integrations resilient as APIs evolve, allowing teams to focus on product logic.

 

 ![](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)
