Six lenses on the AI labor market.
Compensation. Skills. Companies. Funding stage. Hiring velocity. Skill half-life. One intelligence. Each engine has a single job, its own methodology version, its own confidence model, its own update cadence. Together they answer the questions comp teams, recruiters, founders, and agents actually ask about the AI labor market.
Why six engines.
The market has dozens of salary tools. Almost all of them return a single number, sourced from one or two places, with no traceability and no decay model. They answer one question: what does this role pay today.
That is the wrong shape for the AI labor market. AI roles did not exist five years ago. Skill premiums for vector databases, RAG ops, and CUDA are moving so fast that a single snapshot is stale within a quarter. Funding-stage comp curves bend differently for AI than for any other category. Per-company signals matter because every AI company is hiring from the same pool of fewer than 100,000 senior engineers.
We built six engines because each question wants a different data shape. A taxonomy lookup is a graph traversal. A skill premium is a regression on tens of thousands of comp data points. A skill half-life is a decay curve that needs at least three years of history to fit. A funding-stage band is a clustering. A company signal is a time series. A hiring velocity is a flow rate. Forcing all of these into one schema produces a tool that does everything badly. Six engines lets each one ship at its own quality bar.
And because every engine ships under the same API envelope, the same MCP server, and the same methodology versioning, they compose. A single MCP call to analyze_compensation hits the Role Taxonomy engine, the Skill Premiums engine, the Comp by Stage engine, and the Skill Half-Life engine in one round-trip, returning a single Decision-Ready Response. The customer never feels the seams.
The six engines.
Each card links to a deep-dive page with methodology, sources, sample API responses, pricing, and confidence model. Tier and scope requirements appear on the card.
How engines compose.
Engines are independent at the data layer and composed at the API layer. A single call to GET /api/v1/intelligence/salaries/calculate?role=ai-engineer&city=san-francisco hits Role Taxonomy first to resolve the role, then Comp by Stage to apply the funding-stage multiplier, then Skill Premiums (if you passed expand[]=skills) to add the skill-by-skill premium breakdown, then Hiring Velocity to attach the market-timing context. One response. One data_point_id. Full provenance.
Through the MCP server the composition is even tighter. The analyze_compensation tool calls Role Taxonomy + Comp by Stage + Skill Premiums + Skill Half-Life in one round-trip and returns a single Decision-Ready Response with a single sentence the agent can quote, a primary fact, supporting context, a methodology citation, follow-up suggestions, and an honest limitations list. The agent does not need to know which engine produced which field.
Restricted API keys let you grant access at the engine level. A key with only intelligence:read and skills:read can hit Role Taxonomy and Skill Premiums but not Company Signals. The MCP gate (-32001 scope_insufficient) returns a structured error the agent can recover from without leaking which engines exist.
Update cadence.
Every engine ships its own methodology version. The version is in every response, written to /api/v1/intelligence/lineage, and visible in the changelog.
Honest limitations.
We say what we do not know.
- Coverage is U.S.-centric. All six engines cover U.S. roles and cities first. UK, Canada, EU coverage rolls out in 2026 with per-region methodology versions. Until then, international queries return a
coverage_pendingfollow-up. - Company Signals is beta. Sourcing is heavier on public-company filings than on private. We mark each company with a
signal_strengthfield so you can filter low-confidence rows. - Skill Half-Life is preview. Preview release. The decay model needs another year of history to stabilize beyond the 12-18 month horizon. Use it for direction, not for point estimates.
- Engines disagree. When sources conflict, we expose
disagreement_flag: trueon the response. We do not silently pick a winner. The methodology page documents the reconciliation rules.
See also.
Last updated August 2026. Methodology versions are visible in every response and in the methodology document. When we change a definition or a calculation, the version increments and the change is recorded in the engine's changelog.