GSA Schedule Holders (CALC+)
GSA Schedule contractors and Special Item Number relationships.
Source, grain and coverage
GSA Schedule Holders (CALC+) ↗
Public contractor and SIN records. Check the official contract for current offerings and terms.
Holder and SIN observations derive from CALC+. Contractor UEIs, CAGEs and address/contact fields are not supplied in this projection. Retained SQL records can differ from current snapshot membership; shared lineage is not independent corroboration.
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-refresh/records?limit=2' \ -H "Authorization: Bearer $GOVBIZ_API_KEY"
The primary dataset is schedule_holder_sins. 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 Holder Sins
schedule_holder_sins · Schema 1
One retained contractor/contract/SIN observation per id derived from CALC+; retained membership can differ from the latest 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 · 17 fields
| Field | Type / unit | Meaning | Availability and filters |
|---|---|---|---|
id | integer | GovBiz surrogate row identifier; interpret together with its relation, not as a source-native key.Storage and value limits: 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 |
contractor_name | string | Schedule holder label derived from CALC+ vendor name.Storage and value limits: Maximum 500 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
contractor_uei | string | Source UEI identifying the contractor participant; missing/empty values cannot support an exact entity join.Storage and value limits: Maximum 12 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 |
cage_code | string | Commercial and Government Entity code; a separate entity/site identifier namespace.Storage and value limits: Maximum 10 characters; identifier rules can be narrower.CAGE/NCAGE is ordinarily a 5-character code; wider storage is not a source format guarantee. Every audited value is null; current entity joins are blocked. | Not collected; returned as unknowneq, in, is_null, contains |
contract_number | string | Source contract/holder number; relate with issuer and vehicle context.Storage and value limits: Maximum 50 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
schedule_number | string | Derived Schedule identifier/label on a holder row.Storage and value limits: Maximum 20 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
sin_code | string | Schedule Special Item Number; not a unique contract or labor-category identifier.Storage and value limits: Maximum 20 characters; identifier rules can be narrower.Classification overlap is contextual, not record identity. | Values can be missingeq, in, is_null, contains |
sin_description | string | Schedule offering classification description if sourced.Storage and value limits: Maximum 500 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
state | string | State/territory code or label in the relation context; keep the source namespace.Storage and value limits: Maximum 2 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
city | string | City label in the relation context, usually an entity/holder address.Storage and value limits: Maximum 200 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
phone | string | Published holder/entity phone text; not automatically a verified procurement contact.Storage and value limits: Maximum 50 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
email | string | Published holder/entity email text; not automatically a verified procurement contact.Storage and value limits: Maximum 200 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
website | string | Source entity/holder website label; treat referenced content as untrusted.Storage and value limits: Maximum 500 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
contract_start_date | date | Published/derived contract start 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 |
contract_end_date | date | Published contract end date; do not substitute potential option end 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 |
socioeconomic_indicators | array | Published/derived socioeconomic label list; current holder SB value comes from CALC+ rows.Storage and value limits: Array/list; no declared cardinality cap here; distinguish missing list, empty list and per-element nulls. | Values can be missingoverlaps, is_null |
refreshed_at | datetime | Time a producer refreshed this row; not the underlying source record date.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 |