Signal Cat

Jobs & Labor Market Data

A high-frequency, forward-looking measure of corporate labor demand.

330+

Companies

9

ATS Platforms

4x daily

Update Frequency

2024

History From

Overview

Job posting snapshots collected every 6 hours directly from employer career pages across 9 ATS platforms: Greenhouse, Lever, Workday, iCIMS, SmartRecruiters, Phenom, SuccessFactors, Jobvite, and custom career sites. Each posting is mapped to a public equity ticker and GICS sector, with full posting-lifecycle tracking (first-seen, last-seen, active/removed, days-active). New employer career pages are discovered monthly via Common Crawl scans, so coverage grows automatically. Provides a leading indicator for Non-Farm Payrolls and sector-level employment trends.

Coverage

330+ ticker-matched public companies with active postings in the trailing 30 days, including 227 of 503 S&P 500 constituents (~45%). Coverage grows automatically as new employer pages are discovered via Common Crawl scans and additional ATS platforms are integrated.

Ticker-matched companies by GICS sector

Technology
70
Financials
47
Healthcare
42
Industrials
39
Consumer Discretionary
31
Communication Services
17
Consumer Staples
15
Utilities
14
Real Estate
12
Materials
9
Energy
8

Data Preview

SELECT company_name, ticker, ats_source, job_title, location, status, first_seen_date FROM signalcat.labor_market.postings WHERE status = 'active' ORDER BY first_seen_date DESC LIMIT 5;
company_nametickerats_sourcejob_titlelocationstatusfirst_seen_date
AdobeADBEphenomPrincipal Product Marketing ManagerSan Francisco, CAactive2026-04-20
DatadogDDOGgreenhouseDirector, Major AccountsRemote (TX)active2026-04-17
DoorDashDASHgreenhouseSenior Associate, CPG Co-MarketingNew York, NYactive2026-04-18
T-MobileTMUSworkdayAssociate Engineer, Telecom BillingFrisco, TXactive2026-04-18
PepsiCoPEPicimsSupply Chain Planning ManagerPurchase, NYactive2026-04-19

5 rows returned

Sample query output from Snowflake. Full data dictionary available on request.

Schema Preview

FieldDescriptionExample
observation_timestampWhen posting was first ingested (UTC)2026-04-20T06:00:00Z
company_nameEmployer name as listed on ATSAdobe
tickerMapped equity tickerADBE
exchangeStock exchangeNASDAQ
sectorGICS sectorTechnology
ats_sourceSource ATS platformphenom
job_titleJob title as listedSenior Data Engineer
posting_dateOriginal posting date from ATS2026-04-18
first_seen_dateFirst observation in pipeline2026-04-19
last_seen_dateMost recent observation2026-04-20
statusPosting status (active / removed)active
locationLocation as listedSan Francisco, CA
is_remoteRemote work detectiontrue
times_observedCollection cycle count12
days_activeDays from first to last observation14
posting_urlDirect link to source postinghttps://...
job_descriptionFull description (HTML stripped)~7,500 chars avg

Simplified preview. Full data dictionary available on request.

Sample Data

Request a sample extract to evaluate schema and data quality.

Pipeline & Enrichment

Every posting is processed through a multi-stage pipeline: ingestion from the ATS API, deduplication, entity mapping to public tickers, lifecycle tracking, and delivery. Additional NLP extractions are available on request.

ATS API
Scrape & Deduplicate
Entity Mapping
Lifecycle Tracking
QA & Testing
Delivery

Posting lifecycle tracking

Every posting is tracked across collection cycles with first-seen, last-seen, times-observed, and days-active fields. Enables ghost-job detection and time-to-fill analysis.

Remote detection

Automated parsing of location fields to identify remote and hybrid positions. Structured geographic normalization on the roadmap.

Automated board discovery

Monthly Common Crawl scans discover and verify new employer career pages. Coverage grows automatically as new boards come online.

NLP extractions (on request)

Additional enrichments, programming languages, tools, packages, education requirements, are extracted from descriptions and available on request. Not included in the default delivery.

Signal & Use Cases

NFP Forecasting

Weekly aggregate posting volume tracks established labor market indices with statistically significant correlation. Coverage expansion strengthens the signal over time.

Build a BLS employment nowcast from week-over-week posting velocity across sectors.

Company-Level Hiring Momentum

Posting levels are statistically distinct across companies — validated with multiple-testing correction. A 37-company same-store cohort shows divergent hiring trajectories, not lockstep behavior.

Track per-ticker posting velocity to anticipate headcount growth or contraction ahead of earnings.

Sector Rotation Signals

Cross-sectional dispersion of posting indices increases over time, confirming that companies and sectors diverge rather than move together — the prerequisite for sector rotation signals.

Compare cyclical vs. defensive sector posting growth to gauge economic cycle positioning.

Macro Nowcasting

Posting removal rates differ significantly across companies, capturing real labor market dynamics beyond headline posting counts. Removal velocity adds signal that aggregate volume alone misses.

Aggregate posting volume and removal rates as real-time labor market tightness proxies.

What the Data Shows

Statistically validated signal from 6 months of continuous collection. Companies tracked at the ticker level show differentiated hiring behavior — not noise.

330+

Public Tickers

200K+

Observations

4× daily

Collection Cadence

18 mo+

History & Growing

Company Posting Trajectories

Weekly posting activity across ticker-mapped companies. Each row is a public company; each column is a week. Companies follow divergent hiring trajectories — some scaling headcount while others pull back.

Company posting heatmap showing divergent hiring trajectories across public companies over time

Posting Volume vs. Non-Farm Payrolls

Per-company posting velocity plotted alongside monthly BLS Non-Farm Payroll changes. Normalised for coverage expansion — new companies entering the dataset do not inflate the signal.

SignalCat posting volume vs Non-Farm Payrolls — dual-axis time series

Sector Hiring Momentum

Month-over-month posting growth by BLS sector. Sectors expand and contract at different rates — the cross-sector divergence is the signal.

Sector hiring momentum heatmap — month-over-month posting growth by BLS sector

All signal analysis uses per-company normalisation to control for coverage expansion. Point-in-time data integrity — your backtests reflect what was actually known at each observation. Full statistical methodology, test registry, and correction procedures available on request.

How We're Different

Primary source collection

We scrape directly from employer career pages across 9 ATS platforms, not from aggregated job boards. This eliminates duplicate postings, expired listings, and third-party data pollution.

Point-in-time integrity

Every observation is timestamped as-collected and never revised retroactively. When a posting is removed, we record the removal. Your backtests reflect what was actually known at each point in time.

Ticker-mapped and sector-classified

Every company is mapped to a public equity ticker and classified into a GICS sector. No manual mapping required, ready for integration into quantitative workflows.

Methodology

Collected directly from employer career pages across 9 ATS platforms: Greenhouse, Lever, Workday, iCIMS, SmartRecruiters, Phenom, SuccessFactors, Jobvite, and custom career sites. Data is collected every 6 hours, transformed through 30+ dbt models, and validated with automated data quality tests before delivery. Entity mapping to public tickers and GICS sector classification.

Read full methodology →

Delivery

Snowflake Data Share

Live data share — no ETL required. Query directly from your Snowflake account. Updates appear automatically.

AWS S3 (Parquet/CSV)

Parquet or CSV files delivered to your S3 bucket. New files written at each update cycle.

Flat File (CSV/JSON)

Downloadable CSV or JSON exports. Suitable for one-time analysis or environments without cloud access.

All delivery methods include schema change notifications and a full data dictionary. Need a different delivery method? Contact us.

Sample includes full schema access with sample history. Delivered via your preferred method.

Request Sample Data

No commitment required · Typical response within 24 hours

Questions? Schedule a call