API Reference

REST API with 52 endpoints across compensation, financial, CalPERS, taxonomy, and market data. All responses follow RFC 7807 error format with consistent pagination.

https://api.calcompdata.com/v1
All requests require X-API-Key header
GET
/positions

List positions with filters — agency, year, taxonomy, department, title search, pay ranges

GET
/positions/aggregate

Grouped statistics — average pay by agency, taxonomy code, year, or department

GET
/positions/yoy

Year-over-year compensation trends for a position across agencies

GET
/positions/percentiles

P25/P50/P75/P90 percentile analysis across peer agencies

GET
/positions/current-comp

Staleness-bridged current compensation estimates with COLA adjustment

GET
/positions/direct-labor-rate

Direct labor cost rate — salary + benefits as an hourly rate

GET
/positions/compaction

Salary compaction analysis between classification levels

GET
/agencies

Search and list agencies — filter by county, category, size tier

GET
/agencies/{id}

Agency detail with data availability summary

GET
/agencies/{id}/data-quality

Data quality assessment — completeness, classification coverage

GET
/agencies/{id}/similar

Find similar agencies by composite scoring (size, geography, category)

GET
/calpers

CalPERS employer contribution rates — filter by agency, year, category, tier

GET
/calpers/history

Rate history over time with year-over-year changes

GET
/financial

Financial actuals — revenue and expenditure data by agency and fiscal year

GET
/taxonomy

List platform taxonomy entries — filter by family, search by title

GET
/taxonomy/{code}/crosswalk

SOC crosswalk with BLS market benchmark data for a taxonomy code

POST
/classify

Classify up to 100 position titles to taxonomy codes (AI-powered)

POST
/classify/feedback

Submit classification correction to improve future accuracy

GET
/taxonomy/frameworks

List your taxonomy frameworks

POST
/taxonomy/frameworks

Register a new taxonomy framework with entries

GET
/taxonomy/frameworks/{name}

Get framework entries and crosswalk mappings

PUT
/taxonomy/frameworks/{name}/crosswalk

Map your codes to platform taxonomy codes

DELETE
/taxonomy/frameworks/{name}

Delete framework and all crosswalk mappings

GET
/market/{agencyId}

Market metrics — housing, crime, employment, migration for agency location

GET
/market/{agencyId}/cola-index

COLA context index — CPI, housing costs, and wage data

GET
/market/{agencyId}/development-activity

Growth activity — housing, population, migration, commuters

GET
/market/{agencyId}/tax-base

Revenue composition from FTR data

GET
/export/positions

Synchronous position export (< 50K rows) — CSV or XLSX

POST
/export/positions

Async export for large datasets — returns job ID

GET
/export/{jobId}

Poll async export job status and download URL

GET
/export/financial

Export financial data

GET
/export/calpers

Export CalPERS data

GET
/export/templates

List available export templates (5 built-in consulting templates)

POST
/export/templates

Create custom export template with column selection

POST
/errors

Submit data error report with expected value

GET
/errors

List your error reports with SLA status

POST
/annotations

Annotate records with flags, overrides, or notes

POST
/webhooks

Subscribe to data update webhooks (HMAC-signed)

GET
/meta/data-currency

Data freshness and SLA compliance status

GET
/meta/changelog

Data corrections changelog (embargo-aware)

GET
/workspaces

List subscriber workspaces

POST
/workspaces

Create a workspace with saved queries and preferences

GET
/workspaces/{id}

Get workspace details

PATCH
/workspaces/{id}

Update workspace name or config

DELETE
/workspaces/{id}

Delete workspace

GET
/health

Service health check — status, version, uptime

GET
/openapi.json

OpenAPI 3.1 specification (public, no auth)

GET
/docs

Data dictionary and capabilities reference

GET
/geography/{agencyId}

City profile for agency — census data, housing, demographics

GET
/geography/counties

List California counties with FIPS codes and regions

GET
/pension/formulas

Pension formula lookup with PEPRA/Classic tier identification

GET
/pension/caps

Annual PEPRA pensionable compensation caps

Interactive API playground available at openapi.json. Import into Postman, Insomnia, or any OpenAPI-compatible client to explore endpoints with live requests.