Source catalog

GSA Schedule Rates

Awarded GSA Schedule labor-rate ceilings.

← Source catalog

Source, grain and coverage

GSA Schedule Rates ↗

Published rates linked to contract holders and SINs. Ceiling rates are not necessarily invoiced or negotiated rates.

Schedule rate observations retain maximum ceilings at a reduced contract/category/date grain and can lose experience, education or SIN variants. Holder UEIs are not collected. Published ceilings are distinct from invoiced or negotiated rates.

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-elibrary-rates-refresh/records?limit=2' \
  -H "Authorization: Bearer $GOVBIZ_API_KEY"

The primary dataset is schedule_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 →

Schedule Rate Ceilings

schedule_rate_ceilings · Schema 1

One retained reduced maximum-ceiling observation per contract, labor category and effective-date grouping, identified by id; labor variants can have been discarded.

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 · 12 fields
FieldType / unitMeaningAvailability and filters
idintegerGovBiz surrogate row identifier; interpret together with its relation, not as a source-native key.Storage and value limits: Signed 32-bit integer; logical domain constraints can be narrower.Values can be missingeq, in, is_null, gte, lte
contract_numberstringSource contract/holder number; relate with issuer and vehicle context.Storage and value limits: Maximum 100 characters; identifier rules can be narrower.Values can be missingeq, in, is_null, contains
sin_codestringSchedule Special Item Number; not a unique contract or labor-category identifier.Storage and value limits: Maximum 50 characters; identifier rules can be narrower.Classification overlap is contextual, not record identity.Values can be missingeq, in, is_null, contains
holder_namestringVehicle/rate holder label.Storage and value limits: Maximum 300 characters; identifier rules can be narrower.Values can be missingeq, in, is_null, contains
holder_ueistringSource UEI identifying the holder participant; missing/empty values cannot support an exact entity join.Storage and value limits: Maximum 20 characters; identifier rules can be narrower.Logical UEI length is 12; a wider varchar is not broader identity support. Every audited value is null; current entity joins are blocked.Not collected; returned as unknowneq, in, is_null, contains
labor_categorystringPublished labor title/category; equal wording is not proof of equal job duties or required skills.Storage and value limits: Maximum 300 characters; identifier rules can be narrower.Values can be missingeq, in, is_null, contains
hourly_rate_ceilingdecimal / USDAwarded Schedule maximum hourly rate, not an invoiced, negotiated or predicted bid rate.Storage and value limits: Precision 8, scale 2; absolute value below 10^6; rounding on assignment; checks can narrow the range.Values can be missingeq, in, is_null, gte, lte
unitstringMeasurement unit of a published rate; current derived Schedule rates use HOURLY.Storage and value limits: Maximum 20 characters; identifier rules can be narrower.Values can be missingeq, in, is_null, contains
effective_datedateDerived rate grouping date, currently CALC+ contract_start or a collection-date fallback; not an independently sourced price-effective date.Storage and value limits: Calendar date without time of day or timezone; source precision can be month/quarter instead.Values can be missingeq, in, is_null, gte, lte
expiration_datedatePublished agreement/vehicle/rate expiry when supplied; absent is not perpetual validity.Storage and value limits: Calendar date without time of day or timezone; source precision can be month/quarter instead.Values can be missingeq, in, is_null, gte, lte
schedule_namestringPublished/derived Schedule label on a ceiling-rate row.Storage and value limits: Maximum 200 characters; identifier rules can be narrower.Values can be missingeq, in, is_null, contains
ingested_atdatetimeProducer ingestion timestamp; some relations store ISO text and others timestamp without time zone.Storage and value limits: Instant with timezone only if declared; otherwise local/producer time must be explicitly interpreted. Do not invent clock precision.Values can be missingeq, in, is_null, gte, lte