Job Changes API
curl --request POST \
--url https://api.cufinder.io/v3/signals/job-changes \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"start_date": "<string>",
"end_date": "<string>",
"type": "<string>"
}
'import requests
url = "https://api.cufinder.io/v3/signals/job-changes"
payload = {
"start_date": "<string>",
"end_date": "<string>",
"type": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({start_date: '<string>', end_date: '<string>', type: '<string>'})
};
fetch('https://api.cufinder.io/v3/signals/job-changes', 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://api.cufinder.io/v3/signals/job-changes",
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([
'start_date' => '<string>',
'end_date' => '<string>',
'type' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://api.cufinder.io/v3/signals/job-changes"
payload := strings.NewReader("{\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"type\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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://api.cufinder.io/v3/signals/job-changes")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"type\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cufinder.io/v3/signals/job-changes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"type\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodySignals APIs
Job Changes API
The Job Changes API returns people who changed roles within a date range, new jobs, promotions, lateral title moves, and first jobs. Each record includes the person’s LinkedIn URL and their from/to company and title.
POST
/
v3
/
signals
/
job-changes
Job Changes API
curl --request POST \
--url https://api.cufinder.io/v3/signals/job-changes \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"start_date": "<string>",
"end_date": "<string>",
"type": "<string>"
}
'import requests
url = "https://api.cufinder.io/v3/signals/job-changes"
payload = {
"start_date": "<string>",
"end_date": "<string>",
"type": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({start_date: '<string>', end_date: '<string>', type: '<string>'})
};
fetch('https://api.cufinder.io/v3/signals/job-changes', 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://api.cufinder.io/v3/signals/job-changes",
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([
'start_date' => '<string>',
'end_date' => '<string>',
'type' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://api.cufinder.io/v3/signals/job-changes"
payload := strings.NewReader("{\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"type\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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://api.cufinder.io/v3/signals/job-changes")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"type\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cufinder.io/v3/signals/job-changes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"type\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyCommon Use Cases
Track when people change roles, new jobs, promotions, and title moves, across any date range.- Champion Tracking: Following contacts who move to new companies.
- New-Buyer Alerts: Reaching decision-makers who just started a role.
- Recruiting: Spotting promotions and moves for sourcing.
- Relationship Mapping: Watching talent flow between companies.
Attributes
string
default:"2026-05-23"
required
Start of the date range, formatted
YYYY-MM-DD.string
default:"2026-08-23"
required
End of the date range, formatted
YYYY-MM-DD.string
required
The kind of job change to return. Allowed values:
| Type | Meaning |
|---|---|
company_change | Person moved from company A to company B. |
promotion | Same company, seniority or title jumped up. |
lateral_title_change | Same company, title changed but no seniority jump. |
no_company_to_company | Person had no company and now has one. |
integer
Page number for paginated results.
Response
{
"success": true,
"data": {
"job_changes": [
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/eileensoheekim",
"detected_at": "2026-10-05T23:59:55.369Z",
"from": {
"company_linkedin_url": "linkedin.com/company/jennybird",
"company_linkedin_id": "16268598",
"company_name": "jenny bird",
"title": "ecommerce director"
},
"to": {
"company_linkedin_url": "linkedin.com/company/jennybird",
"company_linkedin_id": "16268598",
"company_name": "jenny bird",
"title": "head of ecommerce & amazon marketplace"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/max-danielsson-05854822b",
"detected_at": "2026-10-05T23:59:42.806Z",
"from": {
"company_linkedin_url": "linkedin.com/company/pwc-sweden",
"company_linkedin_id": "3268473",
"company_name": "pwc sverige",
"title": "associate | financial services risk & regulation"
},
"to": {
"company_linkedin_url": "linkedin.com/company/pwc-sweden",
"company_linkedin_id": "3268473",
"company_name": "pwc sverige",
"title": "senior associate | financial services risk & regulation på pwc sverige"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/shpizar",
"detected_at": "2026-10-05T23:59:34.554Z",
"from": {
"company_linkedin_url": "linkedin.com/company/codelco",
"company_linkedin_id": "16300",
"company_name": "codelco – corporación nacional del cobre de chile",
"title": "production planning superintendent"
},
"to": {
"company_linkedin_url": "linkedin.com/company/codelco",
"company_linkedin_id": "16300",
"company_name": "codelco – corporación nacional del cobre de chile",
"title": "senior executive in large-scale mining | strategy, planning & production management | technology & innovation"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/samuel-phillips-083a8a211",
"detected_at": "2026-10-05T23:59:31.362Z",
"from": {
"company_linkedin_url": "linkedin.com/company/kpmg-uk",
"company_linkedin_id": "1080",
"company_name": "kpmg uk",
"title": "clr audit associate"
},
"to": {
"company_linkedin_url": "linkedin.com/company/kpmg-uk",
"company_linkedin_id": "1080",
"company_name": "kpmg uk",
"title": "senior clr audit associate | kpmg uk"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/leslie-discher-55219b183",
"detected_at": "2026-10-05T23:59:24.704Z",
"from": {
"company_linkedin_url": "linkedin.com/company/studio-iii-marketing",
"company_linkedin_id": "2420013",
"company_name": "studio 3 marketing",
"title": "hiring manager | studio 3 marketing"
},
"to": {
"company_linkedin_url": "linkedin.com/company/studio-iii-marketing",
"company_linkedin_id": "2420013",
"company_name": "studio 3 marketing",
"title": "culture director"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/maría-agostina-camera-pedraza-13187ba1",
"detected_at": "2026-10-05T23:59:17.556Z",
"from": {
"company_linkedin_url": "linkedin.com/company/ittidigital",
"company_linkedin_id": "2770316",
"company_name": "itti",
"title": "senior product manager | loyalty & engagement | innovación en fintech | liderazgo de squads multidisciplinarios"
},
"to": {
"company_linkedin_url": "linkedin.com/company/ittidigital",
"company_linkedin_id": "2770316",
"company_name": "itti",
"title": "senior product manager | product lead | fintech, payments & loyalty | product strategy | digital products"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/sebastien-ouellet-2a507722",
"detected_at": "2026-10-05T23:59:10.023Z",
"from": {
"company_linkedin_url": "linkedin.com/company/beenox",
"company_linkedin_id": "30532",
"company_name": "beenox",
"title": "level designer expert"
},
"to": {
"company_linkedin_url": "linkedin.com/company/beenox",
"company_linkedin_id": "30532",
"company_name": "beenox",
"title": "senior expert level designer"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/alon-shaar-35b22a131",
"detected_at": "2026-10-05T23:58:49.676Z",
"from": {
"company_linkedin_url": "linkedin.com/company/thingortwo",
"company_linkedin_id": "11022547",
"company_name": "thing or two",
"title": "performance marketing | publisher manager"
},
"to": {
"company_linkedin_url": "linkedin.com/company/thingortwo",
"company_linkedin_id": "11022547",
"company_name": "thing or two",
"title": "performance marketing | user acquisition team lead"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/sebastianskalany",
"detected_at": "2026-10-05T23:58:49.450Z",
"from": {
"company_linkedin_url": "linkedin.com/company/alightsolutions",
"company_linkedin_id": "21528485",
"company_name": "alight solutions",
"title": "total rewards executive with 25 years of experience leading compensation, benefits, equity, mobility, talent and compensation committee governance for global organizations."
},
"to": {
"company_linkedin_url": "linkedin.com/company/alightsolutions",
"company_linkedin_id": "21528485",
"company_name": "alight solutions",
"title": "total rewards leader with 25+ years of experience in compensation, benefits, equity, mobility, and governance. trusted advisor to senior leaders and boards, driving rewards strategy, transparency, and employee trust."
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/prachetyerr",
"detected_at": "2026-10-05T23:58:44.968Z",
"from": {
"company_linkedin_url": "linkedin.com/company/pyrosynergy",
"company_linkedin_id": "107493458",
"company_name": "pyrosynergy",
"title": "gtm engineer | founder"
},
"to": {
"company_linkedin_url": "linkedin.com/company/pyrosynergy",
"company_linkedin_id": "107493458",
"company_name": "pyrosynergy",
"title": "founder & gtm lead"
}
}
]
},
"meta": {
"confidence": 93,
"query": {
"start_date": "2026-07-06",
"end_date": "2026-10-06",
"type": "promotion",
"page": 1
},
"credits": {
"charged": 1,
"remaining": 9073
},
"pagination": {
"page": 1,
"has_more": true
}
}
}
Related APIs
People Signals
People at companies that triggered a signal.
Person Enrichment
Enrich a person with full contact data.
Person Search
Search 1B+ profiles with combined filters.
LinkedIn Profile Enrichment
Enrich a person from their LinkedIn profile.

