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_pricevendor_namelabor_categoryeducation_levelmin_years_experiencemodified
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_priceeducation_level,min_years_experience,experience_rangesecurity_clearance,worksitesin,category,subcategory,schedulecontract_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:
Flat example:
Rate limiting¶
These endpoints have separate premium query rate limits. See your account dashboard for current limits.