GovCon API Get a free key

Federal procurement data for developers and AI agents

GovCon API is a REST API and MCP server for U.S. federal procurement data. Query SAM.gov contract opportunities, FPDS contracts, subawards, SAM registrations, exclusions, solicitation documents, procurement forecasts, labor rates and bid protests on one key.

Records connect on shared identifiers such as UEI, PIID, NAICS and agency, so an application or agent can start with a firm, award or solicitation and follow it across sources without a separate integration for each.

No credit card required. 1,000 requests an hour on a paid plan, against 10 a day on a personal SAM.gov key. Read the quickstart

Sources: SAM.gov · FPDS · USAspending · SBA · GAO · GSA · agency systems. Coverage and freshness for every source

What you get

Two layers on one key: the federal record from its government sources, and the workflows we build on it.

The federal record

Each dataset as its government source publishes it, in the same JSON shape, with the same search, paging and field options.

DatasetSourceWhat it holds
Contract OpportunitiesSAM.govNotices from sources sought to award, with descriptions and attachment links
Federal ContractsFPDSPrime contract transactions and their modifications
Contract VehiclesFPDSIDIQs, GWACs, schedules, BPAs and BOAs
SubawardsUSAspendingWhat prime contractors paid their subcontractors
SAM Entity RegistrySAM.govRegistered firms by UEI, CAGE code or name
ExclusionsSAM.govSuspended and debarred firms and individuals
Wage DeterminationsSAM.govDavis-Bacon, SCA and CBA wage rates by location
Procurement ForecastsGSA, DHS and HHSPlanned buys, before a solicitation posts
Bid ProtestsGAOGAO protests, pending and decided
GSA Schedule Labor RatesGSA CALCAwarded ceiling hourly rates by labor category

Plus the Federal Hierarchy for department and agency names and codes. Coverage, history and freshness for each dataset are on Data.

Answers that are not in any single record

We build these for you by joining records or computing over them, in the order a bid comes together.

WorkflowWhat it answers
Contracting OfficesWhich offices actually buy this NAICS?
Recompete WatchlistWhich contracts are nearing recompete, and who holds them now?
Attachment SearchWhich solicitation documents mention this term?
Contracting Officer ContactsHow do I reach this contracting officer?
Company ProfileWhat has this firm registered for and won?
SBA Small Business ProfilesWhich NAICS codes is this firm small for, and what is it certified as?
Teaming Partner FinderWho has won this kind of work, and who do I contact?
Vendor RiskWhat public-record signals should I check for this UEI?
Contract Price BenchmarksWhat did comparable contracts pay, and where does my price fall?
Renewal RadarWhich SAM registrations expire soonest?

How each one works, and what it draws on, is on Workflows.

Two ways in

Both layers on the same key, from your own code or from your AI assistant.

REST API

For applications, pipelines and internal tools: structured JSON with a bearer token, documented in the API guide.

MCP

For Claude Desktop, Claude Code, Cursor and other MCP clients: after the MCP setup, your assistant picks and chains the tools itself.

A real response

Live responses from the API, one dataset per tab, exactly as returned. Look for the identifiers that lead to related records, such as a UEI, PIID or NAICS code.

Opportunities GET /api/v1/opportunities/search

{
  "data": [
    {
      "notice_id": "01e61934220a4be4a428e53633e23598",
      "title": "Indefinite-Delivery/Indefinite-Quantity (ID/IQ) Small Business Environmental Remedial Action Contract for Sites in Hawaii, Guam, and Other Areas within the Naval Facilities Engineering Systems Command Pacific Area of Responsibility VI (SBRAC VI)",
      "notice_type": "Solicitation",
      "agency": "DEPT OF DEFENSE.DEPT OF THE NAVY.NAVFAC.NAVFAC PACIFIC CMD.NAVFACSYSCOM PACIFIC",
      "naics": [
        "562910"
      ],
      "psc": [
        "F108"
  ... 179 more lines

Contracts GET /api/v1/contracts/search

{
  "data": [
    {
      "contract_transaction_unique_key": "1100_7529_11316023F0015OMB_P00018_HHSN316201200178W_0",
      "contract_award_unique_key": "CONT_AWD_11316023F0015OMB_1100_HHSN316201200178W_7529",
      "award_id_piid": "11316023F0015OMB",
      "parent_award_id_piid": "HHSN316201200178W",
      "modification_number": "P00018",
      "action_date": "2026-08-31",
      "action_type": "FUNDING ONLY ACTION",
      "federal_action_obligation": 31367.02,
      "current_total_value_of_award": 40753722.78,
  ... 71 more lines

Vehicles GET /api/v1/vehicles/search

{
  "data": [
    {
      "award_id_piid": "47QFMA21G0001",
      "contract_award_unique_key": "CONT_IDV_47QFMA21G0001_4732",
      "idv_type": "BOA",
      "idv_type_code": "D",
      "prime_award_base_transaction_description": "ESKAN VILLAGE COMMUNICATION AND INFORMATION TECHNOLOGY SUPPORT",
      "transaction_description": "MIGRATED ID03210011  USMTM COMMUNICATIONS AND INFORMATION TECHNOLOGY SUPPORT",
      "action_date": "2026-08-31",
      "period_of_performance_start_date": "2021-03-23",
      "ordering_period_end_date": "2024-03-22",
  ... 64 more lines

Subawards GET /api/v1/subawards/search

{
  "data": [
    {
      "subaward_sam_report_id": "6CB75213-BD53-451B-AE5E-AAC7BD88B23D",
      "subaward_number": "PO0401252",
      "subaward_action_date": "2026-08-06",
      "subaward_amount": 12477.61,
      "subaward_description": "THE PURPOSE OF THIS REQUIREMENT IS TO PROVIDE EFFICIENT AND EFFECTIVE GRANT MANAGEMENT SERVICES, IT SOLUTIONS, AND SUPPORT TO GRANTSOLUTIONS AND ITS PARTNERS.",
      "subaward_sam_report_last_modified_date": "2026-08-12T00:00:00+00:00",
      "prime_award_piid": "140D0423F0882",
      "prime_award_parent_piid": "HHSN316201200040W",
      "prime_award_amount": 403073999.7,
  ... 79 more lines

SAM Entity Registry GET /api/v1/entities/search

{
  "query": {
    "q": "technologies",
    "naics": null,
    "naics_small": null,
    "state": null,
    "business_type": null,
    "active_only": false
  },
  "pagination": {
    "limit": 2,
    "offset": 0,
  ... 115 more lines

Exclusions GET /api/v1/exclusions/search

{
  "data": [
    {
      "uei_sam": null,
      "entity_name": "Dennis Alexis Santos",
      "classification_type": "Individual",
      "cage_code": null,
      "npi": null,
      "first_name": "Dennis",
      "middle_name": "Alexis",
      "last_name": "Santos",
      "prefix": null,
  ... 70 more lines

Why GovCon API

The source data is public. The integration work is not. Federal procurement records are spread across systems with different schemas, identifiers, access rules and publishing schedules. GovCon API runs that integration layer, joins records on the identifiers they share, extracts the text of solicitation documents and serves it all through one consistent interface. A personal SAM.gov key allows 10 requests a day; either paid plan allows 1,000 an hour. You can still check any record at its source.

Featured on AI Fire Daily, Episode #321

Do I need a SAM.gov account or a UEI?

No. A key is issued to an email address. You do not need a SAM.gov account, an entity registration or a UEI.

Is this official government data?

Every record comes from a public federal source, and most responses name that source. GovCon API is an independent service, not affiliated with SAM.gov, GSA or any federal agency, so confirm the details of anything you bid on at the official source.

Can I use it for compliance screening?

Yes. Exclusions is SAM.gov's list of suspended and debarred parties, searchable by name, UEI, CAGE code or agency. Many exclusions are individuals with no UEI, so search by name as well: Exclusions on Data. Vendor Risk adds signals such as shared addresses and name variants, each with the records behind it. Both describe public-record relationships, not wrongdoing.

Flat monthly pricing

Pricing you don't have to model: one flat monthly price, with no per-call fees, credits or annual contract. Both paid plans have the same limits, so you choose by what each plan includes, not by how much you call.

Free trial

$0

  • 50 requests a day for 14 days
  • No credit card

Get a free key

Developer

$19/mo

  • The federal record
  • 1,000 requests an hour

Pro

$39/mo

  • Everything in Developer
  • Plus every workflow

Already subscribed? Change or cancel your plan in Manage billing.

Not ready for a key?

The CAGE code lookup answers without one: a five-character CAGE in, the firm that holds it back, with its UEI, registration status and primary NAICS.

Subscribe to Developer