Skip to content

Search contracts

Search federal prime contract transactions. Every base award and every modification is one row, sourced from the federal procurement system of record (FPDS) for award types A, B, C, and D. Coverage today is FY2025 + FY2026 (action dates from October 2024 onward).

Award types A, B, C, and D are the orders and definitive contracts. The indefinite-delivery vehicles those orders are placed against (IDIQ, GWAC, FSS schedule, BPA, BOA) are a separate surface: search them at /api/v1/vehicles/search, and resolve any order to its parent vehicle with /api/v1/contracts/{piid}/vehicle.

Parameters

At least one of uei, parent_uei, piid, parent_piid, agency, or naics is required. Unknown parameters return 400.

  • uei: recipient UEI, 12 characters, exact match (case-insensitive).
  • parent_uei: recipient parent UEI for corporate roll-up across subsidiaries.
  • piid: Procurement Instrument Identifier, exact match.
  • parent_piid: parent vehicle (IDV) PIID. To resolve an order to its full parent vehicle record, use /api/v1/contracts/{piid}/vehicle.
  • agency: awarding agency name substring, case-insensitive. defense matches every DoD sub-agency.
  • naics: exactly 6 digits.
  • award_type_code: one of A (BPA Call), B (Purchase Order), C (Delivery Order), D (Definitive Contract). Not a substantive filter on its own; combine with one of the above.
  • date_from / date_to: YYYY-MM-DD bounds on action_date. Older dates are soft-clamped to the coverage floor; the clamp is surfaced in the window block.
  • amount_min / amount_max: bounds on federal_action_obligation. 0 is honored. Accepts value_min / value_max as aliases.
  • sort_by: one of action_date (default), federal_action_obligation, current_total_value_of_award, recipient_name.
  • sort_order: asc or desc (default).
  • limit: Results per page. Default 100; maximum 100 on the free trial and 1,000 on paid plans. Over the maximum returns 402.
  • offset: pagination offset.
  • fields: lean (default, 26 fields), expanded (57 fields), full (every column), or a comma-separated list.

Response

Standard list envelope: data, pagination, filters_applied, window, and _sources. pagination.total is exact (no estimate cap). Each row in data is one FPDS transaction. _sources is ["usaspending_fpds"].

Example

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://govconapi.com/api/v1/contracts/search?uei=CKV2L9GZKJK3&naics=541512&agency=defense&limit=50"

A REST API and MCP server for U.S. federal procurement data.

Get a free key, emailed instantly, or follow the quickstart.

Found something wrong, missing or confusing on this page?

Press Ctrl + Enter to send a note. Highlight text first and it travels with your note.