Tender Bid Qualifier: AI Bid/No-Bid Analysis for EU Tenders avatar

Tender Bid Qualifier: AI Bid/No-Bid Analysis for EU Tenders

Pricing

from $100.00 / 1,000 quick analyses

Go to Apify Store
Tender Bid Qualifier: AI Bid/No-Bid Analysis for EU Tenders

Tender Bid Qualifier: AI Bid/No-Bid Analysis for EU Tenders

Scores EU public tenders from TED against your company profile. Extracts mandatory requirements, eligibility risks, award criteria and deadlines, and returns a BID / CONSIDER / SKIP verdict with reasons.

Pricing

from $100.00 / 1,000 quick analyses

Rating

0.0

(0)

Developer

John Smith

John Smith

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Stop reading tender notices just to find out you can't bid. Describe your company once, and this Actor reads official EU tender notices from TED (Tenders Electronic Daily) in any EU language, checks them against your profile, and returns a clear BID / CONSIDER / SKIP verdict with reasons, mandatory requirements, knockout issues and deadlines.

What it does

  1. Finds open tenders on TED using your CPV codes, buyer countries and publication window, or takes a list of tender IDs from any TED scraper. Only competition notices are included: award notices and other notices you can no longer bid on are excluded.
  2. Skips tenders that close too soon, before analysis and at no charge.
  3. If more tenders match than maxTenders, analyzes the most relevant ones first: tenders whose main CPV code matches one you searched (including sub-codes of a searched division, e.g. 72212000 under 72000000), then those with the most days left. Choosing is free: up to 500 matches are checked, and the run's status message and SUMMARY say how many matched and how many were analyzed, e.g. "84 tenders matched; analyzed the 10 most relevant (main CPV match first, then most days left). Increase 'Maximum tenders' to analyze more." Tenders passed in tenderIds are analyzed as given.
  4. Reads each notice and extracts what matters: what is being bought, estimated value, lots, mandatory requirements, award criteria and submission language.
  5. Scores the fit against your company profile (0-100) and gives a verdict with the reasons behind it.

Who it's for

  • SMEs without a bid team that want only the tenders worth their time.
  • Bid consultants screening tenders for several clients (one run per client profile).
  • Developers adding an AI qualification layer to procurement tools, CRMs or alert pipelines.

Input

FieldDescription
companyProfileYour services, size, turnover, certifications, past contract values, countries and bid languages, plus your 3-5 most relevant references (client type, year, value, scope). Required.
cpvCodesCPV codes to search, e.g. 72000000 for IT services. Default 72000000; an empty list searches all codes.
countriesBuyer countries as ISO alpha-3 codes, e.g. DEU, AUT, NLD. Default DEU, AUT; an empty list searches all countries.
publishedWithinDaysOnly tenders published in the last N days (default 7).
minDaysToDeadlineSkip tenders closing sooner than this, free of charge (default 14).
maxTendersMaximum tenders analyzed in this run (default 10).
analysisDepthquick for low-cost screening, full for a deeper read of shortlisted tenders.
tenderIdsOptional TED publication numbers, e.g. 505064-2026. Overrides search filters.
expertQueryOptional full TED Expert Search query.

Output

One dataset item per analyzed tender. Example (shortened):

{
"verdict": "BID",
"fit_score": 78,
"close_call": false,
"title": "Development and maintenance of a citizen services portal",
"buyer": "Stadt Musterstadt",
"countries": ["DEU"],
"deadline": "2026-11-20",
"deadline_type": "tender",
"days_left": 41,
"estimated_value": "EUR 420,000 excl. VAT, 3 years",
"reasons_text": "Core scope (portal development and maintenance) matches your main service\nContract value is within your past contract range\nISO 27001 requirement is met",
"knockouts_text": "",
"review_flags_text": "1 mandatory requirement(s) unverified: confirm before committing",
"requirements_text": "met: ISO 27001 certification\nmet: Minimum annual turnover EUR 1M\nunverified: Three comparable references in the last 3 years",
"verdict_reasons": [
"Core scope (portal development and maintenance) matches your main service",
"Contract value is within your past contract range",
"ISO 27001 requirement is met"
],
"knockout_issues": [],
"mandatory_requirements": [
{"requirement": "ISO 27001 certification", "category": "certification", "profile_status": "met"},
{"requirement": "Minimum annual turnover EUR 1M", "category": "financial", "profile_status": "met"},
{"requirement": "Three comparable references in the last 3 years", "category": "experience", "profile_status": "unverified"}
],
"award_criteria": ["Price 40%", "Quality of technical concept 60%"],
"submission_language": "German",
"score_breakdown": {"service_match": 34, "capacity_fit": 17, "eligibility": 16, "practicality": 11},
"confidence": "high",
"needs_human_review": false,
"review_flags": ["1 mandatory requirement(s) unverified: confirm before committing"],
"notice_url": "https://ted.europa.eu/en/notice/-/detail/505064-2026"
}

The *_text fields hold the same content as the arrays, one line per entry, so they read well in a spreadsheet. The arrays stay in every item for API users.

Two dataset views are included: Bid/No-Bid overview (verdict, score, close call, tender, buyer, deadline, days left, value, reasons, things to check, notice link) and Requirements & risks.

Each run also saves a readable HTML report (key-value store record REPORT, linked on the run's Output tab): BID and CONSIDER tenders first, sorted by score, with summary, reasons, things to check and the notice link; SKIPs are collapsed at the end.

Tip: export the overview to Excel. In the run's Storage tab, choose Export, select the Bid/No-Bid overview view, then Excel (XLSX). XLSX keeps German and other accented characters (ä, ö, ü, ß, –) intact in every Excel version and locale. Use CSV for Google Sheets or other tools; if Excel shows characters like "für" in a CSV, import it via Data → From Text/CSV with encoding UTF-8, or use XLSX instead. Via the API: https://api.apify.com/v2/datasets/<datasetId>/items?view=overview&format=xlsx. Without the view you get every field, including nested arrays.

Pricing

Pay per event. You only pay for tenders that were successfully analyzed:

EventPrice
Quick analysis (per tender)$0.10
Full analysis (per tender)$1.00

Apify also charges a fixed start fee of $0.00005 per run, regardless of results.

Example: screening 50 tenders with quick and re-checking 3 close calls with full costs 50 × $0.10 + 3 × $1.00 = $8.00.

Never charged: tenders skipped by your deadline filter (minDaysToDeadline), notices that are no longer open for bids (such as award notices), older versions of corrected notices, and any analysis that fails. Set a maximum cost per run in Apify and the Actor stops analyzing when it is reached.

Tip: screen broadly with quick, then re-run your shortlist and every close_call tender with full using tenderIds. A close call is a score near the BID (70) or CONSIDER (45) line, where the verdict could go either way: within 6 points for quick, within 4 for full.

Integrations

  • Scheduled alerts: schedule the Actor daily and send BID verdicts to Slack or email with an Apify integration.
  • n8n / Make: trigger runs and route results into your CRM or bid pipeline.
  • AI assistants: use it through the Apify MCP server.
  • Other TED scrapers: pass their publication numbers into tenderIds to add AI qualification on top.

Limitations (please read)

  • The analysis is based on the official TED notice. Full tender documents (technical specifications, contract drafts) are usually hosted on the buyer's own platform and are not read. Items that would only be in those documents are listed under missing_information.
  • AI analysis can miss or misread details. Always verify mandatory requirements and deadlines in the source notice before deciding to bid. Items flagged needs_human_review deserve a closer look.
  • In restricted and negotiated procedures the notice often has no tender deadline yet, only a deadline for requests to participate. In that case deadline is that participation deadline and deadline_type is request_to_participate; the tender deadline comes later in the procedure.
  • countries lists every buyer country on the notice. Joint procurements can include buyers outside the countries you searched for.
  • Notices without any deadline in the TED data (for example qualification systems) are not filtered by minDaysToDeadline and are analyzed.
  • Verdicts are only as good as your company profile. Vague profiles produce vague verdicts. Tenders often require comparable references: if your profile lists none, those requirements stay unverified and verdicts are more cautious.

FAQ

Is this legal? Yes. It uses TED's official, public Search API and collects no personal data. TED data is published by the Publications Office of the European Union. This Actor is not affiliated with or endorsed by the EU.

Which languages are supported? Notices in all EU languages are analyzed; output is in English.

Which tenders are covered? Tenders published on TED, which by law includes public contracts above EU thresholds. Smaller national tenders below the thresholds may not appear on TED.