US Federal Contract Awards & Recompete Finder (USAspending)
Pricing
Pay per usage
US Federal Contract Awards & Recompete Finder (USAspending)
Find US federal contracts expiring soon (recompetes) or search awarded government contracts by agency, keyword, date and amount. Official USAspending data.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Ground Truth
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
US Federal Government Contract Awards Search + Recompete Finder (USAspending)
Find federal contracts coming up for re-bid, or search every awarded US federal government contract — by agency, keyword, date, and dollar amount. Built on the Treasury's official USAspending data, with every result linking back to the government record so you can verify it yourself.
Federal contract data, government spending records, and contract award history in clean JSON. No login, no scraping, no third-party data reseller.
Find recompetes: contracts coming up for re-bid
When a federal contract's period of performance ends, the work usually has to be re-competed. Those are the highest-probability opportunities in government contracting, and they are visible in public data 12–18 months before anyone issues a solicitation.
Set expiring_within_days and this becomes a recompete finder. Set expiring_after_days too, and you skip the ones ending too soon to bid on.
expiring_after_days: 120expiring_within_days: 365min_amount: 5000000
Returns contracts over $5M expiring between four months and a year out — with the incumbent, the agency, the dollar value, and days_until_expiry on every record:
{"award_id": "47QFCA22F0021","recipient": "PERATON ENTERPRISE SOLUTIONS LLC","amount_usd": 682369225.00,"awarding_agency": "General Services Administration","end_date": "2026-12-17","days_until_expiry": 120,"verify_url": "https://www.usaspending.gov/award/..."}
One honest limit: recompete mode searches contracts with recorded activity in the past year, because the API caps how deep results can be paged. A long-dormant contract with no recent modifications may not appear. If your search is too broad to page through, the run says so in the log rather than returning a confidently empty list.
What you'd use this for
Find who is winning government contracts in your market. Search federal contract awards by keyword and see which companies the government is paying, how much, and through which agency. Useful for competitive research, market sizing, and partner identification in the govcon space.
Track a competitor's federal contract history. Pull every award a specific recipient has received, with dollar amounts and periods of performance.
Size an agency's spending before you bid. Filter federal contract awards by agency and dollar threshold to see how much a department actually spends in a category.
Monitor federal contract awards on a schedule. Pull awards over a rolling date range and diff them to catch new government contract activity.
Feed an AI agent. Returns flat JSON with stable field names, so an agent can call this as a tool and use the output without parsing prose. Every record includes a verification URL, which matters when an agent's output has to be auditable.
What this does not do
Stated plainly, because a mismatch here is the fastest route to a bad review:
- It searches awarded contracts, not open opportunities. This is money the government has already committed. If you want solicitations you can bid on, you want SAM.gov opportunity data, which this is not.
- Federal only. No state, county, or municipal contracts.
- No data before fiscal year 2008. That is where USAspending coverage begins.
- It does not score, rank, or predict. It returns the government's record, reformatted.
Sample output
Searching Department of Energy contract awards:
{"award_id": "DEAC0500OR22725","recipient": "UT-BATTELLE LLC","amount_usd": 42257183758.79,"awarding_agency": "Department of Energy","awarding_sub_agency": "Department of Energy","start_date": "1999-10-15","end_date": "2030-03-31","description": "MANAGEMENT AND OPERATION OF THE OAK RIDGE NATIONAL LABORATORY","verify_url": "https://www.usaspending.gov/award/CONT_AWD_DEAC0500OR22725_8900_-NONE-_-NONE-"}
Check it yourself. Open the verify_url on any record and compare against usaspending.gov. Every field is the US Treasury's published record — this tool reformats that data, it does not estimate, infer, or enrich any of it.
That link is not decoration. It is the reason to trust the output over a scraper that might be returning stale or mangled data, and it is on every single record.
When something goes wrong
{ "error": "start_date is '01/15/2024', which is not a valid YYYY-MM-DD date" }
Errors name what was wrong and what to do about it. The run fails cleanly rather than returning a partial dataset that looks like a real answer. If your filters match nothing, the run succeeds and returns zero records with a log line saying so — an empty result and a broken tool should never look the same.
Configuration
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | no | — | Free-text search across award descriptions and recipient names. Max 500 characters |
expiring_within_days | integer | no | — | Recompete mode. Only contracts ending within this many days. 1–1825 |
expiring_after_days | integer | no | 0 | Skip contracts ending sooner than this — bid lead time. Requires the field above |
agencies | array | no | all | Awarding agency names, e.g. ["Department of Defense"] |
start_date | string | no | 2024-10-01 | ISO YYYY-MM-DD. No earlier than 2007-10-01 |
end_date | string | no | today | ISO YYYY-MM-DD |
award_types | array | no | ["A","B","C","D"] | Contract type codes — see below |
min_amount | number | no | — | Only awards at or above this dollar amount |
limit | integer | no | 25 | Records to return, 1–100 |
Results are sorted by award amount, largest first — or by soonest expiry in recompete mode.
Award type codes
| Code | Meaning |
|---|---|
A | BPA Call |
B | Purchase Order |
C | Delivery Order |
D | Definitive Contract |
Grant, loan, and direct-payment codes (02–11) are also accepted if you want federal assistance awards rather than contracts.
Output fields
award_id, recipient, amount_usd, awarding_agency, awarding_sub_agency, start_date, end_date, description, verify_url.
In recompete mode, each record also carries days_until_expiry.
Every field is always present. A value the government has not published comes back as null — never 0 or "", because those would misstate the record.
Errors
| Error | Meaning |
|---|---|
Invalid input: … | A parameter was malformed. The message names which and why |
USAspending API returned HTTP … | The upstream government API failed. Nothing is charged |
Could not reach USAspending API | Network failure. Nothing is charged |
Pricing
Free while this launches. Run it as much as you like — you pay only Apify's platform compute, which is a fraction of a cent per run.
Pay-per-event pricing will be introduced later at $0.005 per award record returned ($5.00 per 1,000 — a 25-record run would cost $0.125). This listing will be updated before that happens, and Apify gives 14 days' notice on any pricing change.
When it is priced, failed runs will still cost nothing. Charging happens per record delivered, so if the government API is down or your input is rejected, you are not billed. Several tools in this category fail a large share of their runs; you should not pay for that.
Frequently asked questions
Where does this data come from? USAspending.gov, the US Department of the Treasury's official open-data source for federal spending, published under the DATA Act. It is the same data the government publishes on its own website.
Is this scraping? No. It calls the documented public USAspending API. No login, no browser automation, no bot evasion, no terms being worked around.
How current is the data? As current as USAspending itself. Federal agencies report on their own cycles, so very recent awards may take time to appear. This tool does not add or reduce that lag.
Can I use this to find contracts to bid on? Yes, indirectly, and that is the point of recompete mode. This shows contracts ending soon, which is where the next solicitation comes from — usually months before it reaches SAM.gov. For solicitations already published, use SAM.gov.
What is a recompete? When a contract's period of performance ends, the agency generally has to re-solicit the work. The current holder is the incumbent; everyone else is trying to unseat them. Finding these early is the core of government business development.
Does it include subcontracts? No. Prime awards only.
Can I get more than 100 results?
Not in a single run. Run again with a narrower date range or a higher min_amount to partition the results.
Why is there a verification link on every record? Because you should not have to take a data tool's word for it. Open the link and compare. If a value ever disagrees with usaspending.gov, that is a bug and it should be reported.
Does this work as a tool for an AI agent? Yes. Flat JSON, stable field names, described errors, and a verification URL per record so the agent's output stays auditable.
Related
- USAspending.gov — the source
- USAspending API documentation — the documented endpoint this calls
- SAM.gov — where open federal contract opportunities live, which this tool does not cover