Search Candidate
Search Candidate
GET
Search candidate records using one or more supported filters.
Request
GET
GET /v1/candidate/search
Headers
- Authorization: Bearer your_access_token
Query Parameters
| Parameter | Type | Description |
|---|---|---|
candidate_slug | string | Direct lookup by candidate slug. Takes priority over other filters when provided. |
first_name | string | Candidate first name. |
last_name | string | Candidate last name. |
email | string | Candidate email address. |
phone | string | Candidate phone number. |
linkedin_url | string | Candidate LinkedIn URL. |
city | string | Candidate city. |
state | string | Candidate state. |
country | string | Candidate country. |
current_position | string | Candidate current position/title. |
owner_id | integer | Owner user ID. |
owner_name | string | Owner full name. |
owner_email | string | Owner email address. |
created_from | ISO 8601 timestamp | Return candidates created at or after this timestamp. |
created_to | ISO 8601 timestamp | Return candidates created at or before this timestamp. |
updated_from | ISO 8601 timestamp | Return candidates updated at or after this timestamp. |
updated_to | ISO 8601 timestamp | Return candidates updated at or before this timestamp. |
exact_search | boolean string | Use true for exact text matching. Default: partial matching. |
sort_by | string | Allowed values: created_at, updated_at. Default: updated_at. |
sort_order | string | Allowed values: asc, desc. Default: desc. |
maximize | string | Comma-separated response expansions. Use all to expand all supported candidate fields. |
page | integer | Page number. Default: 1. |
limit | integer | Records per page. Default: 25. Requests above 50 are capped at 50. |
Search Behavior
- Include at least one search filter to receive results.
candidate_slugperforms a direct lookup and takes priority over all other filters.- Text filters use partial matching by default. Pass
exact_search=truefor exact text matching. - Date range filters are inclusive. For each date range, the
*_tovalue must be greater than or equal to the matching*_fromvalue. - Results are sorted by
updated_atin descending order unless sorting parameters are provided.
Supported maximize values
owner, currency, created_by, updated_by, qualification, industry, all
Request Examples
Search by name
GET /v1/candidate/search?first_name=Anjali&last_name=Kotwani
Exact email search
GET /v1/candidate/search?email=anjali@example.com&exact_search=true
Search by current position
GET /v1/candidate/search?current_position=Software%20Engineer
Search by updated date
GET /v1/candidate/search?updated_from=2026-06-20T21:19:00Z&updated_to=2026-07-08T17:47:00Z
Search by owner
GET /v1/candidate/search?owner_email=owner@example.com&maximize=owner
Direct slug lookup
GET /v1/candidate/search?candidate_slug=candidate_0d25558c1a77fc2d7d98
Response
200
{
"total": 1,
"per_page": 25,
"current_page": 1,
"last_page": 1,
"next_page_url": null,
"prev_page_url": null,
"from": 1,
"to": 1,
"data": [
{
"id": 48,
"first_name": "Anjali",
"last_name": "Kotwani",
"slug": "candidate_0d25558c1a77fc2d7d98",
"full_name": "Anjali Kotwani",
"email": "anjali@example.com",
"phone": "+14155550100",
"current_position": "Software Engineer",
"city": "San Francisco",
"state": "California",
"country": "United States",
"created_at": "2026-06-21T02:49:00.000Z",
"updated_at": "2026-07-08T17:47:00.000Z"
}
]
}
400
[
{
"field_name": "updated_to",
"error_message": "updated_to must be greater than or equal to updated_from"
}
]