SAM Entities
Public SAM.gov entity registrations, identifiers and certifications.
Source, grain and coverage
Official public entity extracts. Registration and certification details reflect the published extract, rather than continuous real-time verification.
Registration facts reflect the retained public extract. Owner UEIs, 8(a) entry dates and independently sourced 8(a) expiry dates are not collected. Registration expiry is not a graduation date. Unchecked exclusion status remains unknown; small-business flags do not establish size eligibility for every NAICS.
Collection schedule: Weekly check for the latest public monthly extract.
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/sam-entity-refresh/records?limit=2' \ -H "Authorization: Bearer $GOVBIZ_API_KEY"
The primary dataset is registered_entities. 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 →Registered Entities
registered_entities · Schema 1
One retained public registration row per UEI, reflecting its extract snapshot rather than continuous current verification.
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 · 47 fields
| Field | Type / unit | Meaning | Availability and filters |
|---|---|---|---|
uei | string | SAM Unique Entity ID identifying the entity/registration; a string identifier, not a capability statement.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. | Values can be missingeq, 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. | Values can be missingeq, in, is_null, contains |
legal_name | string | Published legal entity name; an empty source name is retained and must not be invented.Storage and value limits: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
dba_name | string | Published doing-business-as name; a label, not an independent identifier.Storage and value limits: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
entity_type | string | Stored entity type/purpose category; the bulk path currently places its purpose code here.Storage and value limits: Maximum 100 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
org_structure | string | Organization structure category; reserved on the current bulk loading path.Storage and value limits: Maximum 100 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
entity_status | string | Published registration status in the observed entity extract.Storage and value limits: Maximum 50 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
registration_expiry | date | Registration expiration date; distinct from an SBA certification/program expiry.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 |
activation_date | date | Published SAM registration activation 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 |
uei_status | string | Published UEI status if separately supplied; do not substitute registration status.Storage and value limits: Maximum 20 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
purpose_of_registration | string | Published registration purpose; distinct from company capabilities.Storage and value limits: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
business_start_date | date | Published entity business 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 |
fiscal_year_end_close | string | Entity fiscal close month/day text; not a federal fiscal-year identifier.Storage and value limits: Maximum 4 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
employee_count | integer | Published/retained employee count when supplied; not populated by the current bulk field contract.Storage and value limits: Signed 32-bit integer; logical domain constraints can be narrower. | Values can be missingeq, in, is_null, gte, lte |
annual_revenue | decimal / USD | Published/retained entity annual revenue when supplied; not awarded federal revenue.Storage and value limits: Precision 18, scale 2; absolute value below 10^16; rounding on assignment; checks can narrow the range. | Values can be missingeq, in, is_null, gte, lte |
address_line1 | string | Published entity street address line 1; legal-address geography is distinct from place of performance.Storage and value limits: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
address_line2 | string | Published entity street address line 2.Storage and value limits: No declared field-length cap here; API/output budgets must apply; empty and null differ. | 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: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
state_code | string | Published entity state/territory code; foreign values can differ from US postal abbreviations.Storage and value limits: Maximum 50 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
zip_code | string | Published postal code string; preserve leading zeroes and source formatting.Storage and value limits: Maximum 20 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
country_code | string | Published country code; validate its source code system rather than treating all values as ISO.Storage and value limits: Maximum 3 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
congressional_district | string | Published congressional district label, time- and address-dependent.Storage and value limits: Maximum 10 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
primary_naics | string | Entity declared primary industry code; not proof of eligibility under every contract NAICS.Storage and value limits: Maximum 10 characters; identifier rules can be narrower.Require a classification edition; do not join broad prefixes as exact identities. | Values can be missingeq, in, is_null, contains |
naics_codes | array | Source list of industry classifications associated with an entity/agreement/vehicle.Storage and value limits: Array/list; no declared cardinality cap here; distinguish missing list, empty list and per-element nulls.Require a classification edition; do not join broad prefixes as exact identities. | Values can be missingoverlaps, is_null |
is_8a_certified | boolean | Observed 8(a) program source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |
is_sdvosb | boolean | Observed service-disabled veteran-owned source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |
is_vosb | boolean | Observed veteran-owned source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |
is_hubzone | boolean | Observed HUBZone source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |
is_wosb | boolean | Observed women-owned source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |
is_edwosb | boolean | Observed economically disadvantaged women-owned source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |
cert_8a_expiry | date | 8(a) expiry field; in reduced entity Parquet it is a registration-expiry proxy and must not be exposed as verified program expiry.Storage and value limits: Calendar date without time of day or timezone; source precision can be month/quarter instead.No current populated values in the audited dataset. | Not collected; returned as unknowneq, in, is_null, gte, lte |
cert_hubzone_expiry | date | HUBZone certification expiry when separately sourced; not registration expiry.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 |
cert_wosb_expiry | date | WOSB certification expiry when separately sourced; not registration expiry.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 |
is_small_business | boolean | Observed small business source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |
size_metric | string | Entity size-measure category when supplied; does not establish a contract-specific SBA size standard.Storage and value limits: Maximum 20 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
exclusion_flag | boolean | Stored exclusion indicator; bulk loading supplies a false default and does not establish exclusions coverage.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Not collected; returned as unknowneq, in, is_null |
snapshot_date | date | Date naming an observed source snapshot; separate from processing time and source event dates.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 |
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 |
immediate_owner_uei | string | Source UEI identifying the immediate owner 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. No current populated values in the audited dataset. | Not collected; returned as unknowneq, in, is_null, contains |
immediate_owner_name | string | Source immediate owner label if ownership evidence is separately collected.Storage and value limits: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
highest_owner_uei | string | Source UEI identifying the highest owner 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. No current populated values in the audited dataset. | Not collected; returned as unknowneq, in, is_null, contains |
highest_owner_name | string | Source highest-level owner label if ownership evidence is separately collected.Storage and value limits: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
cert_8a_entry_date | string | 8(a) program entry date when separately sourced; absent from the bulk extract.Storage and value limits: No declared field-length cap here; API/output budgets must apply; empty and null differ.No current populated values in the audited dataset. | Not collected; returned as unknowneq, in, is_null, contains |
is_minority_owned | boolean | Observed minority-owned source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |
is_hispanic_american_owned | boolean | Observed Hispanic-American-owned source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |
is_black_american_owned | boolean | Observed Black-American-owned source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |
is_asian_pacific_american_owned | boolean | Observed Asian-Pacific-American-owned source flag; source-code absence/default false is not necessarily a independently verified negative.Storage and value limits: Boolean physical type; defaults/omitted source fields can still mean unverified or not collected. | Values can be missingeq, in, is_null |