Expiring Federal Contracts: Recompete Finder (USAspending)
Pricing
from $10.00 / 1,000 expiring contract leads
Expiring Federal Contracts: Recompete Finder (USAspending)
Returns federal contracts whose performance period ends soon (likely recompetes): incumbent, value, agency, end date, days left, NAICS/PSC, place of performance and a USAspending link. Filter by category, NAICS, agency, state, keyword and value.
Pricing
from $10.00 / 1,000 expiring contract leads
Rating
0.0
(0)
Developer
FedSignals Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
List federal contracts whose period of performance ends soon. These are the deals that agencies typically re-compete. You can filter by category, PSC code, NAICS, set-aside, incumbent (name or UEI), agency, state, keyword and minimum value. Each lead gives the incumbent, value, end date, agency, a USAspending link and a SAM.gov search link for the matching notice. Incremental mode alerts you only to contracts you haven't seen, and alerts you again if an end date changes.
Why it matters
Recompetes are the best-qualified pipeline in government contracting. The requirement already exists, the budget is known, and the incumbent can be studied. Firms typically start capture 6–18 months before the end date.
Example input
{"categories": ["IT & Cyber"],"endsAfterDays": 180,"endsWithinDays": 540,"minAwardAmount": 5000000,"agencies": [],"placeOfPerformanceStates": [],"onlyNew": true,"maxItems": 500}
Example output
{"awardId": "205AE926F00059","recipient": "CTG FEDERAL, LLC","awardAmount": 9900022.76,"awardType": "DELIVERY ORDER","awardingAgency": "Department of the Treasury","awardingSubAgency": "Internal Revenue Service","endDate": "2027-04-26","daysUntilEnd": 180,"category": "IT & Cyber","naicsCode": "541519","pscCode": "7B22","placeOfPerformanceState": "WV","description": "PROCUREMENT OF 18 HPE SERVERS AND WARRANTIES","usaspendingUrl": "https://www.usaspending.gov/award/CONT_AWD_205AE926F00059_2050_NNG15SD12B_8000"}
A live test on Oct 28, 2026 for IT & Cyber contracts of $5M or more ending in 6–18 months returned 100 leads (capped by maxItems) in about 22 seconds.
Use cases
- Small and mid-size contractors building a capture pipeline.
- Teaming and partnership outreach to incumbents ahead of recompetes.
- BD consultants packaging recompete lists for clients.
Data source and caveats
The data comes from the USAspending.gov API (U.S. Department of the Treasury). It is public U.S. government data, and no key is required. The end date is the current period-of-performance end. Unexercised options, extensions or bridge contracts can move it, and an expiring order on an IDIQ may be re-issued under the same vehicle rather than openly re-competed. The USAspending API returns at most 10,000 results per sort order. The Actor reads from both ends of the window, and the run summary's windowFullyCovered tells you whether a very broad search was truncated. If it was, narrow the filters.
Scheduling
Run weekly with onlyNew: true. The first run returns your full window; later runs return only new or changed contracts.
How much does it cost?
Pay per event: you pay only for the events below plus Apify's $0.00005 run-start fee. Platform compute is included in the price.
- $0.01 per expiring-contract lead delivered.
Real examples from our test runs:
- Quick-start input (10 contracts): 10 × $0.01 = about $0.10.
- IT & Cyber, $5M+, ending in 6-18 months: our Oct 28 test hit the 100-lead cap in about 22 seconds = $1.00 for 100 leads.
- Weekly incremental run: only new or changed contracts are charged, usually a small fraction of the first run.
Use maxItems and Apify's per-run spending limit to cap spend; the Actor stops cleanly when the limit is reached.
Limits
- USAspending pages through at most 10,000 results per sort order. The Actor reads from both ends of the date window, so it covers up to 20,000 contracts per search; broader searches are truncated and flagged in the summary and status message.
samSearchUrlis a SAM.gov search for the contract number, not a guaranteed match: many task orders were never posted on SAM.gov.- The set-aside filter uses USAspending's set-aside field; contracts awarded without one only appear when
setAsidesis empty. - The same company can appear under several names or UEIs.
FAQ
What is a recompete?
When a federal contract ends, the agency usually competes the work again. Knowing the end date 6-18 months ahead gives you time to prepare a bid.
Where does the data come from?
The official USAspending.gov API. No key is needed.
Is the end date final?
No. It is the current period-of-performance end. Options, extensions and bridge contracts can move it, and some orders are re-issued on the same vehicle instead of openly re-competed.
Can I filter by PSC code, set-aside or incumbent?
Yes. pscCodes takes full codes (D399) or prefixes (D3, R4, 70). setAsides takes groups such as 8(a), sdvosb or wosb, or raw codes. incumbents takes company names (partial match) or UEIs, so you can watch a competitor's contracts as they near their end date.
How do I find the SAM.gov notice for a contract?
Open samSearchUrl. It searches SAM.gov Contract Opportunities, active and archived, for the contract number, which finds the award notice and often the follow-on notice. To track the follow-on solicitation itself, use Federal Opportunities Monitor with the agency and NAICS.
How do I know a broad search was complete?
The run summary includes windowFullyCovered. If it is false, the search matched more than the 20,000 contracts the Actor can read per search; narrow your filters.
Reliability
Measured on Apify as of Oct 29, 2026: 3 of 3 of our own test runs succeeded (100%), with a median run time of 28 seconds (longest 82 s) on small test inputs. It is a small sample from a new Actor; we will update it as runs accumulate. Local tests: IT & Cyber $5M+ returned 100 leads in about 22 seconds with 0 API errors.
Use it from AI agents (MCP)
Add this Actor as a tool in Claude Desktop, Cursor or any MCP client through the Apify MCP server:
{"mcpServers": {"federal-recompete-finder": {"url": "https://mcp.apify.com?tools=fedsignals/federal-recompete-finder","headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }}}}
Use it from code (API)
One call runs the Actor and returns the dataset items. maxTotalChargeUsd caps what the run can charge.
Python:
import requestsitems = requests.post("https://api.apify.com/v2/acts/fedsignals~federal-recompete-finder/run-sync-get-dataset-items",params={"maxTotalChargeUsd": 1},headers={"Authorization": "Bearer YOUR_APIFY_TOKEN"},json={"categories": ["IT & Cyber"], "minAwardAmount": 5000000, "onlyNew": False, "maxItems": 10, "maxScan": 2000},timeout=300,).json()print(len(items), "items")
JavaScript (Node 18+):
const res = await fetch("https://api.apify.com/v2/acts/fedsignals~federal-recompete-finder/run-sync-get-dataset-items?maxTotalChargeUsd=1",{method: "POST",headers: { Authorization: "Bearer YOUR_APIFY_TOKEN", "Content-Type": "application/json" },body: JSON.stringify({"categories": ["IT & Cyber"], "minAwardAmount": 5000000, "onlyNew": false, "maxItems": 10, "maxScan": 2000}),});const items = await res.json();console.log(items.length, "items");
Related FedSignals Actors
- SAM.gov Scraper: Federal Contract Opportunities Monitor: new SAM.gov contract opportunities, filtered and deduplicated
- USAspending Scraper: Federal Spending Trends by Category: where federal contract spending is growing
- SEC Form D Scraper: New Startup Funding Rounds: new private funding rounds from SEC Form D filings
- Building Permits Scraper: New Construction Leads by City: new building permits as construction leads
Feedback
Found a bug or need a filter or source? Open an issue on the Issues tab or email fedsignals.alerts@gmail.com.
This Actor is not affiliated with or endorsed by the U.S. government or USAspending.gov.