Search people database
curl --request POST \
--url https://app.leonar.app/api/v1/sourcing/database/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_titles": [
"<string>"
],
"job_titles_current_only": true,
"job_titles_past_only": true,
"companies": [
"<string>"
],
"companies_current_only": true,
"locations": {
"cities": [
"<string>"
],
"states": [
"<string>"
],
"countries": [
"<string>"
]
},
"keywords": [
"<string>"
],
"boolean_query": "<string>",
"schools": [
"<string>"
],
"years_experience": {
"min": 123,
"max": 123
},
"company_size": [
{
"min": 123,
"max": 123
}
],
"first_name": "<string>",
"last_name": "<string>",
"page": 1,
"page_size": 20
}
'import requests
url = "https://app.leonar.app/api/v1/sourcing/database/search"
payload = {
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_titles": ["<string>"],
"job_titles_current_only": True,
"job_titles_past_only": True,
"companies": ["<string>"],
"companies_current_only": True,
"locations": {
"cities": ["<string>"],
"states": ["<string>"],
"countries": ["<string>"]
},
"keywords": ["<string>"],
"boolean_query": "<string>",
"schools": ["<string>"],
"years_experience": {
"min": 123,
"max": 123
},
"company_size": [
{
"min": 123,
"max": 123
}
],
"first_name": "<string>",
"last_name": "<string>",
"page": 1,
"page_size": 20
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
project_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
job_titles: ['<string>'],
job_titles_current_only: true,
job_titles_past_only: true,
companies: ['<string>'],
companies_current_only: true,
locations: {cities: ['<string>'], states: ['<string>'], countries: ['<string>']},
keywords: ['<string>'],
boolean_query: '<string>',
schools: ['<string>'],
years_experience: {min: 123, max: 123},
company_size: [{min: 123, max: 123}],
first_name: '<string>',
last_name: '<string>',
page: 1,
page_size: 20
})
};
fetch('https://app.leonar.app/api/v1/sourcing/database/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.leonar.app/api/v1/sourcing/database/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'project_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'job_titles' => [
'<string>'
],
'job_titles_current_only' => true,
'job_titles_past_only' => true,
'companies' => [
'<string>'
],
'companies_current_only' => true,
'locations' => [
'cities' => [
'<string>'
],
'states' => [
'<string>'
],
'countries' => [
'<string>'
]
],
'keywords' => [
'<string>'
],
'boolean_query' => '<string>',
'schools' => [
'<string>'
],
'years_experience' => [
'min' => 123,
'max' => 123
],
'company_size' => [
[
'min' => 123,
'max' => 123
]
],
'first_name' => '<string>',
'last_name' => '<string>',
'page' => 1,
'page_size' => 20
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.leonar.app/api/v1/sourcing/database/search"
payload := strings.NewReader("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"job_titles_current_only\": true,\n \"job_titles_past_only\": true,\n \"companies\": [\n \"<string>\"\n ],\n \"companies_current_only\": true,\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"boolean_query\": \"<string>\",\n \"schools\": [\n \"<string>\"\n ],\n \"years_experience\": {\n \"min\": 123,\n \"max\": 123\n },\n \"company_size\": [\n {\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.leonar.app/api/v1/sourcing/database/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"job_titles_current_only\": true,\n \"job_titles_past_only\": true,\n \"companies\": [\n \"<string>\"\n ],\n \"companies_current_only\": true,\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"boolean_query\": \"<string>\",\n \"schools\": [\n \"<string>\"\n ],\n \"years_experience\": {\n \"min\": 123,\n \"max\": 123\n },\n \"company_size\": [\n {\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.leonar.app/api/v1/sourcing/database/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"job_titles_current_only\": true,\n \"job_titles_past_only\": true,\n \"companies\": [\n \"<string>\"\n ],\n \"companies_current_only\": true,\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"boolean_query\": \"<string>\",\n \"schools\": [\n \"<string>\"\n ],\n \"years_experience\": {\n \"min\": 123,\n \"max\": 123\n },\n \"company_size\": [\n {\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\n}"
response = http.request(request)
puts response.read_body{
"data": {
"profiles": [
{
"profile_id": "ACwAABrjaVMBOLcCrV5aEw1zCAjE_zec6PbnU1A",
"first_name": "Sophie",
"last_name": "Martin",
"headline": "Senior Software Engineer at Doctolib",
"picture_url": "https://media.licdn.com/dms/image/example.jpg",
"location": "Paris, Île-de-France, France",
"linkedin_url": "https://www.linkedin.com/in/sophie-martin",
"summary": "Experienced engineer with 8 years in full-stack development...",
"current_job": {
"title": "Senior Software Engineer",
"company_name": "Doctolib"
},
"experiences": [
{
"title": "Senior Software Engineer",
"company_name": "Doctolib",
"start_date": "2021-03-01",
"end_date": null,
"description": "Leading backend team, Python/Django stack...",
"is_current": true
},
{
"title": "Software Engineer",
"company_name": "Criteo",
"start_date": "2018-01-01",
"end_date": "2021-02-28",
"description": "Built real-time bidding systems in Python...",
"is_current": false
}
],
"educations": [
{
"educational_establishment": "École Polytechnique",
"diploma": "Master of Engineering",
"specialization": "Computer Science",
"start_date": "2014-09-01",
"end_date": "2018-06-30"
}
],
"skills": [
"Python",
"Django",
"TypeScript",
"PostgreSQL"
],
"total_years_experience": 8.2,
"already_in_project": false,
"existing_contact_id": null
}
],
"total_count": 123,
"filtered_count": 123,
"next_page": 123,
"cursor": "<string>",
"filters_too_strict": true,
"has_more": true
}
}{
"error": {
"code": "validation_error",
"message": "Invalid input"
}
}{
"error": {
"code": "invalid_api_key",
"message": "Invalid API key"
}
}Sourcing
Search people database
Search Leonar’s external people database with flat filters.
POST
/
sourcing
/
database
/
search
Search people database
curl --request POST \
--url https://app.leonar.app/api/v1/sourcing/database/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_titles": [
"<string>"
],
"job_titles_current_only": true,
"job_titles_past_only": true,
"companies": [
"<string>"
],
"companies_current_only": true,
"locations": {
"cities": [
"<string>"
],
"states": [
"<string>"
],
"countries": [
"<string>"
]
},
"keywords": [
"<string>"
],
"boolean_query": "<string>",
"schools": [
"<string>"
],
"years_experience": {
"min": 123,
"max": 123
},
"company_size": [
{
"min": 123,
"max": 123
}
],
"first_name": "<string>",
"last_name": "<string>",
"page": 1,
"page_size": 20
}
'import requests
url = "https://app.leonar.app/api/v1/sourcing/database/search"
payload = {
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_titles": ["<string>"],
"job_titles_current_only": True,
"job_titles_past_only": True,
"companies": ["<string>"],
"companies_current_only": True,
"locations": {
"cities": ["<string>"],
"states": ["<string>"],
"countries": ["<string>"]
},
"keywords": ["<string>"],
"boolean_query": "<string>",
"schools": ["<string>"],
"years_experience": {
"min": 123,
"max": 123
},
"company_size": [
{
"min": 123,
"max": 123
}
],
"first_name": "<string>",
"last_name": "<string>",
"page": 1,
"page_size": 20
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
project_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
job_titles: ['<string>'],
job_titles_current_only: true,
job_titles_past_only: true,
companies: ['<string>'],
companies_current_only: true,
locations: {cities: ['<string>'], states: ['<string>'], countries: ['<string>']},
keywords: ['<string>'],
boolean_query: '<string>',
schools: ['<string>'],
years_experience: {min: 123, max: 123},
company_size: [{min: 123, max: 123}],
first_name: '<string>',
last_name: '<string>',
page: 1,
page_size: 20
})
};
fetch('https://app.leonar.app/api/v1/sourcing/database/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.leonar.app/api/v1/sourcing/database/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'project_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'job_titles' => [
'<string>'
],
'job_titles_current_only' => true,
'job_titles_past_only' => true,
'companies' => [
'<string>'
],
'companies_current_only' => true,
'locations' => [
'cities' => [
'<string>'
],
'states' => [
'<string>'
],
'countries' => [
'<string>'
]
],
'keywords' => [
'<string>'
],
'boolean_query' => '<string>',
'schools' => [
'<string>'
],
'years_experience' => [
'min' => 123,
'max' => 123
],
'company_size' => [
[
'min' => 123,
'max' => 123
]
],
'first_name' => '<string>',
'last_name' => '<string>',
'page' => 1,
'page_size' => 20
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.leonar.app/api/v1/sourcing/database/search"
payload := strings.NewReader("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"job_titles_current_only\": true,\n \"job_titles_past_only\": true,\n \"companies\": [\n \"<string>\"\n ],\n \"companies_current_only\": true,\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"boolean_query\": \"<string>\",\n \"schools\": [\n \"<string>\"\n ],\n \"years_experience\": {\n \"min\": 123,\n \"max\": 123\n },\n \"company_size\": [\n {\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.leonar.app/api/v1/sourcing/database/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"job_titles_current_only\": true,\n \"job_titles_past_only\": true,\n \"companies\": [\n \"<string>\"\n ],\n \"companies_current_only\": true,\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"boolean_query\": \"<string>\",\n \"schools\": [\n \"<string>\"\n ],\n \"years_experience\": {\n \"min\": 123,\n \"max\": 123\n },\n \"company_size\": [\n {\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.leonar.app/api/v1/sourcing/database/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"job_titles\": [\n \"<string>\"\n ],\n \"job_titles_current_only\": true,\n \"job_titles_past_only\": true,\n \"companies\": [\n \"<string>\"\n ],\n \"companies_current_only\": true,\n \"locations\": {\n \"cities\": [\n \"<string>\"\n ],\n \"states\": [\n \"<string>\"\n ],\n \"countries\": [\n \"<string>\"\n ]\n },\n \"keywords\": [\n \"<string>\"\n ],\n \"boolean_query\": \"<string>\",\n \"schools\": [\n \"<string>\"\n ],\n \"years_experience\": {\n \"min\": 123,\n \"max\": 123\n },\n \"company_size\": [\n {\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"page\": 1,\n \"page_size\": 20\n}"
response = http.request(request)
puts response.read_body{
"data": {
"profiles": [
{
"profile_id": "ACwAABrjaVMBOLcCrV5aEw1zCAjE_zec6PbnU1A",
"first_name": "Sophie",
"last_name": "Martin",
"headline": "Senior Software Engineer at Doctolib",
"picture_url": "https://media.licdn.com/dms/image/example.jpg",
"location": "Paris, Île-de-France, France",
"linkedin_url": "https://www.linkedin.com/in/sophie-martin",
"summary": "Experienced engineer with 8 years in full-stack development...",
"current_job": {
"title": "Senior Software Engineer",
"company_name": "Doctolib"
},
"experiences": [
{
"title": "Senior Software Engineer",
"company_name": "Doctolib",
"start_date": "2021-03-01",
"end_date": null,
"description": "Leading backend team, Python/Django stack...",
"is_current": true
},
{
"title": "Software Engineer",
"company_name": "Criteo",
"start_date": "2018-01-01",
"end_date": "2021-02-28",
"description": "Built real-time bidding systems in Python...",
"is_current": false
}
],
"educations": [
{
"educational_establishment": "École Polytechnique",
"diploma": "Master of Engineering",
"specialization": "Computer Science",
"start_date": "2014-09-01",
"end_date": "2018-06-30"
}
],
"skills": [
"Python",
"Django",
"TypeScript",
"PostgreSQL"
],
"total_years_experience": 8.2,
"already_in_project": false,
"existing_contact_id": null
}
],
"total_count": 123,
"filtered_count": 123,
"next_page": 123,
"cursor": "<string>",
"filters_too_strict": true,
"has_more": true
}
}{
"error": {
"code": "validation_error",
"message": "Invalid input"
}
}{
"error": {
"code": "invalid_api_key",
"message": "Invalid API key"
}
}Authorizations
API key starting with leo_
Body
application/json
Show child attributes
Show child attributes
Boolean search query using AND, OR, NOT operators and quoted phrases. Example: (React OR Vue) AND "Frontend Developer". See the Boolean search guide for full syntax.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Required range:
x >= 1Required range:
1 <= x <= 25Response
Search results
Show child attributes
Show child attributes
⌘I