Procurement Intelligence Copilot avatar

Procurement Intelligence Copilot

Pricing

from $4.00 / 1,000 opportunity returneds

Go to Apify Store
Procurement Intelligence Copilot

Procurement Intelligence Copilot

Find and qualify public tenders from SAM.gov, UK Contracts Finder, and TED. This Actor filters noise, scores fit, and uses AI review to surface the procurement opportunities actually worth pursuing.

Pricing

from $4.00 / 1,000 opportunity returneds

Rating

0.0

(0)

Developer

Marielise

Marielise

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Public Procurement Intelligence

Find government contract opportunities and qualify them before your team burns time on bad bids. This Actor aggregates procurement notices from SAM.gov, UK Contracts Finder, and TED, then scores each opportunity against your company profile.

Best for: founders, business development teams, bid managers, consultants, and agencies that need a ranked pipeline instead of another raw tender dump.

What This Actor Does

  • Searches multiple procurement portals in one run
  • Normalizes opportunities into one schema
  • Scores each opportunity by:
    • keyword relevance
    • hard relevance gates that suppress obvious non-software work
    • NAICS / CPV code match
    • budget fit
    • preferred geography
    • set-aside compatibility
    • deadline urgency
  • Optionally uses OpenAI to re-rank the strongest candidates and demote false positives
  • Produces a ranked pipeline with clear next actions
  • Exports JSON, CSV, and a Markdown management report

Why This Is Useful

Most tender tools stop at collection. The problem is not finding notices. The problem is deciding:

  • Which ones are actually relevant?
  • Which ones fit your contract size?
  • Which ones should be reviewed now?
  • Which ones should be ignored?

This Actor turns procurement search into go / no-go triage.

AI Review

The Actor can optionally use OpenAI to review the best rule-scored opportunities and apply semantic judgment to questions like:

  • Is this actually software work, or just a generic procurement that happened to match one weak term?
  • Is this a physical-goods or construction notice that should be demoted?
  • Does the notice genuinely fit the company profile?

This is controlled by input flags. The Actor reads OPENAI_API_KEY from the environment, so users do not need to pass API credentials in Actor input.

Supported Sources

SourceRegionNotes
SAM.govUnited StatesFederal procurement opportunities
Contracts FinderUnited KingdomUK public sector contracts
TEDEuropean UnionEU-wide procurement notices

Input Examples

{
"query": "software development",
"countries": ["us", "uk", "eu"],
"maxItems": 60,
"useAiReview": true
}

Company-Profile Qualification

{
"query": "cybersecurity",
"countries": ["us", "uk"],
"onlyQualified": true,
"minFitScore": 65,
"companyProfile": {
"companyName": "SecureOps",
"keywords": ["cybersecurity", "SOC", "incident response", "threat detection"],
"excludedKeywords": ["construction", "catering"],
"naicsCodes": ["541512", "541519"],
"preferredCountries": ["us", "uk"],
"minContractValueUsd": 100000,
"maxContractValueUsd": 5000000,
"targetAgencies": ["Department of Defense", "NHS"]
}
}

Small Business Focus

{
"query": "data analytics",
"countries": ["us"],
"onlyQualified": true,
"companyProfile": {
"keywords": ["data analytics", "dashboard", "business intelligence"],
"setAsideEligibility": ["small business", "8a"]
}
}

Input Parameters

ParameterTypeDefaultDescription
querystring""Search keywords. If empty, profile keywords are used.
countriesarray["us","uk","eu"]Which procurement sources to search.
postedWithinDaysinteger30Only include recently posted notices.
deadlineWithinDaysinteger60Only include deadlines within N days when available.
statusarray["open"]Opportunity statuses to include.
valueMinnumbernoneMinimum contract value in USD.
valueMaxnumbernoneMaximum contract value in USD.
maxItemsPerSourceinteger30Raw fetch limit per source.
maxItemsinteger90Final ranked result limit.
onlyQualifiedbooleanfalseIf true, only keep opportunities above minFitScore.
minFitScoreinteger60Qualification threshold used when onlyQualified is enabled.
sortBystringfit_descfit_desc, deadline_asc, posted_desc, value_desc.
includeAnalyticsbooleantrueInclude summary analytics.
outputFormatstringfullfull, summary_only, opportunities_only.
useAiReviewbooleanfalseUse OpenAI to re-rank the strongest rule-scored opportunities.
aiReviewModelstringgpt-5-miniOpenAI model used for semantic review.
aiReviewMaxItemsinteger25Maximum number of opportunities to send to AI review.
aiReviewMinRuleScoreinteger40Minimum rule score required before AI review is attempted.
companyProfileobject{}Business profile used for qualification scoring.
proxyobjectApify ProxyProxy configuration for browser-based sources.

Company Profile Fields

FieldTypeDescription
companyNamestringYour company name for context
descriptionstringShort description of what you sell
keywordsarrayPositive fit terms
excludedKeywordsarrayTerms that count against fit
naicsCodesarrayTarget US industry codes
cpvCodesarrayTarget EU procurement codes
preferredCountriesarrayPreferred geographies
minContractValueUsdnumberSmallest target contract size
maxContractValueUsdnumberLargest target contract size
setAsideEligibilityarrayEligible US set-aside programs
targetAgenciesarrayBuyers you actively want

Output

The Actor writes two record types to the default dataset.

Summary Record

{
"type": "summary",
"summary": {
"totalOpportunities": 42,
"qualifiedOpportunities": 11,
"highPriorityOpportunities": 3,
"averageFitScore": 58.7,
"deadlinesNext7Days": 4,
"quickTake": "11 of 42 opportunities look viable. Best fit: \"Enterprise SOC Services\" (86/100).",
"recommendedActions": [
"Review 3 pursue-now opportunities immediately.",
"Prioritize 4 opportunities closing within 7 days."
]
}
}

Opportunity Record

{
"type": "opportunity",
"tenderId": "12345",
"title": "Cybersecurity Monitoring Services",
"country": "us",
"source": "SAM.gov",
"agency": {
"name": "Department of Defense",
"country": "us"
},
"value": {
"cents": 250000000,
"display": "$2,500,000",
"currency": "USD"
},
"qualification": {
"ruleFitScore": 71,
"fitScore": 84,
"qualification": "strong_fit",
"recommendedAction": "pursue_now",
"matchedKeywords": ["cybersecurity", "soc"],
"matchedCodes": ["541512"],
"riskFlags": ["Deadline is within 14 days."],
"aiReview": {
"model": "gpt-5-mini",
"relevanceScore": 92,
"decision": "strong_fit",
"confidence": "high",
"summary": "This is a genuine software/security services procurement."
}
}
}

Dataset Views

  • Overview: one-row management summary
  • Ranked Opportunities: all scored opportunities
  • Priority Pipeline: best opportunities with signals and risks

Key-Value Store Outputs

FileFormatDescription
OUTPUTJSONMain structured output
opportunities.csvCSVSpreadsheet export
REPORT.mdMarkdownHuman-readable report

Qualification Logic

Each opportunity gets a fitScore from 0-100.

Positive signals:

  • keyword matches
  • software-delivery evidence in title/category/description
  • NAICS / CPV code matches
  • preferred geography
  • budget within target range
  • target buyer match
  • compatible set-aside

Negative signals:

  • excluded keywords
  • construction / furniture / physical-goods language
  • placeholder values such as £0 or £1
  • weak generic matches like development without software evidence
  • budget mismatch
  • incompatible set-aside
  • missing value data
  • weak description
  • very short deadline
  • expired deadline

Typical Workflow

  1. Define what your company actually sells.
  2. Add contract size and geography preferences.
  3. Run daily or weekly.
  4. Review Priority Pipeline.
  5. Export qualified opportunities to CRM or bid tracker.

Limitations

  • Source websites can change HTML structure at any time.
  • Some notices do not publish contract value or clean classification codes.
  • Set-aside compatibility is heuristic and should be manually verified.
  • This Actor ranks opportunities, but it does not replace bid/no-bid review by a human.

Apify Integration Notes

This project includes:

  • .actor/input_schema.json
  • .actor/output_schema.json
  • .actor/dataset_schema.json
  • .actor/actor.json
  • typed TypeScript source
  • Dockerfile for Apify build/runtime

Development

npm install
npm run build
npm run start

Local AI setup:

$cp .env.example .env

Then add:

$OPENAI_API_KEY=your_key_here

Example local input:

{
"query": "software development",
"countries": ["us", "uk", "eu"],
"onlyQualified": false
}

Positioning

This is not just a tender scraper. It is a procurement qualification layer for companies that need a faster answer to:

Should we spend time on this bid?