GSA CALC+ Labor Rates
Awarded labor categories and ceiling rates for public benchmarking.
Source, grain and coverage
Collected CALC+ rate records. Published ceilings do not determine the price of a future contract.
The catalogue queries the latest retained snapshot with its labor-rate variants. Source prices were stored as floating point, so original cent precision is not guaranteed. SINs are distinct from NAICS; no authoritative NAICS crosswalk is implied. Ceiling rates do not establish future contract prices.
Collection schedule: Weekly.
Records describe public source observations. Missing values remain unknown; historical observations do not establish current status.
Definitions audited . Use source status and the returned watermarks to inspect current collection health.
REST and MCP access
Use a credential with intelligence scope and enable that data domain in your workspace.
curl 'https://www.govbiz.ai/api/v2/catalogue/sources/gsa-calc-refresh/records?limit=2' \ -H "Authorization: Bearer $GOVBIZ_API_KEY"
The primary dataset is calc_rate_ceilings. Select another dataset from this source with dataset_id. Supported field names can be used as exact filters; the versioned query endpoint also supports declared ranges and list operators.
Through canonical /mcp, use govbiz_discover_datasets, govbiz_describe_dataset, govbiz_search_records, and govbiz_get_evidence. Cross-source relationships use govbiz_get_related_records and require access to every involved domain.
API contracts · MCP setup · Workspace data domains
Query this source →Calc Rate Ceilings
calc_rate_ceilings · Schema 1
One source labor-rate variant per id and snapshot_date in the latest retained CALC+ snapshot.
Search modes: structured, lexical. History: Current retained projection; exact historical reconstruction is unsupported.
Measures: record_count. Monetary values use decimal strings with declared units. Unknown amounts do not become zero.
Field definitions and supported filters · 20 fields
| Field | Type / unit | Meaning | Availability and filters |
|---|---|---|---|
business_size | string | CALC+ source business size category; does not prove size for every contract NAICS.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
category | string | Source classification grouping; interpretation differs between CALC+ and CPI.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
contract_end | date | CALC+ contract end date text.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, gte, lte |
contract_start | date | CALC+ contract start date text.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, gte, lte |
current_price | decimal / USD | CALC+ current awarded rate ceiling; stored as floating point.Storage and value limits: double: IEEE-754 floating point; not exact cents; reject non-finite public values and preserve precision caveats. | Values can be missingeq, in, is_null, gte, lte |
education_level | string | CALC+ labor variant education requirement/category.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
id | integer | Source-native numeric CALC+ rate-record identifier retained from the API; snapshot_date distinguishes repeated observations. It is not a GovBiz surrogate or contract identifier.Storage and value limits: int64: Signed 64-bit integer; values beyond 2^53-1 require a string for JavaScript-safe exactness. | Values can be missingeq, in, is_null, gte, lte |
idv_piid | string | CALC+ referenced Schedule contract/IDV identifier.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
ingested_at | string | Producer ingestion timestamp; some relations store ISO text and others timestamp without time zone.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
labor_category | string | Published labor title/category; equal wording is not proof of equal job duties or required skills.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
min_years_experience | integer | CALC+ minimum experience years for the labor variant.Storage and value limits: int64: Signed 64-bit integer; values beyond 2^53-1 require a string for JavaScript-safe exactness. | Values can be missingeq, in, is_null, gte, lte |
next_year_price | decimal / USD | CALC+ next contract-year ceiling when published; do not manufacture a future rate.Storage and value limits: double: IEEE-754 floating point; not exact cents; reject non-finite public values and preserve precision caveats. | Values can be missingeq, in, is_null, gte, lte |
schedule | string | CALC+ Schedule label.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
second_year_price | decimal / USD | CALC+ second following contract-year ceiling when published.Storage and value limits: double: IEEE-754 floating point; not exact cents; reject non-finite public values and preserve precision caveats. | Values can be missingeq, in, is_null, gte, lte |
security_clearance | string | CALC+ labor-category clearance label normalized to text, not a company clearance.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
sin | string | CALC+ Special Item Number label(s); not a verified NAICS mapping.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ.Classification overlap is contextual, not record identity. | Values can be missingeq, in, is_null, contains |
snapshot_date | date | Date naming an observed source snapshot; separate from processing time and source event dates.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, gte, lte |
subcategory | string | CALC+ source rate grouping below category.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
vendor_name | string | CALC+ contractor/vendor label.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
worksite | string | CALC+ worksite category that affects rate comparability.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |