curl --request GET \
--url https://rest.hotfix.jobs/v1/employer/search \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://rest.hotfix.jobs/v1/employer/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://rest.hotfix.jobs/v1/employer/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"application_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"applicant_name": "Ada Lovelace",
"applicant_email": "ada@example.com",
"job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"job_title": "Staff Engineer",
"status": "considering",
"archived": false,
"matches": [
{
"source": "note",
"snippet": "Strong on Rust and distributed systems. Interviewed well.",
"at": "2026-09-21T15:04:05+00:00",
"ref_id": "0fedcba9-8765-4321-0abc-def012345678"
},
{
"source": "resume",
"snippet": "Rust, Go, Kubernetes",
"at": null,
"ref_id": null
}
],
"total_matches": 2
}
]
}search_applications
Find applications by what was written about or to the candidate: name, email, notes, email (the subject and preview Hotfix stores, not whole message bodies), and resumes already read as fields with get_resume. Archived and rejected applications are included. A term matches whole words and their forms, so interview finds interviewed, and text inside words while you type. Results with a name or email match come first, then by the newest match. Each result keeps up to three matches; total_matches counts them all. A query under two characters returns an empty list. MCP tool: search_hiring.
curl --request GET \
--url https://rest.hotfix.jobs/v1/employer/search \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://rest.hotfix.jobs/v1/employer/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://rest.hotfix.jobs/v1/employer/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"application_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"applicant_name": "Ada Lovelace",
"applicant_email": "ada@example.com",
"job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"job_title": "Staff Engineer",
"status": "considering",
"archived": false,
"matches": [
{
"source": "note",
"snippet": "Strong on Rust and distributed systems. Interviewed well.",
"at": "2026-09-21T15:04:05+00:00",
"ref_id": "0fedcba9-8765-4321-0abc-def012345678"
},
{
"source": "resume",
"snippet": "Rust, Go, Kubernetes",
"at": null,
"ref_id": null
}
],
"total_matches": 2
}
]
}Authorizations
Company API key minted at Settings → API. Prefix hf_. Accepted on hiring data routes. Not accepted on MCP.
Query Parameters
What to look for. Up to 200 characters.
Most applications to return, 1 to 50.
Response
Success
The response is of type object.