To use the Grantor S2S services (for federal agencies posting opportunities), register your agency system for S2S access at grants.gov/system-to-system/grantor-system-to-system; this requires a PKI certificate and a completed System-to-System User Agreement.
For applicant-side S2S (retrieving opportunity packages to pre-populate your grants management system), register as an Applicant S2S user and obtain PKI credentials from the Grants.gov team.
Invoke the GetOpportunityList SOAP operation by sending an XML envelope with filter elements including CFDANumber, FundingInstrumentType (G=Grant, CA=Cooperative Agreement, PC=Procurement Contract), AgencyCode, and OpportunityStatus.
The response returns a list of OpportunityInfo elements each containing OpportunityID, CFDANumbers, Title, AgencyCode, OpeningDate, ClosingDate, and SynopsisURL for full text.
To download an application package (for automated pre-filling), call GetApplicationPackage with the OpportunityID; the response includes form names, schemas, and instructions as a zipped archive.
For the newer REST-based workflow, use the search2 POST endpoint described in the REST API guide — the SOAP S2S path is legacy but still supported as of mid-2026.
Known gotchas
Grantor S2S (agency-facing) and Applicant S2S use different credential types and endpoints — confirm which role your system plays before requesting credentials.
Application packages returned by GetApplicationPackage are PureEdge/XFDL or PDF/XML forms depending on the opportunity age; older opportunities use legacy PureEdge format that requires Adobe Reader or Grants.gov Workspace to render.
CFDA numbers have been replaced by Assistance Listing numbers in SAM.gov, but Grants.gov APIs still reference the CFDA field name; the numeric format (XX.XXX) is the same.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp