USAspending Federal Award & Contract Scraper avatar

USAspending Federal Award & Contract Scraper

Pricing

from $9.23 / 1,000 results

Go to Apify Store
USAspending Federal Award & Contract Scraper

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

0.33 hours

Issues response

9 days ago

Last modified

Share

USAspending Federal Award & Contract Scraper

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

Apify Coverage Output Billing

Table of contents

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

FieldTypeRequiredDefaultDescription
maxAwardsintegerno10Maximum number of federal awards to collect. Range 1 to 1000000. Free Apify plans are capped at 10 per run.
withDetailsbooleannotrueWhen on, fetches the full detail record per award (competition, set-aside, sub-award totals, executive compensation, period of performance). Adds one request per award.
keywordstringno(empty)Free-text search across award description, recipient, and identifiers, for example cybersecurity, solar, vaccine.
awardTypesstring[]no(all)Categories to include: contracts, grants, direct, loans, other, idvs. Empty includes all.
agencystringno(empty)Top-tier awarding agency name exactly as used by USAspending, for example Department of Defense.
recipientstringno(empty)Recipient name or part of it, for example Lockheed, university.
dateFromstringno(empty)Earliest award action date (YYYY-MM-DD). Earliest supported is 2007-10-01.
dateTostringno(empty)Latest award action date (YYYY-MM-DD).
sortenumnoAward AmountField to sort by: Award Amount, Recipient Name, Start Date, End Date, Award ID.
orderenumnodescSort 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.

FieldTypeDescription
awardIdstringAward ID (PIID or FAIN).
generatedAwardIdstringUSAspending generated (unique) award ID, used in the url.
recipientNamestringRecipient name.
recipientUeistringRecipient Unique Entity Identifier (UEI).
awardAmountnumberAward obligated amount, in USD.
totalOutlaysnumberTotal outlays to date, in USD, or null.
loanValuenumberFace value of loan, in USD, or null.
subsidyCostnumberLoan subsidy cost, in USD, or null.
awardTypestringAssistance award type, or null for contracts.
contractAwardTypestringContract award type, for example DELIVERY ORDER.
awardingAgencystringTop-tier awarding agency.
awardingSubAgencystringAwarding sub-agency.
fundingAgencystringTop-tier funding agency.
fundingSubAgencystringFunding sub-agency.
startDatestringPeriod of performance start date.
endDatestringPeriod of performance current end date.
issuedDatestringAssistance issued date, or null.
lastModifiedDatestringLast modified date.
baseObligationDatestringBase obligation date.
cfdaNumberstringCFDA / Assistance Listing number, or null.
naicsCodestringNAICS code.
naicsDescriptionstringNAICS description.
pscCodestringProduct or Service Code.
pscDescriptionstringPSC description.
recipientLocationobjectRecipient location (country, state, city, county, zip, congressionalDistrict, addressLine1).
placeOfPerformanceobjectPlace of performance (same shape as recipientLocation).
descriptionstringAward description.
urlstringLink to the USAspending award page.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. Populated on a failed record.
piidstringContract number (PIID). Detail field.
parentAwardPiidstringParent award PIID. Detail field.
categorystringAward category, for example contract. Detail field.
typeDescriptionstringAward type description. Detail field.
subawardCountnumberNumber of sub-awards. Detail field.
totalSubawardAmountnumberTotal sub-award amount, in USD. Detail field.
baseAndAllOptionsnumberBase and all options value, in USD. Detail field.
baseExercisedOptionsnumberBase and exercised options value, in USD. Detail field.
dateSignedstringDate the award was signed. Detail field.
periodOfPerformanceStartstringPeriod of performance start. Detail field.
periodOfPerformanceEndstringPeriod of performance end. Detail field.
potentialEndDatestringPotential end date. Detail field.
parentRecipientNamestringParent recipient name. Detail field.
recipientParentUeistringParent recipient UEI. Detail field.
recipientDunsstringRecipient DUNS (legacy), or null. Detail field.
recipientAddressobjectRecipient registered address. Detail field.
businessCategoriesstring[]Recipient business categories. Detail field.
executiveCompensationobject[]Named executives and their compensation, in USD. Detail field.
extentCompetedstringExtent competed, for example FULL AND OPEN COMPETITION. Detail field.
typeSetAsidestringSet-aside type, or null. Detail field.
numberOfOffersReceivedstringNumber of offers received. Detail field.
solicitationIdentifierstringSolicitation number. Detail field.
typeOfContractPricingstringContract pricing type. Detail field.
subcontractingPlanstringSubcontracting plan. Detail field.
productServiceDescriptionstringProduct or service description. Detail field.
awardingOfficestringAwarding office. Detail field.
fundingOfficestringFunding 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:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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 (result event). 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 error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on 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.
  • withDetails adds 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.

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.