For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDeel Home
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
  • Resources
    • Blog
    • Community
    • API spec
  • HRIS Guides
    • Introduction
  • HRIS Common Use Cases
    • Sync Deel users to identity providers
  • SCIM API
    • Overview
  • HRIS Endpoints
  • ATS Guides
    • Introduction
    • Getting started
    • Manage jobs
    • Manage candidates and applications
    • Webhooks
  • ATS Common Use Cases
    • From candidate to contract
  • ATS Endpoints
      • POSTCreate ATS Candidate
      • POSTCreate candidate tags
      • GETRetrieve paginated list of ATS Candidates
LogoLogo
SupportDeel Home
ATS EndpointsAts Candidates

Retrieve paginated list of ATS Candidates

GET
/ats/candidates
GET
/rest/v2/ats/candidates
$curl -G https://api.letsdeel.com/rest/v2/ats/candidates \
> -H "Authorization: Bearer <token>" \
> -d cursor=cursorValue \
> -d limit=50 \
> --data-urlencode "search=John Doe" \
> -d job_ids=3fa85f64-5717-4562-b3fc-2c963f66afa6 \
> -d department_ids=3fa85f64-5717-4562-b3fc-2c963f66afa6 \
> -d tag_ids=3fa85f64-5717-4562-b3fc-2c963f66afa6 \
> -d current_stage_category_type_slugs=phone-screen \
> -d current_stage_default_type_slugs=technical-interview \
> -d current_stage_default_type_slugs=others \
> --data-urlencode updated_after=2025-06-18T00:00:00.000Z
1{
2 "data": [
3 {
4 "id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
5 "email": "john.doe@example.com",
6 "pic_url": "https://example.com/profile.jpg",
7 "last_name": "Doe",
8 "created_at": "2023-10-01T12:00:00Z",
9 "first_name": "John",
10 "numeric_id": 12345,
11 "updated_at": "2023-10-02T12:00:00Z",
12 "applications": [
13 {
14 "id": "b1c2d3e4-f5a6-7890-1234-567890abcdef",
15 "job": {
16 "id": "c1d2e3f4-a5b6-7890-1234-567890abcdef",
17 "title": "Software Engineer"
18 },
19 "created_at": "2024-01-02T00:00:00Z",
20 "current_application_interview_plan_stage": {
21 "id": "d1e2f3a4-b5c6-7890-1234-567890abcdef",
22 "status": "ACTIVE",
23 "created_at": "2024-01-03T00:00:00Z",
24 "application_id": "e1f2a3b4-c5d6-7890-1234-567890abcdef",
25 "interview_plan_stage": {
26 "id": "f1a2b3c4-d5e6-7890-1234-567890abcdef",
27 "name": "Phone Screen",
28 "description": "Initial phone screening with the candidate",
29 "stage_order": 1,
30 "default_type_slug": "phone-screen",
31 "interview_plan_id": "12345678-90ab-cdef-0123-456789abcdef",
32 "category_type_slug": "initial"
33 },
34 "interview_plan_stage_id": "23456789-0abc-def1-2345-67890abcdef0"
35 }
36 }
37 ],
38 "phone_number": "+15551234567",
39 "candidate_tags": [],
40 "final_archivation_at": "2024-01-04T00:00:00Z",
41 "linkedin_profile_url": "https://www.linkedin.com/in/johndoe",
42 "total_applications_count": 5
43 }
44 ],
45 "has_more": true,
46 "next_cursor": "abcdef01-2345-6789-0abc-def012345678",
47 "total_count": 100
48}

Returns a paginated list of candidates, optionally filtered by job IDs, department IDs, tag IDs, current stage category or default type slugs, or a timestamp to return only records updated after a given point. Token scopes: ats:read

Was this page helpful?
Previous

Retrieve a list of ATS departments

Next
Built with

Authentication

AuthorizationBearer
## Authentication The Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail. ```curl curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \ -H 'Authorization: Bearer YOUR-TOKEN-HERE' ``` [Learn more about authentication](/api/authentication)
OR
AuthorizationBearer
Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/

Query parameters

cursorstringOptional
The cursor for pagination
limitintegerOptional1-100Defaults to 20
Maximum number of records returned in one response
searchstringOptional
Search text for filtering candidates
job_idslist of stringsOptional
Filter candidates by job IDs
department_idslist of stringsOptional
Filter candidates by department IDs
tag_idslist of stringsOptional
Filter candidates by tag IDs
current_stage_category_type_slugslist of stringsOptional
Filter candidates by current stage category type slugs
current_stage_default_type_slugslist of stringsOptional
Filter candidates by current stage default type slugs
updated_afterstringOptionalformat: "date-time"

Filter applications updated after this timestamp (ISO 8601 format)

Response

Successful operation.
datalist of objects
has_moreboolean
Indicates if there are more items to fetch.
next_cursorstring or null
Cursor for the next page of results
total_countinteger>=0
Total number of candidates

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error

Authentication

The Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.

1curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \
2 -H 'Authorization: Bearer YOUR-TOKEN-HERE'

Learn more about authentication

Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/