Federal Contract Intelligence
Pricing
from $2.40 / 1,000 results
Federal Contract Intelligence
Search USAspending.gov federal contracts, IDVs and grants by contractor, NAICS, agency or keyword. Flags recompete candidates by option end date, spots competed awards that drew a single offer, scores buyer concentration. Export, run via API, schedule and monitor runs, or integrate anywhere.
Pricing
from $2.40 / 1,000 results
Rating
0.0
(0)
Developer
Skootle
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Fast answer: what this Actor is for
Federal Contract Intelligence searches public USAspending.gov award data for contractors, NAICS codes, awarding agencies, keywords, and place-of-performance states. It returns normalized award rows plus one summary per query, including competition fields for the highest-value awards you choose to enrich, option-end signals, and agency concentration.
It is for capture teams, federal market researchers, journalists, and automation workflows that need an exportable award landscape rather than manual searches across award and detail pages.
- Run it in the Apify UI for a bounded contractor or market scan.
- Schedule it or call it by API for recurring monitoring.
- Send the dataset to a spreadsheet, webhook, or downstream agent workflow.

TL;DR
Provide at least one search dimension, choose a bounded maxAwardsPerQuery, and optionally enrich the largest awards. The dataset contains AWARD records and a SUMMARY record for each query. Award rows retain the source URL and retrieval time. Summary rows group counts, obligations, concentration, recompete-window totals, and competition coverage. Start small, inspect the dataset, then widen the query or schedule it.
Try a small dataset first. If it helps, leave an honest review.
What does Federal Contract Intelligence do?
USAspending search results and award-detail fields answer different parts of a federal market question. This Actor combines search results with an optional detail lookup for the selected top awards. The detail step adds competition, offers, set-aside, solicitation, option-end, and subaward fields when they are available from the source.
For each query it also produces a SUMMARY record. That record gives a compact count, obligation total, buyer concentration, NAICS mix, competition profile, and recompete-window result. The Actor keeps a usaspendingUrl, sourceName, and retrievedAt on award rows so downstream users can trace material decisions to the public source.
Why use USAspending award data?
USAspending.gov publishes federal award data that buyers use to research past awards, agency demand, contractors, and award history. A raw search result is useful, but the buyer often needs a scoped dataset, a consistent output shape, and an explicit distinction between a zero-match query and an upstream failure.
This Actor uses the public USAspending.gov API v2. A narrow first run limits output and makes it easier to check whether the selected contractor, code, agency, keyword, or state is the right query dimension. Source fields can be incomplete for individual awards, especially older records, and incomplete detail fields are returned as missing or unknown, not inferred.
Who needs this?
- Federal capture and business-development teams researching contractors, agencies, or NAICS markets.
- GovCon analysts building a bounded award or competition dataset for diligence.
- Journalists and oversight researchers tracing award records to their public source pages.
- Data teams exporting normalized award rows to their own reporting tools.
- AI-agent and automation workflows that need JSON records, stable record types, and source URLs.
How to use Federal Contract Intelligence
- Open the Input tab and choose one or more search dimensions, such as
recipients,naicsCodes,awardingAgencies, orkeywords. - For the first run, set
maxAwardsPerQueryto a small value such as1or10. - Set
enrichTopAwardsno higher than the award cap for a focused detail lookup, or set it to0for a fast search-only run. - Start the Actor, then inspect the
SUMMARYrecord and theAWARDrows in the dataset. - Export, schedule, or call the Actor by API only after confirming the query label, source URLs, and fields you need.
How much does Federal Contract Intelligence cost?
The deployed Actor Pricing tab displayed a price starting at $3.00 per 1,000 results when verified on 2026-09-24. Pricing can change, so use the live Pricing tab as the authoritative quote before a production or scheduled run.
A result is a dataset record. A query normally produces award rows plus one SUMMARY record. Cost therefore depends on the number of queries, the chosen award cap, and the results returned. A conservative first-run approach is one query with maxAwardsPerQuery: 1, then inspect the dataset before widening the cap.
ROI example
Scenario, not a performance claim: a buyer needs a single contractor landscape. Run one bounded contractor query, export the SUMMARY and AWARD records, and decide whether the source fields and enrichment are useful before scheduling recurring monitoring. The buyer can compare the displayed Store price with the cost of the manual research workflow they are replacing.
Source, permissions, and legal use
The Actor sends requests to the public USAspending.gov API v2. It does not require a USAspending account, browser session, source API key, proxy, or access-control bypass. It does not claim affiliation with USAspending.gov, the Department of the Treasury, or any federal agency.
Each AWARD row includes a usaspendingUrl for review against the public source. Source availability, field completeness, and downstream redistribution requirements can vary by use case. Verify material decisions and your intended use of exported data against the applicable source records and your own requirements.
Examples
Example 1: contractor landscape
{"recipients": ["BOOZ ALLEN HAMILTON"],"fiscalYearsBack": 1,"maxAwardsPerQuery": 10,"recompeteWindowDays": 90,"enrichTopAwards": 10,"includeMarketShare": false}
Use this to return a bounded contractor query with a SUMMARY record and up to ten award rows.
Example 2: NAICS market scan
{"naicsCodes": ["541512"],"fiscalYearsBack": 2,"maxAwardsPerQuery": 25,"recompeteWindowDays": 365,"enrichTopAwards": 10,"includeMarketShare": true}
Use this to inspect award rows in Computer Systems Design Services and include market-share computation when the source can support it.
Example 3: agency and keyword research
{"awardingAgencies": ["Department of Defense"],"keywords": ["zero trust"],"fiscalYearsBack": 2,"maxAwardsPerQuery": 10,"enrichTopAwards": 5}
Each supplied search value becomes its own query and receives its own SUMMARY record.
Example 4: state-filtered, search-only pass
{"placeOfPerformanceStates": ["VA"],"keywords": ["cybersecurity"],"awardCategory": "contracts","fiscalYearsBack": 1,"maxAwardsPerQuery": 10,"enrichTopAwards": 0}
Use enrichTopAwards: 0 for a faster first pass when search rows are sufficient.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
recipients | array of strings | [] | Contractor names. Partial names can match related recipient names. |
naicsCodes | array of strings | [] | NAICS codes, two to six digits. |
awardingAgencies | array of strings | [] | Top-level awarding agency names as written by USAspending. |
keywords | array of strings | [] | Free-text terms searched across award descriptions and identifiers. |
placeOfPerformanceStates | array of strings | [] | Two-letter place-of-performance state codes. |
awardCategory | string | contracts | One of contracts, idvs, or grants. |
fiscalYearsBack | integer | 3 | Current fiscal year plus prior years to include. Range: 1 to 10. |
maxAwardsPerQuery | integer | 100 | Maximum award rows per query. Range: 1 to 500. |
recompeteWindowDays | integer | 540 | Days used to flag awards that fall inside the selected window. Range: 30 to 1825. |
enrichTopAwards | integer | 20 | Number of largest awards to retrieve with additional detail. Range: 0 to 100. |
includeMarketShare | boolean | true | When a NAICS code is set, calculate market-share fields when supported by the source result. |
At least one query dimension should be supplied. Keep the first run bounded and increase only after checking the output.
Federal Contract Intelligence output format
The default dataset mixes two record types. Use recordType to separate AWARD and SUMMARY rows in downstream workflows.
| Field | Type | Description and buyer use |
|---|---|---|
recordType | string | AWARD or SUMMARY, for safe filtering. |
recordId | string | Stable record identifier for downstream deduplication. |
schemaVersion | string | Output schema version. |
queryLabel | string | The query dimension and value that produced the record. |
awardId | string | Award identifier on AWARD rows. |
recipientName | string | Award recipient. |
awardingAgency | string | Awarding agency. |
awardAmountUsd | number | Obligation value reported by the source. |
potentialEndDate | string or null | Option-end value when available from enrichment. |
daysToEnd | number or null | Days from retrieval to the selected end date. |
competitionRisk | string | Normalized competition classification or unknown. |
numberOfOffersReceived | number or null | Offer count when the source detail provides it. |
isRecompeteCandidate | boolean | Whether the award falls inside the selected recompete window. |
fieldCompletenessScore | number | Completeness signal for an award row. |
usaspendingUrl | string | Public source record URL. |
awardCount | number | Matched award count on a SUMMARY row. |
totalObligationsUsd | number | Total obligations in the summary. |
agencyConcentrationHhi | number or null | Agency concentration score in the summary. |
recompetePipeline | object | Count and value of awards inside the selected window. |
competitionProfile | object | Enrichment and competition totals. |
sourceStatus | string | Source outcome for a summary query. |
retrievedAt | string | ISO retrieval timestamp. |
agentMarkdown | string | Plain-language, source-linked summary for an agent workflow. |
Sample record
The following redacted, schema-valid AWARD record comes from a successful bounded Cloud canary on 2026-09-24. It used recipients: ["BOOZ ALLEN HAMILTON"], fiscalYearsBack: 1, maxAwardsPerQuery: 1, recompeteWindowDays: 90, and enrichTopAwards: 1.
{"recordType": "AWARD","recordId": "usaspending:CONT_AWD_36C10B21N10070021_3600_VA11816D1007_3600","schemaVersion": "1.0.0","queryLabel": "recipient:BOOZ ALLEN HAMILTON","awardId": "36C10B21N10070021","recipientName": "BOOZ ALLEN HAMILTON INC","awardingAgency": "Department of Veterans Affairs","awardAmountUsd": 1365285599.63,"potentialEndDate": "2026-08-07","daysToEnd": -49,"competitionRisk": "competed_multiple_offers","numberOfOffersReceived": 6,"isRecompeteCandidate": false,"fieldCompletenessScore": 96,"sourceName": "USAspending.gov API v2","sourceStatus": "ok","retrievedAt": "2026-09-24T08:20:11.012Z"}
During the Actor run
The Actor issues a query for each supplied search value. It limits award rows to maxAwardsPerQuery and optionally enriches the selected largest awards. It writes award rows and one SUMMARY row per query to the default dataset. The output schema also exposes links to the dataset and AGENT_BRIEFING key-value record.
A source-backed no-match can produce a zero-count summary. Source drift, malformed responses, or unusable source rows are handled as run errors rather than treated as a successful empty result. For scheduled use, deduplicate with recordId, preserve retrievedAt, and review records with lower completeness or unknown competition fields before acting on them.
FAQ
Can I use this with an API, schedule, or agent workflow?
Yes. The Actor uses standard Apify runs, dataset export, API access, schedules, webhooks, and integrations. Filter the dataset by recordType before combining award and summary data in another system.
Why does an award have competitionRisk: "unknown"?
The award may not have been selected for enrichment, or the public source detail may not provide the competition fields. Increase enrichTopAwards only after validating a bounded sample.
What is the cheapest safe way to try it?
Run one query with maxAwardsPerQuery: 1 and enrichTopAwards: 1, then inspect the resulting SUMMARY and AWARD rows before widening the query.
What happens when no award matches?
A source-backed no-match is represented by a zero-count SUMMARY record. Inspect sourceStatus and the query label to distinguish it from an upstream run error.
Will source changes break it?
Public source fields and responses can change. The Actor returns source links and retrieval time for review and fails loudly on detected malformed or unusable source responses. Re-run a bounded query when a downstream consumer sees unexpected fields or counts.
Maintenance status
- Last verified: 2026-09-24
- Verified behavior: 32 local tests passed, TypeScript build passed, and Cloud canary
wmnxr166v2jDWNebqsucceeded with two schema-valid dataset records on buildniQjWdJ4tkdRSZRH3. - Maintenance promise: report reproducible defects through the Actor Issues tab. No response-time promise is made here.
Why choose Federal Contract Intelligence?
- Combines bounded award search with optional award-detail enrichment.
- Separates
AWARDandSUMMARYrecords for buyer and automation workflows. - Includes public source URLs, retrieval timestamps, and field-completeness signals.
- Best for users who need normalized award research. Use USAspending directly when a raw, manual source lookup is sufficient.
Other Skootle Actors you might want to check
- Federal Rulemaking Monitor for public Federal Register rules and comment deadlines.
- SAM.gov Federal Contracts for open federal solicitations alongside award history.
- SEC EDGAR Filings for public-company filings in a related diligence workflow.
Support and contact
File reproducible bugs or feature requests through the Actor's Issues tab. Include the run ID, query input, expected result, and observed dataset behavior when possible.