RFP & Tender Fit Monitor — Bid/No-Bid Scoring & Alerts
Monitor new TED, UK Find a Tender, and SAM.gov notices and get a ranked bid/no-bid fit score per tender, with deadlines, eligibility flags, and required docs.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
sources,keywords,cpvCodes(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Inputs
| Field | What it does | Type |
|---|---|---|
sources | Which official procurement feeds to check. Valid values: TED (EU), UK_FTS (UK Find a Tender), SAM_GOV (US). TED and UK_FTS are keyless; SAM_GOV needs a free SAM.gov API key in 'samApiKey' — if omitted, that source is skipped with a clear message. Unknown values are ignored. | array |
keywords | Free-text terms describing the work you do (matched against notice title/description). Used to filter TED/UK and to inform fit scoring. | array |
cpvCodes | Common Procurement Vocabulary codes to match (e.g. 72000000 = IT services). Filters TED server-side and UK client-side. Leave empty to rely on keywords. | array |
naicsCodes | North American Industry Classification codes for SAM.gov (e.g. 541512 = Computer Systems Design). One query per code (max 3 used) to respect SAM.gov rate limits. | array |
vendorProfile | Your firm's profile — this is what each tender is scored AGAINST. capabilities/certifications are arrays of strings; eligibleRegions is country codes (e.g. GB, US, PL) or empty for no region restriction; min/maxContractValue are numbers or null; smallBusiness is true/false. | object |
generateFitScore | Run the bid/no-bid fit engine on each new tender. This is the product — leave on. | boolean |
useLlm | If on AND an Anthropic API key is configured (ANTHROPIC_API_KEY env var), enrich fit scoring with an LLM for messier notice text. Off = fast, free, deterministic rules engine. Only NEW/CHANGED tenders are ever scored. | boolean |
llmModel | Cheapest capable model is the default. Only NEW tenders are scored, so cost stays well under the per-score charge. | string |
onlyNewSinceLastRun | Emit only tenders that are new or changed versus the previous scheduled run (deltas, not dumps). Turn off to re-emit the full current window every run. | boolean |
lookbackDays | How far back to fetch each run. The state store dedupes, so a generous window safely catches late-indexed notices. | integer |
maxResultsPerSource | Cap on notices fetched per source per run. Set this comfortably above the number of notices your keyword/CPV filter typically yields in the look-back window, so the full window is captured each run. A cap far below the window's volume can surface a different subset run-to-run (TED has no stable tiebreaker among same-day notices) — fine for niche filters, but raise it for very broad ones. | integer |
weeklyDigest | Write a fit-ranked HTML + Markdown digest to the Key-Value Store (keys DIGEST.html / DIGEST.md) — the artifact a bid team reads. | boolean |
webhookUrl | If set, POST a compact JSON run summary here when the run finishes (e.g. a webhook.site URL, Slack/Make/Zapier inbound hook). | string |
samApiKey | Free public API key from a personal SAM.gov account (Account Details -> Public API Key). Required only if SAM_GOV is in 'sources'. Stored as a secret. | string |
fetchSamDescriptions | SAM.gov descriptions require a second API call each and a personal key allows only ~10 calls/day. Leave OFF unless you have a higher-quota key. | boolean |
stateStoreName | Named Key-Value Store that holds the monitor's per-source snapshot across scheduled runs (this is what makes onlyNewSinceLastRun work). Leave as default unless you run several independent monitors and want isolated state. | string |
What you get
A structured dataset — each result includes fields like:
buyerclassificationcountrydeadlinefitidis_changedis_newpublishedrequirements_textsourcesummarytitleurlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
4 ready-to-run use cases
TED EU IT Tender Alerts with Bid Fit Scoring
New EU IT and cybersecurity tenders on TED, filtered by CPV 72000000 and scored against your firm so you see which are worth bidding.
SAM.gov Federal Bid Monitor by NAICS Code
Government contractors get new US federal solicitations from SAM.gov matched on NAICS 541512, each with a go/no-go fit score. Free SAM key needed.
UK Consultancy Tender Scoring, Read by LLM
Vague scope on a UK consultancy notice? An LLM reads each tender and returns a bid/no-bid call, so unclear requirements still get a clear verdict.
EU & UK Marketing Agency Tender Monitor
Public-sector marketing, advertising and digital comms tenders from TED and Find a Tender, ranked by fit so your agency chases the right RFPs.
RFP & Tender Fit Monitor — Bid/No-Bid Scoring & Alerts
Monitor public tender portals (TED, UK Find a Tender, SAM.gov) and get a bid/no-bid fit score for every new notice, scored against your own vendor profile.
What it does
This actor watches three public-sector tender portals — TED (EU), UK Find a Tender Service (FTS), and SAM.gov (US federal) — for new contract notices that match your keywords and classification codes. For each tender it finds, it returns a bid/no-bid fit score measured against the vendor profile you supply (your capabilities, certifications, and eligibility), so you read fewer notices that were never a fit in the first place.
Each result also carries the practical details you need to make a call: eligibility flags, submission deadlines, and the documents a bid would require. When a scope is written in vague or free-text language, you can turn on optional LLM scoring to read the unclear wording and still return a clear bid/no-bid call with reasoning.
Run it on a schedule and it only returns notices published since the last run, so you are not re-reading the same tenders every week. It can produce a weekly digest and push Slack or webhook alerts when new fitting tenders appear.
Concretely, it covers:
- Three portals in one place — TED, UK FTS, and SAM.gov, with a consistent result shape across all of them.
- Fit scoring against your profile — not just keyword matching. The score reflects what *you* can actually deliver and qualify for.
- CPV (EU) and NAICS (US) filtering — target by the classification codes buyers actually use.
- Deadlines and required documents surfaced per tender, so triage is a single read.
- Incremental runs —
onlyNewSinceLastRunkeeps each run focused on genuinely new notices.
Who it's for
Government-contracting (govcon) vendors, consultancies, and agencies — IT, cybersecurity, SAP, and marketing among them — plus SMEs chasing public-sector contracts across the EU, UK, and US. If your team currently trawls TED, Find a Tender, and SAM.gov by hand and burns capacity reading notices that turn out to be no-bids, this is built for you.
The day-to-day users are bid and capture managers and business-development leads who need to qualify a pipeline quickly and spend bid hours on the tenders worth winning.
Quick start
Run the monitor
Provide a vendor profile, pick your sources, and set keywords or classification codes. A minimal input:
{
"sources": ["TED", "UK_FTS"],
"keywords": ["managed security", "SOC", "cybersecurity"],
"cpvCodes": ["72000000", "72500000"],
"vendorProfile": "ISO 27001-certified managed security services provider. Delivers SOC monitoring, incident response, and vulnerability management. EU-registered, up to mid-six-figure contract capacity.",
"generateFitScore": true,
"onlyNewSinceLastRun": true,
"lookbackDays": 7,
"maxResultsPerSource": 50,
"weeklyDigest": true
}
To include the US source, add "SAM.gov" to sources and supply samApiKey (a free key from SAM.gov — see the FAQ).
Connect it to Claude or Cursor (MCP)
This actor is also reachable as a tool over the Model Context Protocol, so an AI assistant can run it for you. Apify hosts a Streamable HTTP MCP endpoint — you do not install anything. Point your client at the endpoint below and pin this actor with the actors query parameter:
https://mcp.apify.com/?actors=dami_studio/rfp-tender-fit-monitor
For clients that take a JSON config (Claude Desktop, Cursor, VS Code), add:
{
"mcpServers": {
"apify-tender-monitor": {
"url": "https://mcp.apify.com/?actors=dami_studio/rfp-tender-fit-monitor",
"headers": {
"Authorization": "Bearer YOUR_APIFY_API_TOKEN"
}
}
}
}
Get your token from console.apify.com/settings/integrations. Claude Desktop and Claude.ai also support one-click OAuth, so you can authenticate without pasting a token. Once connected, ask your assistant something like *"check TED and Find a Tender for new cybersecurity tenders and score them against my profile."*
Input
| Field | What it does |
|---|---|
sources | Which portals to watch: TED, UK_FTS, SAM.gov. |
keywords | Free-text terms a tender must match. |
cpvCodes | EU CPV classification codes to filter TED / UK FTS. |
naicsCodes | US NAICS codes to filter SAM.gov. |
vendorProfile | Your capabilities and eligibility — what the fit score is measured against. |
generateFitScore | Turn the bid/no-bid scoring on or off. |
useLlm + llmModel | Use an LLM to read vague/free-text scopes and still return a clear call. |
onlyNewSinceLastRun | Only return notices published since the previous run. |
lookbackDays | How far back to look on the first run. |
maxResultsPerSource | Cap the number of tenders per portal. |
weeklyDigest | Produce a weekly summary digest. |
webhookUrl | Slack or generic webhook to receive alerts. |
samApiKey | Free SAM.gov key — required only for the US source. |
fetchSamDescriptions | Pull full descriptions for SAM.gov notices. |
Output
Each result is one tender object. A typical row includes:
source— TED, UK FTS, or SAM.gov.title,buyer,country, and the link to the original notice.cpvCodes/naicsCode— the classification the buyer assigned.fitScore— the bid/no-bid score against your profile, with abidRecommendation(bid / no-bid) and, when LLM scoring is on, a short reason.eligibilityFlags— eligibility conditions worth checking before you commit.deadline— the submission cut-off date.requiredDocuments— documents a bid would need.publishedDateand a stable tender ID for deduplication across runs.
When weeklyDigest is on, a digest object summarizes the run's fitting tenders.
Example use cases
- TED (EU) — IT services & managed cybersecurity bid fit
- SAM.gov — NAICS 541512 IT systems design tenders
- UK Find a Tender — consultancy tenders with LLM fit scoring
- TED + UK FTS — marketing & advertising agency tenders
Pricing
Pay-per-event — no subscription. You pay only for what each run actually does:
| Event | Price |
|---|---|
| Actor start | $0.01 |
| Source checked | $0.01 |
| Tender found | $0.003 |
| Fit scored (basic) | $0.03 |
| Fit scored (AI / LLM) | $0.08 |
| Digest generated | $0.25 |
Example. Watching 3 sources weekly with ~30 new tenders found and basic-scored: start $0.01 + sources $0.03 + 30 found $0.09 + 30 basic scores $0.90 + 1 digest $0.25 = ~$1.28/week. Using LLM fit-scoring ($0.08 each) instead of basic comes to ~$2.80/week.
For comparison, bid-intelligence suites such as GovWin, Bidstats, and Stotles are subscription products that typically cost hundreds to thousands of dollars per year.
FAQ
Do I need an API key? Only for the US source. SAM.gov requires a free API key, which you generate from your SAM.gov account and pass as samApiKey. TED and UK Find a Tender need no key.
Is the fit score a guarantee that I'll win — or even that I'm eligible? No. The fit score is a triage aid. It tells you which notices are worth a closer look and which are likely no-bids, so you spend bid hours where they count. Always confirm eligibility and requirements against the official notice before committing to a bid.
How is this different from GovWin, Stotles, or Bidstats? Those are subscription bid-intelligence platforms. This actor is pay-per-event: you run it when you want, pay only for the tenders and scores it produces, and the fit score is measured against the vendor profile *you* define rather than a generic relevance ranking.
Which portals and regions are covered? TED for the EU, UK Find a Tender Service (FTS) for the UK, and SAM.gov for US federal contracts — filterable by CPV codes (EU) and NAICS codes (US).
When should I turn on LLM scoring? Use it when tender scopes are vague or written as free text and keyword matching alone misjudges fit. The LLM reads the unclear wording and returns a clear bid/no-bid call with a short reason. It costs more per score ($0.08 vs $0.03), so basic scoring is fine when notices are well-classified.