Skip to main content
GET
/
candidates
Get candidates with cursor-based pagination
curl --request GET \
  --url https://api.gospott.com/candidates \
  --header 'x-api-key: <api-key>'
{
  "items": [
    {
      "id": "<string>",
      "name": {
        "viewType": "candidateName",
        "avatarUrl": "<string>",
        "firstName": "<string>",
        "lastName": "<string>"
      },
      "gender": {
        "viewType": "candidateGender",
        "gender": "male"
      },
      "nationality": {
        "viewType": "candidateNationality",
        "nationality": [
          "Afghan"
        ]
      },
      "status": {
        "viewType": "candidateStatus",
        "status": [
          "actively_looking"
        ]
      },
      "emails": {
        "viewType": "candidateEmails",
        "emails": [
          {
            "purpose": "personal",
            "email": "jsmith@example.com",
            "isPrimary": true
          }
        ]
      },
      "phoneNumbers": {
        "viewType": "candidatePhoneNumbers",
        "phoneNumbers": [
          {
            "purpose": "personal",
            "phoneNumber": "<string>",
            "isPrimary": true
          }
        ]
      },
      "locations": {
        "viewType": "candidateLocation",
        "locations": [
          {
            "type": "primary_home",
            "street1": "<string>",
            "street2": "<string>",
            "postalCode": "<string>",
            "city": "<string>",
            "region": "<string>",
            "state": "<string>",
            "country": "<string>",
            "rawCityCountry": "<string>",
            "latitude": 123,
            "longitude": 123,
            "formattedAddress": "<string>"
          }
        ]
      },
      "dateOfBirth": {
        "viewType": "candidateDateOfBirth",
        "dateOfBirth": "2023-11-07T05:31:56Z"
      },
      "socialMedia": {
        "viewType": "candidateSocialMedia",
        "socialMedia": [
          {
            "url": "<string>",
            "type": "LINKEDIN",
            "isPrimary": true
          }
        ]
      },
      "lastInteractionDate": {
        "viewType": "candidateLastInteractionDate",
        "lastInteractionDate": "2023-11-07T05:31:56Z"
      },
      "lastInteractionWith": {
        "viewType": "candidateLastInteractionWith",
        "user": {
          "userId": "<string>",
          "name": "<string>",
          "email": "<string>",
          "avatarUrl": "<string>",
          "deactivatedAt": "2023-11-07T05:31:56Z"
        }
      },
      "nextInteractionDate": {
        "viewType": "candidateNextInteractionDate",
        "nextInteractionDate": "2023-11-07T05:31:56Z"
      },
      "nextInteractionWith": {
        "viewType": "candidateNextInteractionWith",
        "user": {
          "userId": "<string>",
          "name": "<string>",
          "email": "<string>",
          "avatarUrl": "<string>",
          "deactivatedAt": "2023-11-07T05:31:56Z"
        }
      },
      "mainContact": {
        "viewType": "candidateMainContact",
        "user": {
          "userId": "<string>",
          "name": "<string>",
          "email": "<string>",
          "avatarUrl": "<string>",
          "deactivatedAt": "2023-11-07T05:31:56Z"
        }
      },
      "languages": {
        "viewType": "candidateLanguages",
        "languages": [
          {
            "id": "clxkq1qyr0000t7t6h1g1g1g1",
            "language": "English",
            "fluency": "Native or bilingual proficiency"
          }
        ]
      },
      "compensation": {
        "viewType": "candidateCompensation",
        "compensation": {
          "id": "<string>",
          "currency": "USD",
          "totalCompensation": 100000,
          "baseCompensation": 80000
        }
      },
      "currentPlacements": {
        "viewType": "candidateCurrentPlacements",
        "hasCurrentPlacement": true,
        "placements": [
          {
            "id": "<string>",
            "company": {
              "id": "<string>",
              "name": "<string>",
              "logoUrl": "<string>"
            },
            "startDate": "2023-11-07T05:31:56Z",
            "endDate": "2023-11-07T05:31:56Z"
          }
        ]
      },
      "nextTaskDue": {
        "viewType": "candidateNextTaskDue",
        "nextTaskDue": {
          "id": "<string>",
          "content": "<string>",
          "dueDate": "2023-11-07T05:31:56Z"
        }
      },
      "createdAt": "2023-11-07T05:31:56Z",
      "modifiedAt": "2023-11-07T05:31:56Z",
      "lastActivityDate": "2023-11-07T05:31:56Z",
      "acquisitionSource": {
        "viewType": "candidateAcquisitionSource",
        "acquisitionSource": "manual"
      },
      "lastLinkedinDiffAt": "2023-11-07T05:31:56Z",
      "isDiffingLinkedin": true,
      "customAttributes": [
        {
          "value": "<any>",
          "attributeDefinitionId": "<string>",
          "label": "<string>",
          "description": "<string>",
          "filledByAI": true,
          "options": [
            "<string>"
          ]
        }
      ],
      "aiSummary": "<string>"
    }
  ],
  "pageInfo": {
    "nextCursor": "<string>",
    "hasNextPage": true
  }
}

Authorizations

x-api-key
string
header
required

API key for authentication. Get your API key from Settings → API Keys in your Spott dashboard.

Query Parameters

limit
number
default:25

Number of candidates to return per page (min: 1, max: 50, default: 25)

Required range: 1 <= x <= 50
modifiedSince
string<date-time>

Filter candidates modified on or after this date. Useful for incremental synchronization. Defaults to beginning of time if not provided.

Example:

"2024-11-01T00:00:00.000Z"

cursor
string

Base64-encoded cursor for pagination. Use the nextCursor value from a previous response to fetch the next page. Omit for the first page.

Example:

"eyJtb2RpZmllZEF0IjoiMjAyNC0xMS0wNlQxMDozMDowMC4wMDBaIiwiaWQiOiJjYW5kaWRhdGUtMTIzIn0="

Response

Candidates retrieved successfully

items
object[]
required
pageInfo
object
required