Search candidates
Candidates matching keywords in name, occupation, company, resume, work history and attachments.
MCP tool bullhorn_read → search_candidates
Searches the way the candidate list keyword search does: Candidate Name, Occupation, Current Company, Resume, Work History and File Attachments. Custom fields are not searched. Several keywords combine with and by default; match any uses or, and exclude_keywords removes candidates that contain them. Returns one page of candidates; pass next_cursor back as cursor for more. Use candidate_id in get_candidate and add_note.
Parameters
| Name | Type | Description |
|---|---|---|
| keywords string[] required | string[] | Words or phrases to look for. |
| match enum | enum | all (And, default) or any (Or). |
| exclude_keywords string[] | string[] | Candidates containing any of these are left out. |
| limit integer | integer | Candidates per page. |
| cursor string | string | Next page cursor from the previous call. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bullhorn_read",
"arguments": {
"operation": "search_candidates",
"arguments": {
"keywords": [
"keywords"
]
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"total": 31,
"candidates": [
{
"candidate_id": 4821907,
"name": "Priya Raman",
"occupation": "Data Analyst",
"company": "Brightpath Retail",
"status": "Active",
"submission_count": 4
},
{
"candidate_id": 4830112,
"name": "Marcus Lee",
"occupation": "BI Lead",
"company": "Harbor Logistics",
"status": "Active",
"submission_count": 1
}
],
"next_cursor": null
},
"isError": false
}