Skip to main content

List Team Members

NL EN

Updated June 15, 2026

GET /api/v1/team
curl -X GET \
  "https://app.recruitsome.com/api/v1/team" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://app.recruitsome.com/api/v1/team', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Accept': 'application/json',
  },
});

const data = await response.json();
console.log(data);
use Illuminate\Support\Facades\Http;

$response = Http::withToken('YOUR_API_KEY')
    ->acceptJson()
    ->get('https://app.recruitsome.com/api/v1/team');

$data = $response->json();

Retrieve a paginated list of employed team members — ideal for the "meet the team" or "your recruiters" section on your website.

Authentication

Requires an API key with the team:read scope (included in the Career website and Chrome plugin presets). A key without this scope receives a 403 response.

Default filtering

This endpoint only returns currently employed internal team members. Former employees and external portal users (self-service employees and approvers) are automatically excluded.

Query parameters

ParameterTypeDefaultDescription
pageinteger1Page number for pagination
per_pageinteger20Items per page (max: 100)
searchstring-Search in name, email, and job title
job_titlestring-Filter by job title (partial match)
rolestring-Filter by role name (e.g. administrator, hr_manager, recruiter)
has_avatarbooleanfalseOnly return members with an uploaded avatar
sortstringgiven_nameSort field: given_name, family_name, job_title
sort_directionstringascSort direction: asc or desc
include_phonebooleanfalseInclude phone number
include_rolebooleanfalseInclude role label

Response fields

FieldTypeDescription
idintegerTeam member ID — use this for GET /team/{id}
given_namestringFirst name
family_namestringLast name
full_namestringFull name
job_titlestring|nullJob title
emailstringEmail address
phonestring|nullPhone number in E.164 format (null when none is set). Key is absent unless include_phone=true — it is not included as null when the flag is off.
avatarobjectAvatar image URLs in multiple sizes
rolestring|nullRole label (null when the member has no role). Key is absent unless include_role=true.

Avatar object

Avatar images are provided in three sizes. Each size is null if no avatar has been uploaded.

JSON
{
  "small": "https://app.recruitsome.com/media/avatars/8/small.jpg",
  "medium": "https://app.recruitsome.com/media/avatars/8/medium.jpg",
  "large": "https://app.recruitsome.com/media/avatars/8/large.jpg"
}
SizeDimensionsUse case
small128x128Lists, cards
medium256x256Profile sections, headers
large512x512Full profile displays

Example

cURL
curl -X GET "https://app.recruitsome.com/api/v1/team?has_avatar=true&include_role=true&sort=family_name" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Response 200

JSON
{
  "data": [
    {
      "id": 8,
      "given_name": "Femke",
      "family_name": "Bakker",
      "full_name": "Femke Bakker",
      "job_title": "HR Manager",
      "email": "[email protected]",
      "avatar": {
        "small": "https://app.recruitsome.com/media/avatars/8/small.jpg",
        "medium": "https://app.recruitsome.com/media/avatars/8/medium.jpg",
        "large": "https://app.recruitsome.com/media/avatars/8/large.jpg"
      },
      "role": "HR Manager"
    }
  ],
  "links": {
    "first": "https://app.recruitsome.com/api/v1/team?page=1",
    "last": "https://app.recruitsome.com/api/v1/team?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "per_page": 20,
    "to": 1,
    "total": 1
  }
}

Error responses

StatusWhenFix
401Missing or invalid API keySend a valid key as Authorization: Bearer YOUR_API_KEY
403API key lacks the team:read scopeAdd the scope to your key or regenerate it with a preset that includes it
422Invalid query parameter (e.g. an unknown sort field)Correct the parameter per the table above

Security

This endpoint is designed to safely expose team member data for public display. The response contains only the fields documented above — passwords, authentication tokens, account lockout data, login history, timezone/locale preferences, and employment status are never included. The id field is the team member's user ID in Recruitsome; it's exposed deliberately so you can call the detail endpoint.