Capabilities
Everything the API exposes, what you can build with it, and which plan you need. Each section has concrete use cases, the endpoints involved, the tier required, and a working code sample.
Need the technical reference? See /api-guide. Looking to sign up? /pricing.
Data the API exposes
The read-only surface over public federal procurement data. Most are available on the Free Trial and Developer tiers.
Contract Notices
Every federal contract notice from SAM.gov, normalized into clean JSON. Solicitations, presolicitations, combined synopses, sources sought, sole source, modifications, awards. ~223K total records, 47K Award Notices. Refreshed twice daily.
What you can build
- Bid-discovery alerts on NAICS / agency / set-aside combinations
- Set-aside-targeted RFP feeds (8(a), HUBZone, WOSB, SDVOSB)
- Keyword + due-date search across active solicitations
- CSV export for analyst workflows (15 exports/day on Developer)
- Delta sync to keep an internal index up to date without re-downloading
Endpoints
GET /api/v1/opportunities/search
GET /api/v1/opportunities/{notice_id}
GET /api/v1/opportunities/delta?since=YYYY-MM-DDTHH:MM:SSZ
GET /export.csv
curl -H "Authorization: Bearer $API_KEY" \
"https://govconapi.com/api/v1/opportunities/search?naics=541330&state=CA&limit=10"
Award Intelligence
Who won, how much, when. Awardee name, UEI, CAGE, award amount, award date, agency, NAICS, PSC, place of performance, contracting officer contact. Sourced from SAM.gov Award Notices.
What you can build
- Past-performance research: who has won similar work in this NAICS
- Win-rate dashboards tracking competitors by agency and NAICS
- Contract-amount distributions for proposal-pricing benchmarks
- Awardee discovery filtered by amount range
Endpoints
GET /api/v1/awards/search
GET /api/v1/awards/{award_number}
curl -H "Authorization: Bearer $API_KEY" \
"https://govconapi.com/api/v1/awards/search?naics=541330&value_min=1000000&limit=20"
Full Descriptions
Full opportunity descriptions, the long-form text that explains what the contracting officer actually wants. SAM.gov doesn't return these in their API or bulk CSV. We collect them so your AI / proposal tool / search index has the actual text. ~85% coverage across active notices.
What you can build
- Semantic search and AI summarization. RAG pipelines that need actual text.
- Proposal-matching tools comparing your past performance to description text
- Keyword-and-context filtering beyond NAICS / PSC
Returned as the description_text field on every /api/v1/opportunities/* response. No separate endpoint.
description_text field is null on records SAM serves with access controls or JS-only rendering.Exclusions Database
Every debarred and suspended entity on the federal exclusion list. ~163K records. Search by name, UEI, CAGE, agency, state, exclusion type, country. Required reading before teaming, subcontracting, or buying parts.
What you can build
- Pre-contract screening by UEI before sign-off
- Vendor onboarding flows with an exclusions check baked in
- Agency-specific risk scans (DLA, USN, GSA, etc.)
- Country and address-based reviews to spot patterns
Endpoints
GET /api/v1/exclusions/search
GET /api/v1/exclusions/{uei}
curl -H "Authorization: Bearer $API_KEY" \
"https://govconapi.com/api/v1/exclusions/search?uei=ABCD12345678"
SAM Entity Registry
Every SAM-registered firm authorized to do business with the US federal government. ~873K legal entities, ~880K registrations. Lookup by UEI or CAGE; search by name. Returns registration status, expiration date, address, NAICS, PSC, business-type certifications, CAGE codes. Refreshed monthly.
What you can build
- Compliance check before contract sign-off (active? expiring?)
- CRM enrichment: paste a UEI, populate name, address, NAICS, certifications
- Vendor-onboarding form auto-fill from UEI
- UEI-to-CAGE bridge for legacy DoD systems
- CAGE reverse lookup (packing slip has a CAGE, who is this)
Endpoints
GET /api/v1/entities/{uei}
GET /api/v1/entities/by-cage/{cage_code}
GET /api/v1/entities/search?q=NAME
curl -H "Authorization: Bearer $API_KEY" \
"https://govconapi.com/api/v1/entities/XX2WFHJEFB45"
27=Self-Cert SDB, 8W=Self-Cert WOSB, QF=SDVOSB) are what's available in the Public V2 SAM data. For SBA-administered cert programs (8(a), HUBZone, SBA-cert SDB), pair with SBA's DSBS as a separate source.Procurement Contacts
Contracting officer contact info embedded on every contract notice: name, email, phone, title. The contacts come free with each opportunity you query, on every tier. Pro Bundle adds unlimited access to extended profiles via GovCon Contacts: past performance per CO, full profiles, deeper search.
What you can build
- BD outreach tools surfacing the right CO for a NAICS or agency
- Contract administration workflows with CO contact pre-filled
- "Who buys what" intelligence: which COs run the most notices in your space
Endpoints
Embedded in /api/v1/opportunities/* responses (all tiers, free)
Extended profiles at contacts.govconapi.com (Pro Bundle, unlimited)
Attachments
SOWs, RFP documents, amendments, and supporting files for every contract notice that has them. Direct download URLs. Filter to find only notices with attachments.
What you can build
- Document analysis pipelines (OCR, LLM extraction)
- Proposal preparation: download all amendments to a solicitation in one call
- "Has attachments" filtering to skip notices without docs
Endpoints
GET /api/v1/opportunities/{notice_id}/attachments
Filter: has_attachments=true on /opportunities/search (Developer)
curl -H "Authorization: Bearer $API_KEY" \
"https://govconapi.com/api/v1/opportunities/{notice_id}/attachments"
Pro Bundle products
Higher-tier capabilities at $39/mo. Each one chains the data above into a workflow that's hard to build from primitives.
Companies API
Combined SAM registration profile + award history per UEI in one call. Returns 200 for any of the ~873K SAM-registered firms (not just the ~11K that have won contracts). Award fields populate when the UEI has Award Notices on file; otherwise they zero out and the registration / entity blocks still populate.
What you can build
- Compliance + due diligence in one call (active, expiration, totals, top agencies, top NAICS)
- Customer concentration analysis via top_agencies
- Pipeline health checks (awards_last_90d vs awards_last_12mo)
- Capability mapping via top_naics (what they win, not what they claim)
- Peer / competitor discovery via /peers ranked by NAICS + agency overlap
Endpoints
GET /api/v1/companies/{uei}
GET /api/v1/companies/{uei}/awards
GET /api/v1/companies/{uei}/peers
GET /api/v1/companies/search?q=NAME
curl -H "Authorization: Bearer $API_KEY" \
"https://govconapi.com/api/v1/companies/XX2WFHJEFB45"
# → { "uei": "...", "name": "...", "total_awards": 868,
# "top_agencies": [...], "registration": {...}, "entity": {...} }
Federal Contractor Search
Multi-filter search across the SAM directory by NAICS, state, business-type certification, active-status, and name. The DSBS replacement: SBA's Dynamic Small Business Search has the data but is web-only with no API. This endpoint exposes the same filtering programmatically.
What you can build
- Set-aside competition mapping before bidding an 8(a) or WOSB RFP
- Subcontractor sourcing by NAICS + state + cert combinations
- Procurement market sizing (pagination.total returns exact firm count)
- Diversity-spend reporting feeds for prime contractor compliance teams
- Sources Sought distribution lists for federal program offices
- Auto-generated long-tail directory pages on your own site
Endpoints
GET /api/v1/entities/search?q=NAME # Developer (name only)
GET /api/v1/entities/search?naics=&state=&business_type=&active_only= # Pro Bundle
curl -H "Authorization: Bearer $API_KEY" \
"https://govconapi.com/api/v1/entities/search?state=CA&business_type=8W&active_only=true"
# → 10,172 California-based WOSB firms
Renewal Radar
Active SAM registrations expiring within N days, sorted by urgency. Filter by state or NAICS. The renewal-monitoring use case: SAM registrations expire annually; lapsed registrations make a firm invisible to contracting officers and ineligible for award.
What you can build
- Compliance dashboards flagging subcontractors whose SAM lapses in N days
- Renewal-reminder SaaS with targeted email campaigns
- BD pipeline early-warning (a firm not renewing = opportunity for replacement)
- Renewal-services consulting lead generation by state + NAICS
- Internal supplier-onboarding workflow with quarterly check on approved suppliers
Endpoints
GET /api/v1/entities/expiring?within_days=N&state=&naics=
curl -H "Authorization: Bearer $API_KEY" \
"https://govconapi.com/api/v1/entities/expiring?within_days=30&state=DC&limit=20"
# → 391 DC-based firms expiring in next 30 days, most-urgent first
Vendor Risk Intelligence
7-signal screening per UEI. Beyond a single-UEI exclusion check: address-cluster, name-variant cluster, coordinated enforcement-wave membership, last-award-to-debarment timing, and more. Plus a triage verdict for fast classification.
What you can build
- Subcontractor vetting workflows for prime contractors
- Bulk vendor screening (POST up to 100 UEIs per request)
- "Why is this risky" explanations: each signal returns underlying records
- Pattern-detection dashboards (DLA enforcement waves)
- Compliance reports for FAR-driven supplier reviews
Endpoints
GET /api/v1/vendor-risk/{uei}
POST /api/v1/vendor-risk/bulk
curl -H "Authorization: Bearer $API_KEY" \
"https://govconapi.com/api/v1/vendor-risk/N4PXS6S8HNU4"
# → { "triage": {"verdict": "high", ...}, "signals": [...] }
Developer experience
Cross-cutting tooling for working with the API.
MCP for Claude / Cursor
Federal contracts data inside Claude Desktop, Claude Code, Cursor, ChatGPT, or any MCP-compatible client. The package wraps a curated set of API endpoints as MCP tools so you can ask in natural language. Currently exposes 6 tools covering opportunities, awards, exclusions, and the agency crosswalk; entities and Pro Bundle endpoints are accessible via the HTTP API directly.
What you can build
- Conversational research in your IDE or Claude app, no SDK to write
- AI agent workflows that pull live federal data while writing your bid
- Quick-and-dirty BD queries from Claude Desktop without opening a browser
Install
# Get an API key first at https://govconapi.com
pipx install govconapi-mcp
# Add to your MCP client config (Claude Desktop example):
# "govconapi": {
# "command": "govconapi-mcp",
# "env": { "GOVCONAPI_KEY": "gca_..." }
# }
Plans
25 requests/day on Free Trial endpoints. Try before you commit.
1,000 req/hr. Opportunities + awards + exclusions filters, full SAM entity lookup (UEI/CAGE/name), CSV exports, MCP, descriptions.
Everything Developer plus Companies API, multi-filter entity search, Renewal Radar, Vendor Risk, unlimited GovCon Contacts.