Skip to main content
Glama
Panda Federation Tools

Panda Federation Tools

USAspending Scraper: Federal Contract Awards & Recompete Finder

federal_contract_finder
Read-only

Find US federal contract awards and recompete leads from USAspending.gov by keywords, NAICS, PSC, agency, state, or set-aside. Get incumbent, UEI, amount, agency, end date, link, and top competitors.

Instructions

Use this to find US federal contract awards and contracts ending soon (recompete leads) from USAspending.gov. Input: keywords, NAICS, PSC, agency, state or set-aside. Output: one row per contract with incumbent, UEI, amount, agency, end date and link, plus top competitors.

Runs the Apify Actor pandadad0214/federal-contract-finder (https://apify.com/pandadad0214/federal-contract-finder) on your own Apify account. Price: $0.002 per contract found. Runs that find nothing are not charged per result. Spending is capped per call by run_max_charge_usd.

Input Schema

NameRequiredDescriptionDefault
modeNoMode. Contract awards = awards that match your filters, sorted as you choose. Recompete radar = only contracts whose period of performance ends between today and the number of months below (incumbent contracts likely to be re-solicited), soonest first. Choices: awards = Contract awards; recompete = Recompete radar (contracts ending soon).awards
dateToNoActivity to date. Optional. 2026, 2026-09 or 2026-09-30. Default: today.
sortByNoSort (contract awards mode). Largest awards first, newest start date first, latest end date first, or most recently modified first. Recompete radar always sorts by end date, soonest first. Choices: amount = Largest amount; newest = Newest start date; endingSoon = Latest end date; recentlyModified = Recently modified.amount
agenciesNoAwarding agencies. Optional. Department or sub-agency by name or abbreviation, e.g. DOD, VA, GSA, DHS, Department of the Army, Missile Defense Agency, Forest Service.
dateFromNoActivity from date. Optional. 2024, 2024-06 or 2024-06-30. Awards with a contract action (signed or modified) on or after this date. Default: 24 months ago (36 months in recompete mode). Earliest 2007-10-01.
keywordsNoKeywords. Words to find in the award description, recipient or codes, e.g. cybersecurity, janitorial, drone. Each keyword at least 3 characters; rows matching any keyword are returned. At least one filter (keywords, NAICS, PSC, agency, recipient, state or set-aside) is required.
pscCodesNoPSC codes. Optional. Product and Service Codes (what was bought), e.g. D399 other IT, R425 engineering support, S201 custodial.
maxAmountNoMaximum award amount (USD). Optional. Whole number, 0 or more USD.
minAmountNoMinimum award amount (USD). Optional. Whole number, 0 or more USD.
setAsidesNoSet-aside types. Optional. Only awards made under these small-business set-asides.
maxResultsNoMaximum results. You pay per returned contract, so this also caps the cost. Whole number, 1 to 5,000; default 100.
naicsCodesNoNAICS codes. Optional. 2 to 6 digit NAICS industry codes; a prefix covers all codes under it (5415 = computer systems design). Examples: 541512 IT services, 561720 janitorial, 236220 commercial construction.
contractTypesNoContract types. Optional. Default: all four prime contract types.
run_max_itemsNoOptional. Most results to return from this call (default from PANDA_MAX_ITEMS, 50). Also limits how many results the Actor produces and charges for, unless you set its own max field.
recipientNamesNoRecipient (company) names. Optional. Company names or UEIs to look up a competitor's or partner's contracts, e.g. Booz Allen.
recompeteMonthsNoRecompete window (months). Recompete radar only: keep contracts that end within this many months from today. Whole number, 1 to 36; default 12.
run_timeout_secsNoOptional. Seconds to wait for results (default from PANDA_TIMEOUT_SECS, 120; max 300).
performanceStatesNoPlace of performance (states). Optional. 2-letter US state codes where the work is done, e.g. AZ, TX, DC.
run_max_charge_usdNoOptional. Hard spending cap for this call in USD (default from PANDA_MAX_CHARGE_USD, 0.50).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, openWorldHint, non-idempotent and non-destructive, so the safety profile is largely covered. The description adds genuinely useful context annotations cannot carry: it runs on the caller's own Apify account, costs $0.002 per contract found, empty runs aren't charged, and spend is capped by run_max_charge_usd. However, it doesn't disclose runtime behavior, pagination/truncation of the result set, or failure modes when no filter matches.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short paragraphs: the first front-loads what the tool does and what goes in and out, the second covers execution, cost and caps. Nearly every sentence earns its place; the pricing sentence is dense but necessary given the per-result billing model.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 19-parameter tool with no output schema, the description does what's needed: it summarizes the result row shape (incumbent, UEI, amount, agency, end date, link, top competitors) and explains the billing and spend-cap model. An agent can decide whether to call this and predict the response without further information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 19 parameters in detail, including enums, examples, defaults and ranges. The description's 'Input: keywords, NAICS, PSC, agency, state or set-aside' largely restates what the schema provides and adds no syntax or format guidance beyond it. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — 'find US federal contract awards and contracts ending soon (recompete leads) from USAspending.gov' — and names the two operational modes (awards vs. recompete radar). An agent can tell this apart from adjacent lead-generation tools without opening the schema, since the sourcing domain and entity type are explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the use case (award discovery and recompete lead generation) and the mode descriptions inside the schema clarify which mode serves which intent. It also notes the at-least-one-filter constraint. What's missing is an explicit 'use X instead when…' against the closest sibling, grants_finder, which targets a different but easily confused funding type.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.