Agency Contacts
Public contracting points of contact from SAM.gov notices.
Source, grain and coverage
Source-derived contacts from collected notices. A contact may relate to a specific notice rather than an entire agency.
Contacts derive from collected notices and can have incomplete notice provenance. Email equality associates public records but does not establish responsibility for every acquisition at an agency. Historical contact observations do not verify current assignments.
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/agency-contacts-refresh/records?limit=2' \ -H "Authorization: Bearer $GOVBIZ_API_KEY"
The primary dataset is public_contracting_contacts. 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 →Public Contracting Contacts
public_contracting_contacts · Schema 1
One retained public contact row per id; source processing can collapse agency/email and multiple notice contexts.
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 · 9 fields
| Field | Type / unit | Meaning | Availability and filters |
|---|---|---|---|
id | string | GovBiz surrogate row identifier; interpret together with its relation, not as a source-native key.Storage and value limits: 128-bit identifier; JSON string; does not prove source identity. | Values can be missingeq, in, is_null, contains |
agency_code | string | Stored source agency identifier; namespace can be CGAC, FPDS, top-tier or publisher-specific and must be declared.Storage and value limits: Maximum 64 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
office_name | string | Stored contact office label; not a stable office identifier.Storage and value limits: Maximum 255 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
contact_name | string | Source public contact name label; scope is the associated public record, not every procurement at the agency.Storage and value limits: Maximum 255 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
contact_email | string | Source public contact email address; scope is the associated public record, not every procurement at the agency.Storage and value limits: Maximum 255 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
contact_type | string | Collector-assigned notice contact role; role preference when collapsing email rows is a heuristic.Storage and value limits: Maximum 50 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
source_url | string | Public provenance URL for the relation record; a generic landing URL is weaker than a record locator.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 |
extracted_at | datetime | Time public contact data was extracted from notices.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 |
contract_piid | string | Contract PIID retained on a contact row when specific contract context was sourced.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 |
Contact Activity Summaries
contact_activity_summaries · Schema 1
One retained legacy public-contact activity summary per id; producer-dependent counts and amounts are not verified contract-action totals.
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 · 19 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 32-bit integer; logical domain constraints can be narrower. | Values can be missingeq, in, is_null, gte, lte |
contact_name | string | Source public contact name label; scope is the associated public record, not every procurement at the agency.Storage and value limits: Maximum 200 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
contact_email | string | Source public contact email address; scope is the associated public record, not every procurement at the agency.Storage and value limits: Maximum 200 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
agency_code | string | Stored source agency identifier; namespace can be CGAC, FPDS, top-tier or publisher-specific and must be declared.Storage and value limits: Maximum 20 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
total_contracts | integer | Derived observed contract count in a public contracting profile.Storage and value limits: Signed 32-bit integer; logical domain constraints can be narrower.Retained contact activity aggregates have producer-dependent lineage and no per-row methodology version. They are not verified contract-action totals; inspect source award actions before making spending claims. | Values can be missingeq, in, is_null, gte, lte |
total_obligations | decimal / USD | Aggregate dollars with producer-dependent grain; current NAICS producer sums award-summary amounts.Storage and value limits: Precision 15, scale 2; absolute value below 10^13; rounding on assignment; checks can narrow the range.Retained contact activity aggregates have producer-dependent lineage and no per-row methodology version. They are not verified contract-action totals; inspect source award actions before making spending claims. | Values can be missingeq, in, is_null, gte, lte |
pct_set_aside | decimal | Derived percentage of observed set-aside contracting activity in this profile; denominator must be the producer-defined grain.Storage and value limits: Precision 5, scale 2; absolute value below 10^3; rounding on assignment; checks can narrow the range. | Values can be missingeq, in, is_null, gte, lte |
pct_small_business | decimal | Derived percentage of observed small-business contracting activity in this profile; denominator must be the producer-defined grain.Storage and value limits: Precision 5, scale 2; absolute value below 10^3; rounding on assignment; checks can narrow the range. | Values can be missingeq, in, is_null, gte, lte |
pct_8a | decimal | Derived percentage of observed 8(a) contracting activity in this profile; denominator must be the producer-defined grain.Storage and value limits: Precision 5, scale 2; absolute value below 10^3; rounding on assignment; checks can narrow the range. | Values can be missingeq, in, is_null, gte, lte |
pct_sdvosb | decimal | Derived percentage of observed SDVOSB contracting activity in this profile; denominator must be the producer-defined grain.Storage and value limits: Precision 5, scale 2; absolute value below 10^3; rounding on assignment; checks can narrow the range. | Values can be missingeq, in, is_null, gte, lte |
pct_sole_source | decimal | Derived percentage of observed sole-source contracting activity in this profile; denominator must be the producer-defined grain.Storage and value limits: Precision 5, scale 2; absolute value below 10^3; rounding on assignment; checks can narrow the range. | Values can be missingeq, in, is_null, gte, lte |
avg_contract_value | decimal | Derived contract value mean in a public contracting profile.Storage and value limits: Precision 15, scale 2; absolute value below 10^13; rounding on assignment; checks can narrow the range. | Values can be missingeq, in, is_null, gte, lte |
preferred_contract_type | string | Derived most-used observed contract type; not an officer preference or recommendation.Storage and value limits: Maximum 50 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
lpta_indicator | boolean | Derived public contracting-profile evaluation heuristic; not an authoritative officer preference.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 |
active_years | array | Calendar/fiscal labels of observed public contracting activity as defined by the producer.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 |
naics_codes_used | array | Distinct observed NAICS list in a derived public contracting profile.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 |
first_award_date | date | Earliest award date in the derived public contact profile.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 |
last_award_date | date | Latest award date in the derived public contact profile.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 |