Grants.gov
Federal grant synopses and forecast notices.
Source, grain and coverage
Stored notices from the official XML extract. A historical notice or stored status does not establish that funding is still open.
The catalogue reads the retained official extract, including historical records. Existing live Grants.gov tools retain their separate backing and availability controls. Missing close dates or funding amounts stay unknown; a stored status does not establish that applications are currently accepted.
Collection schedule: Daily.
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 grants scope and enable that data domain in your workspace.
curl 'https://www.govbiz.ai/api/v2/catalogue/sources/grants-gov-refresh/records?limit=2' \ -H "Authorization: Bearer $GOVBIZ_API_KEY"
The primary dataset is grant_notices. 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 →Grant Notices
grant_notices · Schema 1
One retained grant synopsis or forecast record per opportunity_id and record_type.
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 · 25 fields
| Field | Type / unit | Meaning | Availability and filters |
|---|---|---|---|
opportunity_id | string | Grants.gov numeric-looking string record identifier; not a contract PIID.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 |
record_type | string | Source record kind; grants synopsis/forecast and acquisition forecast/expiring/bid-board differ.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 |
title | string | Public record title/heading; meaning follows the relation grain.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 |
opportunity_number | string | Publisher grant notice/opportunity reference.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 |
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: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
agency_name | string | Source agency name; a label whose scope can be department, bureau or office.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 |
description | string | Source description in the relation context; distinguish from generated interpretation.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 |
post_date | date | Grants.gov published posting 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 |
close_date | date | Grant application closing calendar date if specified.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 |
archive_date | date | Publisher archive date, separate from close/deadline.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 |
source_updated_date | date | Publisher Grants.gov last-update 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 |
estimated_synopsis_post_date | date | Publisher forecast anticipated grant synopsis posting 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 |
estimated_synopsis_close_date | date | Publisher forecast anticipated grant synopsis closing 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 |
eligibility_codes | array | Source grant applicant-eligibility code list; it does not evaluate a private applicant 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 |
funding_categories | array | Source grant funding-activity category code list.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 |
assistance_listing_numbers | array | Assistance Listing program identifiers, formerly CFDA; preserve their string precision.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 |
award_floor | decimal / USD | Published possible minimum grant award amount; not an awarded obligation.Storage and value limits: No declared precision/scale; exact decimal; publish as a decimal string with units. | Values can be missingeq, in, is_null, gte, lte |
award_ceiling | decimal / USD | Published possible maximum grant award amount; not a funded ceiling for a signed contract.Storage and value limits: No declared precision/scale; exact decimal; publish as a decimal string with units. | Values can be missingeq, in, is_null, gte, lte |
estimated_total_program_funding | decimal / USD | Published program funding estimate; do not add it to individual award amounts.Storage and value limits: No declared precision/scale; exact decimal; publish as a decimal string with units. | Values can be missingeq, in, is_null, gte, lte |
source_version | string | Source published version label; distinct from GovBiz parser/version sequence.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 |
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 |
extract_date | date | Date of the official Grants.gov source extract.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 |
first_seen_at | datetime | Earliest retained observation of the current source-key record.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 |
last_seen_at | datetime | Most recent retained observation, not proof of current availability.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 |
in_latest_extract | boolean | Whether the record occurred in the latest published extract; not an open/closed status.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 |