Skip to main content

Welcome to the V2 Job Change Signals API

The V2 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

Key Features

  • Real-time job change signals
  • Role-aware filters (positions, departments, seniorities)
  • Search plus pagination
  • Clear, credit-based usage

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.

Query Parameters

  • page: Page number (default: 1)
  • limit: Results per page (default: 20, max: 100)
  • search: Search by company or person keywords
  • positions: Comma-separated positions (see enums)
  • departments: Comma-separated departments (see enums)
  • seniorities: Comma-separated seniority levels (see enums)

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 Department

curl -X GET "https://www.trysignalbase.com/api/v2/signals/job-changes?positions=cto,head%20of%20product&departments=engineering,product&search=fintech" \
  -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"