Federal Contract Intelligence avatar

Federal Contract Intelligence

Pricing

from $2.40 / 1,000 results

Go to Apify Store
Federal Contract Intelligence

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

Skootle

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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.

Federal Contract Intelligence

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

  1. Open the Input tab and choose one or more search dimensions, such as recipients, naicsCodes, awardingAgencies, or keywords.
  2. For the first run, set maxAwardsPerQuery to a small value such as 1 or 10.
  3. Set enrichTopAwards no higher than the award cap for a focused detail lookup, or set it to 0 for a fast search-only run.
  4. Start the Actor, then inspect the SUMMARY record and the AWARD rows in the dataset.
  5. 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.

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

FieldTypeDefaultDescription
recipientsarray of strings[]Contractor names. Partial names can match related recipient names.
naicsCodesarray of strings[]NAICS codes, two to six digits.
awardingAgenciesarray of strings[]Top-level awarding agency names as written by USAspending.
keywordsarray of strings[]Free-text terms searched across award descriptions and identifiers.
placeOfPerformanceStatesarray of strings[]Two-letter place-of-performance state codes.
awardCategorystringcontractsOne of contracts, idvs, or grants.
fiscalYearsBackinteger3Current fiscal year plus prior years to include. Range: 1 to 10.
maxAwardsPerQueryinteger100Maximum award rows per query. Range: 1 to 500.
recompeteWindowDaysinteger540Days used to flag awards that fall inside the selected window. Range: 30 to 1825.
enrichTopAwardsinteger20Number of largest awards to retrieve with additional detail. Range: 0 to 100.
includeMarketSharebooleantrueWhen 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.

FieldTypeDescription and buyer use
recordTypestringAWARD or SUMMARY, for safe filtering.
recordIdstringStable record identifier for downstream deduplication.
schemaVersionstringOutput schema version.
queryLabelstringThe query dimension and value that produced the record.
awardIdstringAward identifier on AWARD rows.
recipientNamestringAward recipient.
awardingAgencystringAwarding agency.
awardAmountUsdnumberObligation value reported by the source.
potentialEndDatestring or nullOption-end value when available from enrichment.
daysToEndnumber or nullDays from retrieval to the selected end date.
competitionRiskstringNormalized competition classification or unknown.
numberOfOffersReceivednumber or nullOffer count when the source detail provides it.
isRecompeteCandidatebooleanWhether the award falls inside the selected recompete window.
fieldCompletenessScorenumberCompleteness signal for an award row.
usaspendingUrlstringPublic source record URL.
awardCountnumberMatched award count on a SUMMARY row.
totalObligationsUsdnumberTotal obligations in the summary.
agencyConcentrationHhinumber or nullAgency concentration score in the summary.
recompetePipelineobjectCount and value of awards inside the selected window.
competitionProfileobjectEnrichment and competition totals.
sourceStatusstringSource outcome for a summary query.
retrievedAtstringISO retrieval timestamp.
agentMarkdownstringPlain-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 wmnxr166v2jDWNebq succeeded with two schema-valid dataset records on build niQjWdJ4tkdRSZRH3.
  • 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 AWARD and SUMMARY records 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

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.