Skip to main content
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

MethodUse it when
API (queryable)You want to pull fresh job changes daily, filtered to your ICP. Query via Search Profiles + Fetch Profile.
Flat fileYou want the full daily stream as a file drop. See Flat File.

Key timestamp fields

All timestamps are queryable through the Search endpoint.
FieldPurpose
current_job_updated_atThe main job-change filter. Updated whenever the primary experience changes (company, title, end date).
latest_role_change_atStart date of the most recent job title change, including same-company promotions.
latest_company_change_atStart date of the most recent company change.
job_start_dateStart date of the latest employment — the greater of latest_company_change_at and latest_role_change_at.
updated_atAny field on the profile changed. Too noisy for job-change filtering on its own.
last_refresh_atLast 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.