Jobiflow LogoAPI Docs
ApiCandidates

Search candidates

Full-text and geo-filtered search across Jobiflow candidate profiles that have opted in to recruiter visibility. Requires scope: `candidates:read`

GET
/public/v1/candidates

Full-text and geo-filtered search across Jobiflow candidate profiles that have opted in to recruiter visibility.

Requires scope: candidates:read

Authorization

ApiKeyAuth
X-API-Key<token>

API key issued by Jobiflow. Pass it in the X-API-Key request header.

Create keys via the company dashboard (Settings → API Keys) or via POST /settings/api-keys.

In: header

Query Parameters

headline?string

Partial match on the candidate's professional headline.

remotePreference?boolean

Filter to candidates who prefer remote work.

skillName?string

Filter by skill name (partial match, case-insensitive).

langName?string

Filter by language name (partial match, e.g. English, German).

expJobTitle?string

Filter by a job title in the candidate's work history (partial match).

filterLat?number

Latitude of the center point for geo-radius filtering. Must be provided together with filterLng and radiusKm.

Formatdouble
filterLng?number

Longitude of the center point for geo-radius filtering.

Formatdouble
radiusKm?integer

Search radius in kilometres around the geo coordinates.

Formatint32
Range1 <= value
page?integer

Zero-based page index.

Default0
Formatint32
Range0 <= value
size?integer

Number of items per page (max 100).

Default20
Formatint32
Range1 <= value <= 100

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/public/v1/candidates"
{
  "data": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "firstName": "string",
      "lastName": "string",
      "headline": "string",
      "city": "string",
      "country": "string",
      "desiredJobTypes": "string",
      "remotePreference": true
    }
  ],
  "pagination": {
    "page": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}
{
  "status": 401,
  "error": "UNAUTHORIZED",
  "message": "Invalid or missing API key",
  "timestamp": "2026-05-17T12:00:00Z",
  "path": "/public/v1/job-listings"
}
{
  "status": 403,
  "error": "FORBIDDEN",
  "message": "Scope 'jobs:write' is required",
  "timestamp": "2026-05-17T12:00:00Z",
  "path": "/public/v1/job-listings"
}