fpds_search_awards
Search FPDS-NG federal contract award actions using structured filters like NAICS, vendor name, PIID, and date ranges. Returns detailed award data for each contract modification.
Instructions
Search FPDS-NG federal contract AWARD ACTIONS (keyless ATOM) — the AUTHORITATIVE system-of-record for contract actions (each modification is its own transaction), the source USAspending.gov derives from (and lags 1-2 days). Structured filters ONLY, AND-combined (NO raw query — a typo'd FPDS field name is a SILENT ZERO, so the tool builds the fielded q): naics (PRINCIPAL_NAICS_CODE), vendorName, piid, departmentId, contractingAgencyName, signedDate range (from/to ISO), lastModified range, keyword. At least one filter is REQUIRED. Returns award/IDV rows { piid, modNumber, parentIdvPiid, actionType, signedDate, vendorName, vendorUei, ultimateParentUei, obligatedAmount, totalObligatedAmount, naics, psc, placeOfPerformanceState, extentCompeted, setAside, businessSize, socioeconomic, … } (content root is award OR IDV — both parse). HONESTY: page size is FIXED at 10; for >10 results totalAvailable is a LOWER BOUND (totalIsLowerBound:true; true count ∈ [total, total+9]) and you MUST paginate by pagination.hasMore (page-fullness), NEVER by totalAvailable (keyless deep-paging is capped ~200K far below the advertised total). Genuine-empty (offset 0) ⇒ complete:true/total:0 + a silent-zero disclosure; an empty page at offset>0 ⇒ totalAvailable:null/complete:false (deep-paging ceiling, ambiguous); an HTML/non-feed body or an all-null-piid page ⇒ schema_drift (never a fake empty); an outage/5xx/timeout THROWS. Amounts are number|null (a 0.00 obligation and negative de-obligations are REAL, absent ⇒ null). Prefer usas_* tools for spending rollups / sub-award graphs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| piid | No | Contract/order PIID (→ PIID) — returns that action's full base+mod chain. | |
| naics | No | Principal NAICS code (→ PRINCIPAL_NAICS_CODE), e.g. '541511'. | |
| offset | No | 0-indexed page start (page size fixed at 10). Keyless deep-paging past ~200K is unreliable. | |
| keyword | No | Free-text keyword (bare full-text term; FPDS FIELD: operators are stripped for safety). | |
| vendorName | No | Vendor/contractor name phrase (→ VENDOR_NAME), e.g. 'LOCKHEED MARTIN'. | |
| departmentId | No | 4-digit contracting DEPARTMENT_ID, e.g. '9700' (DoD), '4700' (GSA). | |
| signedDateTo | No | Signed-date range END (ISO YYYY-MM-DD); pair with signedDateFrom. | |
| lastModifiedTo | No | Last-modified range END (ISO YYYY-MM-DD); pair with lastModifiedFrom. | |
| signedDateFrom | No | Signed-date range START (ISO YYYY-MM-DD); pair with signedDateTo (→ SIGNED_DATE:[from,to]). | |
| lastModifiedFrom | No | Last-modified range START (ISO YYYY-MM-DD); pair with lastModifiedTo (→ LAST_MOD_DATE:[from,to]). | |
| contractingAgencyName | No | Contracting agency name phrase (→ CONTRACTING_AGENCY_NAME), e.g. 'DEPT OF DEFENSE'. |