The Swarm’s Daily Job Change data is a continuous, time-stamped feed of professional movements — new employment, promotions, and departures — embedded directly in the Profile dataset.
What’s in the dataset
- Coverage — over 100M profiles monitored weekly; ~2–3M job and role changes detected each month.
- Freshness — target accuracy within 14 days of an event; 90% of the database updated within 7 days of a detected change.
- On-demand refresh — for high-priority targets, schedule refreshes via the Refresh Profile endpoint.
Access methods
| Method | Use it when |
|---|
| API (queryable) | You want to pull fresh job changes daily, filtered to your ICP. Query via Search Profiles + Fetch Profile. |
| Flat file | You want the full daily stream as a file drop. See Flat File. |
Key timestamp fields
All timestamps are queryable through the Search endpoint.
| Field | Purpose |
|---|
current_job_updated_at | The main job-change filter. Updated whenever the primary experience changes (company, title, end date). |
latest_role_change_at | Start date of the most recent job title change, including same-company promotions. |
latest_company_change_at | Start date of the most recent company change. |
job_start_date | Start date of the latest employment — the greater of latest_company_change_at and latest_role_change_at. |
updated_at | Any field on the profile changed. Too noisy for job-change filtering on its own. |
last_refresh_at | Last time the profile was re-checked. |
Use current_job_updated_at as your primary filter. Use latest_role_change_at vs latest_company_change_at to distinguish promotions from company moves.
Quick example — job changes in the last 24 hours
{
"query": {
"range": {
"profile_info.current_job_updated_at": {
"gte": "now-1d/d",
"lt": "now/d"
}
}
},
"limit": 1000
}
For more query patterns (promotions only, into a target company, in-network only, etc.), see Job changes examples.