Skip to content

CALC Labor Category Rates

CALC (Contract Awarded Labor Category) labor rates are exposed as nested endpoints under IDVs and entities. For field definitions, see the CALC Labor Rates Data Dictionary.

Access: Requires Pro tier or above.

Endpoints

  • GET /api/idvs/{key}/lcats/ (rates for a specific IDV)
  • GET /api/entities/{uei}/lcats/ (rates for a specific entity, via IDV recipient linkage)

These are nested endpoints -- there is no top-level /api/lcats/ route. Use the IDV key or entity UEI to scope the results.

Filtering

Core filters:

Param What it does
search Full-text search across vendor name, labor category, category, and subcategory.
vendor_name Case-insensitive partial match on vendor name.
labor_category Case-insensitive partial match on labor category title.
price_gte, price_lte Filter by current price range (decimal).
education_level Exact match on education level (case-insensitive).
min_years_experience_gte, min_years_experience_lte Filter by minimum years of experience range.
security_clearance Exact match on security clearance requirement (case-insensitive).
worksite Exact match on work location type (case-insensitive).
business_size Exact match on business size code (case-insensitive).
sin Exact match on Special Item Number (case-insensitive).
category Case-insensitive partial match on service category.
idv_piid Exact match on the stored PIID from CALC.
key IDV key (case-insensitive).
piid IDV PIID (case-insensitive).

Ordering

CALC labor rates support ordering= with a strict allowlist:

  • current_price
  • vendor_name
  • labor_category
  • education_level
  • min_years_experience
  • modified

Prefix with - for descending order.

Examples:

  • Cheapest first: GET /api/idvs/{key}/lcats/?ordering=current_price
  • Most experienced first: GET /api/idvs/{key}/lcats/?ordering=-min_years_experience

Pagination

Uses page-number pagination:

  • page (default 1)
  • page_size (default 10, max 100)

Response shaping

Use ?shape= to customize the response. Root fields:

  • uuid, labor_category, current_price
  • education_level, min_years_experience, experience_range
  • security_clearance, worksite
  • sin, category, subcategory, schedule
  • contract_start, contract_end

Expansions:

  • idv(key, piid, award_date) -- linked IDV details (Pro tier required)
  • recipient(uei, display_name) -- entity details via IDV recipient (Pro tier required)
  • business_size(code, description) -- business size with human-readable description

A default shape is applied when no ?shape= parameter is provided, so ?flat=true works without needing an explicit shape.

Example:

/api/idvs/{key}/lcats/?shape=uuid,labor_category,current_price,idv(key,piid)

Flat example:

/api/idvs/{key}/lcats/?flat=true

Rate limiting

These endpoints have separate premium query rate limits. See your account dashboard for current limits.