US Federal Contracts Scraper avatar

US Federal Contracts Scraper

Pricing

from $0.85 / 1,000 contracts

Go to Apify Store
US Federal Contracts Scraper

US Federal Contracts Scraper

Search US federal contract awards by keyword, agency, recipient, NAICS code, and date. Export award values, recipients, agencies, and performance details.

Pricing

from $0.85 / 1,000 contracts

Rating

0.0

(0)

Developer

Trove Vault

Trove Vault

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Extract structured US federal contract award records from USAspending.gov. Search by keywords, recipient, awarding agency, NAICS code and date range, then download rows with award IDs, recipients, amounts, descriptions, agencies, dates, procurement classifications and public record URLs.

This is a source scraper. It preserves the fields reported by USAspending and does not claim that a contract is open for bids, available for subcontracting or newly created unless the selected date filter supports that interpretation. Use newAwardsOnly when you need awards whose base transaction falls inside the period; an ordinary action-date search can return modifications to older awards.

Who uses this Actor?

  • GovCon research teams export a focused award sample for analysis.
  • Business-development teams search historical awards by service, agency or NAICS code.
  • Analysts build a dated recipient or agency dataset for internal reporting.
  • Other Actors consume the normalized rows through an Apify dataset.

How do I run it?

{
"keywords": ["cybersecurity"],
"startDate": "2026-06-01",
"endDate": "2026-09-05",
"newAwardsOnly": true,
"maxResults": 3
}

startDate and endDate are required. The endpoint supports data from 1 October 2007 onward and this Actor limits one search to 366 days. Results are sorted by award amount descending. maxResults accepts 1–1000 rows.

What input can I use?

FieldDescription
keywordsOptional award-description terms, up to 10. Example: cybersecurity.
recipientSearchTextOptional recipient name text.
naicsCodesOptional NAICS codes, up to 25.
agenciesOptional top-tier awarding agency names, up to 25.
startDate, endDateRequired inclusive date range in YYYY-MM-DD.
newAwardsOnlyUses the base transaction date so the period focuses on newly established awards.
dateTypeaction_date, date_signed, last_modified_date or new_awards_only; default is action_date.
awardTypeCodesUSAspending codes; default A, B, C, D selects procurement contracts.
maxResultsRows returned, 1–1000; default 100.
datasetIdOptional Apify dataset to append the same rows to.
runIdOptional client or pipeline reference copied to each row.

Set newAwardsOnly: true for base-transaction filtering; it takes precedence over dateType because the Apify form may supply the date-type default automatically. Inputs are validated before the upstream request. Invalid input fails with a clear message in RUN_SUMMARY.

What data does the Actor return?

One row is written per award returned by the source. A typical row looks like:

{
"awardId": "47QFCA26F0024",
"recipientName": "GENERAL DYNAMICS INFORMATION TECHNOLOGY, INC.",
"awardAmount": 19613720.41,
"description": "ENTERPRISE NETWORK OPERATIONS AND CYBERSECURITY SUPPORT ENOCS",
"awardingAgency": "General Services Administration",
"startDate": "2026-06-29",
"endDate": "2027-06-30",
"awardDateSigned": "2026-06-29",
"naicsCode": "541512",
"naicsDescription": "Computer Systems Design Services",
"sourceRecordUrl": "https://www.usaspending.gov/award/CONT_AWD_47QFCA26F0024_4732_47QTCK18D0003_4732"
}

The dataset also includes recipient identifiers, funding agency, award type, PSC fields, place-of-performance codes, contract award type, set-aside type and extent competed when the source supplies them. Missing source fields are omitted from a row. RUN_SUMMARY records result count, pagination and source messages.

How can I integrate it?

curl --request POST \
'https://api.apify.com/v2/acts/trovevault~federal-contracts-scraper/run-sync-get-dataset-items' \
--header "Authorization: Bearer ${APIFY_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{"keywords":["cybersecurity"],"startDate":"2026-06-01","endDate":"2026-09-05","newAwardsOnly":true,"maxResults":3}'

What are the source limits?

The Actor uses the public USAspending API over HTTPS and does not require an API key. Search fields and date semantics follow USAspending's API contract. The site's own documentation warns that data availability and reporting timing vary by agency; Department of Defense procurement data may be delayed. An award record is not a solicitation and does not indicate that the recipient is seeking partners.

The new_awards_only date type refers to a base transaction, while action_date commonly refers to the latest transaction. This distinction matters when a recent modification belongs to an older contract. Always inspect awardDateSigned, startDate, endDate and the description before making a commercial or compliance decision.

The Actor performs one bounded API request and does not crawl award attachments, SAM.gov notices, private systems or login-protected pages. USAspending can return a hasNextPage indication when more rows match than maxResults; rerun with a narrower filter or use pagination in a downstream workflow.

How do I troubleshoot a run?

IssueLikely causeWhat to do
No awards are returnedThe filters are too narrow or the agency has not reported matching dataBroaden the date range or remove one optional filter, then retry.
A recent search includes an older awardaction_date can select a recent modification to an existing awardEnable newAwardsOnly when you need newly established awards.
Fewer rows appear than the source reportsUSAspending can repeat the same award across result recordsThe Actor removes duplicate award records; inspect duplicateCount in RUN_SUMMARY.
The upstream request failsUSAspending may be temporarily unavailable or rate-limiting requestsRetry later; the error remains available in RUN_SUMMARY.

Frequently asked questions

Does it find open opportunities? No. It extracts awards already recorded by USAspending. Use an opportunities source for solicitations and deadlines.

Does it include grants? The default award codes select contracts. Change awardTypeCodes only when you intentionally need other USAspending award types.

Can I schedule it? Yes. Use an Apify Schedule with a rolling date range and a runId to identify each collection. The Actor does not create its own schedule.

Can I append to an existing dataset? Yes, provide datasetId and ensure the running account can write to that dataset. The default dataset is populated as well.

For a suspected source or normalization issue, open an Actor issue with sanitized input, the award ID and the observed field. Do not include tokens or confidential information.

Changelog

  • 0.1.0: USAspending contract award extraction with keyword, recipient, agency, NAICS, date and award-type filters; normalized procurement fields; dataset and workflow integration.