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/muhammad-usman-mansab-498196267",
"detected_at": "2026-08-22T23:59:57.989Z",
"from": {
"company_linkedin_url": "linkedin.com/company/red-star-technologies",
"company_linkedin_id": "38159812",
"company_name": "red star technologies",
"title": "search engine optimization specialist"
},
"to": {
"company_linkedin_url": "linkedin.com/company/red-star-technologies",
"company_linkedin_id": "38159812",
"company_name": "red star technologies",
"title": "senior seo specialist | technical seo | local seo | off-page seo | aeo | geo"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/matthew-hensley-b80007226",
"detected_at": "2026-08-22T23:59:57.246Z",
"from": {
"company_linkedin_url": "linkedin.com/company/cticlinical",
"company_linkedin_id": "705469",
"company_name": "cti clinical trial and consulting services",
"title": "third year student"
},
"to": {
"company_linkedin_url": "linkedin.com/company/cticlinical",
"company_linkedin_id": "705469",
"company_name": "cti clinical trial and consulting services",
"title": "senior"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/meghnaashok",
"detected_at": "2026-08-22T23:59:55.047Z",
"from": {
"company_linkedin_url": "linkedin.com/company/metricstream",
"company_linkedin_id": "164954",
"company_name": "metricstream",
"title": "global events & brand experience strategist | 14+ years building brands through experiences"
},
"to": {
"company_linkedin_url": "linkedin.com/company/metricstream",
"company_linkedin_id": "164954",
"company_name": "metricstream",
"title": "senior manager"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/pushpendra-kumar-m",
"detected_at": "2026-08-22T23:59:54.684Z",
"from": {
"company_linkedin_url": "linkedin.com/company/hdfcergo",
"company_linkedin_id": "270704",
"company_name": "hdfc ergo general insurance",
"title": "insurance sales & client retention specialist with 4+ years’ experience | 85%+ renewal conversion | bancassurance, cross-selling & crm expertise | rising star award winner | pursuing mba"
},
"to": {
"company_linkedin_url": "linkedin.com/company/hdfcergo",
"company_linkedin_id": "270704",
"company_name": "hdfc ergo general insurance",
"title": "senior associate skilled in problem solving and customer retention.(mba in marketing management)"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/ajmckinney",
"detected_at": "2026-08-22T23:59:51.823Z",
"from": {
"company_linkedin_url": "linkedin.com/company/evangel-presbyterian-church",
"company_linkedin_id": "9803557",
"company_name": "evangel presbyterian church (pca)",
"title": "pastoral assistant & elder"
},
"to": {
"company_linkedin_url": "linkedin.com/company/evangel-presbyterian-church",
"company_linkedin_id": "9803557",
"company_name": "evangel presbyterian church (pca)",
"title": "director of discipleship & administration"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/mahmoodalim",
"detected_at": "2026-08-22T23:59:42.370Z",
"from": {
"company_linkedin_url": "linkedin.com/company/al--othman-holding-company",
"company_linkedin_id": "673271",
"company_name": "al- othman holding company",
"title": "digital transformation/it planning/it pmo/it governance/business solutions/enterprise architecture/cybersecurity"
},
"to": {
"company_linkedin_url": "linkedin.com/company/al--othman-holding-company",
"company_linkedin_id": "673271",
"company_name": "al- othman holding company",
"title": "it director/cio/cto/idc cio excellency/idc cio50/global cio200"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/jayendra-kasture-1bb5a72ba",
"detected_at": "2026-08-22T23:59:38.479Z",
"from": {
"company_linkedin_url": "linkedin.com/company/vellore-institute-of-technology---chennai-campus",
"company_linkedin_id": "97331650",
"company_name": "vellore institute of technology - chennai campus",
"title": "board-ready legal academic"
},
"to": {
"company_linkedin_url": "linkedin.com/company/vellore-institute-of-technology---chennai-campus",
"company_linkedin_id": "97331650",
"company_name": "vellore institute of technology - chennai campus",
"title": "iica certified independent director | corporate governance | corporate and commercial law | esg and sustainability | legal risk & compliance | board advisor |"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/malik-laouadi-m-a-39b886198",
"detected_at": "2026-08-22T23:59:37.269Z",
"from": {
"company_linkedin_url": "linkedin.com/company/vosker",
"company_linkedin_id": "19025028",
"company_name": "vosker",
"title": "product analyst | product vision and strategy | customer focus & market analysis | business revenue growth"
},
"to": {
"company_linkedin_url": "linkedin.com/company/vosker",
"company_linkedin_id": "19025028",
"company_name": "vosker",
"title": "senior product analyst | product vision and strategy | customer focus & market analysis | business revenue growth"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/carlo-pererano-7975b3117",
"detected_at": "2026-08-22T23:59:29.692Z",
"from": {
"company_linkedin_url": "linkedin.com/company/msc-cruises",
"company_linkedin_id": "1205858",
"company_name": "msc cruises",
"title": "it infrastructure technical project manager"
},
"to": {
"company_linkedin_url": "linkedin.com/company/msc-cruises",
"company_linkedin_id": "1205858",
"company_name": "msc cruises",
"title": "it infrastructure technical lead"
}
},
{
"type": "promotion",
"linkedin_url": "linkedin.com/in/sindhu-raja-627502172",
"detected_at": "2026-08-22T23:59:25.628Z",
"from": {
"company_linkedin_url": "linkedin.com/company/saymoshimoshi",
"company_linkedin_id": "7938955",
"company_name": "moshi moshi - the communication company",
"title": "growth marketing executive | entrepreneur"
},
"to": {
"company_linkedin_url": "linkedin.com/company/saymoshimoshi",
"company_linkedin_id": "7938955",
"company_name": "moshi moshi - the communication company",
"title": "senior performance marketing executive | paid media | meta ads | google ads | e-commerce | campaign optimization | roas & roi optimization | e-commerce | app marketing | lead generation"
}
}
]
},
"meta": {
"confidence": 97,
"query": {
"start_date": "2026-05-23",
"end_date": "2026-08-23",
"type": "promotion",
"page": 1
},
"credits": {
"charged": 1,
"remaining": 9862
},
"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.

