USAspending Federal Award & Contract Scraper
Pricing
from $9.23 / 1,000 results
USAspending Federal Award & Contract Scraper
Scrape US federal awards from USAspending.gov: contracts, grants, loans and direct payments. Get recipient, UEI, award amount, awarding agency, NAICS, PSC, dates and place of performance. Export to JSON, CSV or Excel.
Pricing
from $9.23 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
0.33 hours
Issues response
9 days ago
Last modified
Categories
Share
USAspending Federal Award & Contract Scraper
Here is one real result, with every field the actor returns (with withDetails enabled):
{"awardId": "47QFCA20F0049","generatedAwardId": "CONT_AWD_47QFCA20F0049_4732_47QTCK18D0003_4732","recipientName": "GENERAL DYNAMICS INFORMATION TECHNOLOGY, INC.","recipientUei": "SMNWM6HN79X5","awardAmount": 396604521.78,"totalOutlays": -40013.22,"loanValue": null,"subsidyCost": null,"awardType": null,"contractAwardType": "DELIVERY ORDER","awardingAgency": "General Services Administration","awardingSubAgency": "Federal Acquisition Service","fundingAgency": "Department of Defense","fundingSubAgency": "Department of the Army","startDate": "2020-09-25","endDate": "2025-10-24","issuedDate": null,"lastModifiedDate": "2026-05-26 08:08:52","baseObligationDate": "2020-09-25","cfdaNumber": null,"naicsCode": "541512","naicsDescription": "COMPUTER SYSTEMS DESIGN SERVICES","pscCode": "D318","pscDescription": "IT AND TELECOM- INTEGRATED HARDWARE/SOFTWARE/SERVICES SOLUTIONS, PREDOMINANTLY SERVICES","recipientLocation": {"country": "UNITED STATES", "state": "Virginia", "city": "FAIRFAX", "county": "FAIRFAX","zip": "22030", "congressionalDistrict": "08", "addressLine1": "3211 JERMANTOWN RD"},"placeOfPerformance": {"country": "UNITED STATES", "state": "FLORIDA", "city": "DORAL", "county": "MIAMI-DADE","zip": "33172", "congressionalDistrict": "26", "addressLine1": null},"description": "THE SCOPE OF THIS REQUIREMENT INCLUDES PROGRAM MANAGEMENT SERVICES, TRANSITION SERVICES, AND A FULL RANGE OF ENTERPRISE IT-RELATED SERVICES AND TECHNICAL SOLUTIONS THAT SPAN CYBERSECURITY AND IT MANAGEMENT.","url": "https://www.usaspending.gov/award/CONT_AWD_47QFCA20F0049_4732_47QTCK18D0003_4732","observedAt": "2026-08-10T14:40:58.989Z","error": null,"piid": "47QFCA20F0049","parentAwardPiid": "47QTCK18D0003","category": "contract","typeDescription": "DELIVERY ORDER","subawardCount": 193,"totalSubawardAmount": 115999143.21,"baseAndAllOptions": 819154196,"baseExercisedOptions": 447397990,"dateSigned": "2020-09-25","periodOfPerformanceStart": "2020-09-25","periodOfPerformanceEnd": "2025-10-24","potentialEndDate": "2027-04-24 00:00:00","parentRecipientName": "GENERAL DYNAMICS CORP","recipientParentUei": "VF58HFRNGEL8","recipientDuns": null,"recipientAddress": {"country": "UNITED STATES", "state": "VIRGINIA", "city": "FAIRFAX", "county": "FAIRFAX","zip": "22030", "congressionalDistrict": "11", "addressLine1": "3211 JERMANTOWN RD"},"businessCategories": ["Category Business", "Corporate Entity Not Tax Exempt", "Not Designated a Small Business", "Special Designations", "U.S.-Owned Business"],"executiveCompensation": [{ "name": "AMY GILLILAND", "amount": 6124570 },{ "name": "ALISON HARBRECHT", "amount": 1568456 },{ "name": "KYLE MCNAMARA", "amount": 1492487 },{ "name": "TODD ROSSINI", "amount": 859954 }],"extentCompeted": "FULL AND OPEN COMPETITION","typeSetAside": null,"numberOfOffersReceived": "6","solicitationIdentifier": "47QFCA20R0015","typeOfContractPricing": "COST PLUS AWARD FEE","subcontractingPlan": "INDIVIDUAL SUBCONTRACT PLAN","productServiceDescription": "IT AND TELECOM- INTEGRATED HARDWARE/SOFTWARE/SERVICES SOLUTIONS, PREDOMINANTLY SERVICES","awardingOffice": "GSA FAS AAS FEDSIM","fundingOffice": "W096 USA ELM HQ USSOUTHCOM"}
The most complete USAspending federal award scraper available. It returns every field the USAspending award search exposes for each award, and when withDetails is on it adds the full detail record: sub-award totals, competition and set-aside, contract pricing, recipient business categories, executive compensation, and period of performance. Six filters let you target exactly the awards you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor calls the public USAspending award search, applies the filters you pass as input, paginates through the matching awards, and writes one normalized record per award to the run's dataset. Amounts are returned as numbers, dates as strings, and missing source values as null. When withDetails is enabled (the default) the actor fetches the full detail record for each award with one extra request, adding competition, set-aside, sub-award totals, executive compensation, contract pricing, and period of performance.
Data covers all US federal prime awards tracked by USAspending: contracts, grants, direct payments, loans, other financial assistance, and IDVs. The earliest supported action date is 2007-10-01.
Quickstart
Open the actor, paste this into the input, and press Run. It returns the 10 largest cybersecurity contracts with full detail records.
{"maxAwards": 10,"withDetails": true,"keyword": "cybersecurity","awardTypes": ["contracts"],"sort": "Award Amount","order": "desc"}
Every input field is optional, but a keyword, recipient, agency, or date range is recommended to focus the search. Set withDetails to false for a faster, lighter pull without the per-award detail fields.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
maxAwards | integer | no | 10 | Maximum number of federal awards to collect. Range 1 to 1000000. Free Apify plans are capped at 10 per run. |
withDetails | boolean | no | true | When on, fetches the full detail record per award (competition, set-aside, sub-award totals, executive compensation, period of performance). Adds one request per award. |
keyword | string | no | (empty) | Free-text search across award description, recipient, and identifiers, for example cybersecurity, solar, vaccine. |
awardTypes | string[] | no | (all) | Categories to include: contracts, grants, direct, loans, other, idvs. Empty includes all. |
agency | string | no | (empty) | Top-tier awarding agency name exactly as used by USAspending, for example Department of Defense. |
recipient | string | no | (empty) | Recipient name or part of it, for example Lockheed, university. |
dateFrom | string | no | (empty) | Earliest award action date (YYYY-MM-DD). Earliest supported is 2007-10-01. |
dateTo | string | no | (empty) | Latest award action date (YYYY-MM-DD). |
sort | enum | no | Award Amount | Field to sort by: Award Amount, Recipient Name, Start Date, End Date, Award ID. |
order | enum | no | desc | Sort order: desc or asc. |
Filters combine with logical AND.
Output reference
One dataset item per award. Detail fields (piid onward below) are present only when withDetails is enabled. Types: string, number, object, array, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
awardId | string | Award ID (PIID or FAIN). |
generatedAwardId | string | USAspending generated (unique) award ID, used in the url. |
recipientName | string | Recipient name. |
recipientUei | string | Recipient Unique Entity Identifier (UEI). |
awardAmount | number | Award obligated amount, in USD. |
totalOutlays | number | Total outlays to date, in USD, or null. |
loanValue | number | Face value of loan, in USD, or null. |
subsidyCost | number | Loan subsidy cost, in USD, or null. |
awardType | string | Assistance award type, or null for contracts. |
contractAwardType | string | Contract award type, for example DELIVERY ORDER. |
awardingAgency | string | Top-tier awarding agency. |
awardingSubAgency | string | Awarding sub-agency. |
fundingAgency | string | Top-tier funding agency. |
fundingSubAgency | string | Funding sub-agency. |
startDate | string | Period of performance start date. |
endDate | string | Period of performance current end date. |
issuedDate | string | Assistance issued date, or null. |
lastModifiedDate | string | Last modified date. |
baseObligationDate | string | Base obligation date. |
cfdaNumber | string | CFDA / Assistance Listing number, or null. |
naicsCode | string | NAICS code. |
naicsDescription | string | NAICS description. |
pscCode | string | Product or Service Code. |
pscDescription | string | PSC description. |
recipientLocation | object | Recipient location (country, state, city, county, zip, congressionalDistrict, addressLine1). |
placeOfPerformance | object | Place of performance (same shape as recipientLocation). |
description | string | Award description. |
url | string | Link to the USAspending award page. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. Populated on a failed record. |
piid | string | Contract number (PIID). Detail field. |
parentAwardPiid | string | Parent award PIID. Detail field. |
category | string | Award category, for example contract. Detail field. |
typeDescription | string | Award type description. Detail field. |
subawardCount | number | Number of sub-awards. Detail field. |
totalSubawardAmount | number | Total sub-award amount, in USD. Detail field. |
baseAndAllOptions | number | Base and all options value, in USD. Detail field. |
baseExercisedOptions | number | Base and exercised options value, in USD. Detail field. |
dateSigned | string | Date the award was signed. Detail field. |
periodOfPerformanceStart | string | Period of performance start. Detail field. |
periodOfPerformanceEnd | string | Period of performance end. Detail field. |
potentialEndDate | string | Potential end date. Detail field. |
parentRecipientName | string | Parent recipient name. Detail field. |
recipientParentUei | string | Parent recipient UEI. Detail field. |
recipientDuns | string | Recipient DUNS (legacy), or null. Detail field. |
recipientAddress | object | Recipient registered address. Detail field. |
businessCategories | string[] | Recipient business categories. Detail field. |
executiveCompensation | object[] | Named executives and their compensation, in USD. Detail field. |
extentCompeted | string | Extent competed, for example FULL AND OPEN COMPETITION. Detail field. |
typeSetAside | string | Set-aside type, or null. Detail field. |
numberOfOffersReceived | string | Number of offers received. Detail field. |
solicitationIdentifier | string | Solicitation number. Detail field. |
typeOfContractPricing | string | Contract pricing type. Detail field. |
subcontractingPlan | string | Subcontracting plan. Detail field. |
productServiceDescription | string | Product or service description. Detail field. |
awardingOffice | string | Awarding office. Detail field. |
fundingOffice | string | Funding office. Detail field. |
On a failed run the actor writes a single item with a populated error field instead of an award, and does not charge for it.
Example output record
Real record from a live run (input {"maxAwards": 10, "withDetails": true, "keyword": "cybersecurity", "awardTypes": ["contracts"], "sort": "Award Amount", "order": "desc"}). Same record shown at the top of this page:
{"awardId": "47QFCA20F0049","recipientName": "GENERAL DYNAMICS INFORMATION TECHNOLOGY, INC.","recipientUei": "SMNWM6HN79X5","awardAmount": 396604521.78,"awardingAgency": "General Services Administration","fundingAgency": "Department of Defense","naicsCode": "541512","pscCode": "D318","subawardCount": 193,"totalSubawardAmount": 115999143.21,"extentCompeted": "FULL AND OPEN COMPETITION","typeOfContractPricing": "COST PLUS AWARD FEE","numberOfOffersReceived": "6","url": "https://www.usaspending.gov/award/CONT_AWD_47QFCA20F0049_4732_47QTCK18D0003_4732","observedAt": "2026-08-10T14:40:58.989Z","error": null}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~usaspending-awards-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"keyword":"cybersecurity","awardTypes":["contracts"],"maxAwards":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~usaspending-awards-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"agency":"Department of Defense","recipient":"Lockheed","maxAwards":100}'
Apify CLI:
apify call scrapers_lat/usaspending-awards-scraper \--input '{"keyword":"solar","dateFrom":"2023-01-01","withDetails":false}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per award returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a request errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 awards per run. Upgrade for higher
maxAwards. withDetailsadds one request per award. It does not add a separate charge, but larger pulls with details on take longer.
FAQ and troubleshooting
A run returned 0 records. Why? The filter combination matched nothing in the source. Loosen filters (for example widen the date range or drop the agency name), or try a broader keyword. Zero-result runs are not charged.
What is the difference between awardAmount and baseAndAllOptions?
awardAmount is the obligated amount. baseAndAllOptions (a detail field) is the total potential value including all option periods.
Does it include sub-awards?
The detail record includes subawardCount and totalSubawardAmount. For the individual sub-award rows, use the USAspending Sub-Award Scraper.
Why are the detail fields missing?
withDetails was set to false. Enable it (the default) to get competition, set-aside, executive compensation, and period-of-performance fields.
How far back does the data go?
The earliest supported award action date is 2007-10-01.
Is this an official government tool? No. This actor is independent and has no affiliation with USAspending or the U.S. Treasury. It reads only data that is publicly available through USAspending. Use the results in accordance with the source's terms.
Related scrapers
- USAspending Sub-Award Scraper: individual federal sub-awards.
- NSF Research Grant Awards Scraper: US National Science Foundation awards.
- Grants.gov Opportunity Scraper: US federal grant opportunities.
- SAM.gov Opportunities Scraper: US federal contract opportunities.
- Federal Register Document Scraper: US Federal Register documents.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with USAspending or the U.S. Treasury. Accesses only publicly available federal award data. Use in accordance with the source's terms.
