Skip to main content
POST
/
sourcing
/
search
Search candidates
curl --request POST \
  --url https://app.leonar.app/api/v1/sourcing/search \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "source_type": "leonar_source",
  "filters": {
    "job_titles": {
      "include": [
        "<string>"
      ],
      "include_current_only": true
    },
    "companies": {
      "include": [
        "<string>"
      ],
      "exclude": [
        "<string>"
      ]
    },
    "locations": {
      "cities": [
        "<string>"
      ],
      "states": [
        "<string>"
      ],
      "countries": [
        "<string>"
      ]
    },
    "linkedin_filters": {
      "location_ids": {}
    },
    "skills": {
      "include": [
        "<string>"
      ],
      "require_all": true
    },
    "years_experience": {
      "min": 123,
      "max": 123
    }
  },
  "page": 2,
  "page_size": 50,
  "account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "linkedin_api_type": "recruiter"
}
'
{
  "data": {
    "profiles": [
      {}
    ],
    "total_count": 123,
    "filtered_count": 123,
    "next_page": 123,
    "has_more": true
  }
}

Authorizations

Authorization
string
header
required

API key starting with leo_

Body

application/json
project_id
string<uuid>
required
source_type
enum<string>
required
Available options:
leonar_source,
contacts,
linkedin
filters
object
required

Search filters vary by source_type:

  • For leonar_source and contacts: use locations with plain-text names.
  • For linkedin: use linkedin_filters.location_ids with IDs from GET /sourcing/locations.
page
integer
required
Required range: x >= 1
page_size
integer
required
Required range: 1 <= x <= 100
account_id
string<uuid>

Required for LinkedIn source

linkedin_api_type
enum<string>
Available options:
recruiter,
sales_navigator

Response

Search results

data
object