Skip to main content

Welcome to the Job Change Signals API

The Job Change Signals API provides timely insights on job changes across the web. Track role transitions and new hires with precise filters for positions, departments, and seniority levels, plus company and person-level LinkedIn targeting.

Job Change Signals Endpoint

View the complete OpenAPI specification

Count Mode

You can get the total number of results matching any filter combination without consuming credits by adding count=true to your request. This returns an empty data array with full pagination metadata, including totalCount.
curl -X GET "https://www.trysignalbase.com/api/v2/signals/job-changes?count=true&positions=CEO,CTO&date_preset=last_30d" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response:
{
  "success": true,
  "data": [],
  "pagination": {
    "currentPage": 1,
    "totalPages": 5,
    "totalCount": 93,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "meta": {
    "endpoint": "signals.job-changes",
    "creditsUsed": 0
  }
}
Use count mode to preview how many results match your filters before fetching actual data. This is useful for building filter UIs, showing result counts, or validating queries — all at zero credit cost.

Key Features

  • Real-time Signals: Job change signals aggregated continuously from web sources
  • Role-aware Filters: Filter by positions, departments, and seniority levels
  • LinkedIn Targeting: Exact-match filters on person and company LinkedIn URLs
  • Field-specific Search: Search by person name, company name, new role, or keyword
  • Flexible Sorting: Sort by date, person name, or company name
  • Pagination Support: Efficiently retrieve large datasets with up to 100 results per page
  • Credit-based Usage: Transparent credit consumption per API call

Service Level

  • Rate Limit: Based on your subscription tier
  • Uptime: 99% guaranteed uptime
  • Data Freshness: Real-time aggregation ensures up-to-date signals
  • Maximum Results: Up to 100 results per page

Authentication

All API endpoints require a Bearer token in the Authorization header.
curl -X GET "https://www.trysignalbase.com/api/v2/signals/job-changes?page=1&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Query Parameters

Pagination

ParameterTypeDefaultDescription
pageinteger1Page number
limitinteger20Results per page (max: 100)

Date Filters

ParameterTypeDescription
dateFromstringFilter by date from (ISO-8601 string)
dateTostringFilter by date to (ISO-8601 string)
date_presetstringRelative date shorthand — takes precedence over dateFrom/dateTo. See Date Presets
ParameterTypeDescription
searchstringFree-text search across company name, industry, person name, and role

Exact Match Filters

ParameterTypeDescription
personLinkedinUrlstringExact LinkedIn URL for a person
companyLinkedinUrlstringExact LinkedIn URL for a company
sourcestringExact match on source: linkedin, press_release, other

Field-specific Search (partial match)

ParameterTypeDescription
person_namestringSearch by person name
company_namestringSearch by company name
new_rolestringSearch by new role / job title
keywordstringSearch by keyword tag

Role Category Filters

ParameterTypeDescription
positionsstringComma-separated position IDs (e.g., CEO,CTO,CFO). See Positions
departmentsstringComma-separated department IDs (e.g., marketing,engineering). See Departments
senioritiesstringComma-separated seniority IDs (e.g., c_level,vp,director). See Seniorities

Sorting

ParameterTypeDefaultDescription
sort_bystringoccurred_atSort field: occurred_at, discovered_at, person_name, company_name
sort_orderstringdescSort direction: asc or desc

Enum Values

Positions
"ceo", "cto", "cfo", "coo", "vp of engineering", "vp of sales", "vp of marketing",
"head of product", "head of growth", "head of engineering", "engineering manager",
"product manager", "sales manager", "marketing manager", "founder", "co-founder"
Departments
"marketing", "sales", "engineering", "product", "design", "operations", "finance", "people",
"data", "customer_success", "growth", "legal"
Seniorities
"founder", "c_level", "vp", "director", "head", "lead", "manager"

Response Structure

All successful responses follow this structure:
{
  "success": true,
  "data": [...],
  "pagination": {
    "currentPage": 1,
    "totalPages": 10,
    "totalCount": 200,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "meta": {
    "endpoint": "signals.job-changes",
    "creditsUsed": 1
  }
}

Error Handling

The API returns standard HTTP status codes:
  • 200: Success
  • 401: Unauthorized - Invalid or missing API key
  • 429: Rate limit exceeded
  • 500: Internal server error
Error responses include:
{
  "success": false,
  "error": "Error message description"
}

Example Usage

Filter by Position and Date Preset

curl -X GET "https://www.trysignalbase.com/api/v2/signals/job-changes?date_preset=last_30d&positions=CEO,CTO" \
  -H "Authorization: Bearer YOUR_API_KEY"

Filter by Company and Seniority

curl -X GET "https://www.trysignalbase.com/api/v2/signals/job-changes?company_name=Google&seniorities=c_level" \
  -H "Authorization: Bearer YOUR_API_KEY"

Search by New Role with Sorting

curl -X GET "https://www.trysignalbase.com/api/v2/signals/job-changes?new_role=VP%20Engineering&sort_by=occurred_at&sort_order=desc" \
  -H "Authorization: Bearer YOUR_API_KEY"

Target by LinkedIn URLs

curl -X GET "https://www.trysignalbase.com/api/v2/signals/job-changes?personLinkedinUrl=https://www.linkedin.com/in/example&companyLinkedinUrl=https://www.linkedin.com/company/example" \
  -H "Authorization: Bearer YOUR_API_KEY"