Tender Scoring & Eligibility Extractor
Pricing
$200.00 / 1,000 tender document deep-extracteds
Tender Scoring & Eligibility Extractor
Extract award criteria weights, eligibility requirements, disqualification traps and deadlines from tender notices & PDFs (TED, SAM.gov). Every field carries a verbatim source quote re-verified against the document - no hallucinated compliance data. For bid/no-bid automation and AI agents.
Pricing
$200.00 / 1,000 tender document deep-extracteds
Rating
0.0
(0)
Developer
Derrick
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Tender Deep-Field Extractor
Turn public tender notices (TED, SAM.gov, any English/EU tender PDF) into deep, per-lot structured JSON — the fields that decide whether a bid is worth writing and what gets it thrown out:
- ✅ Eligibility requirements, itemized (financial / experience / certification / personnel), each with the verbatim source line
- ✅ Award-criteria weight breakdown (price vs quality sub-criteria, percentage or points — exactly as published)
- ✅ Disqualification triggers — language restrictions, e-signature mandates, "variants not allowed", "prices outside the pricing form are invalid" and other rejection traps buried in submission terms
- ✅ Key dates normalized to ISO8601 with timezone (clarification deadline, submission deadline, opening, tender validity)
- ✅ Change-notice awareness — amended deadlines are resolved from authoritative structured fields, with the change recorded separately
- ✅ Multi-lot notices: every deep field extracted per lot, plus cross-lot constraints (e.g. max lots per tenderer)
Why this instead of a notice scraper?
Notice monitors and RFP scrapers give you discovery metadata: title, buyer, deadline, a link. This Actor reads the notice like a bid manager does and answers:
| Question | Notice scrapers | This Actor |
|---|---|---|
| Who is even allowed to bid? | "eligibility mentioned" | Itemized requirement list with quotes |
| How is the score computed? | — | Weight table per criterion, percentage vs points |
| What gets my bid rejected? | — | Explicit disqualification-trigger list with quotes |
| Was the deadline amended? | Sometimes | Resolved date + change record |
Anti-hallucination by design
Every extracted value carries a source_quote — a verbatim substring of the document. A validation layer re-checks each quote against the source text: anything that cannot be located verbatim is dropped and reported in validation_warnings, never invented. Runs that fall below a 50% quote-verification ratio are not charged.
Fields genuinely absent from a notice come back as null with an explanatory warning (e.g. "selection criteria live in the procurement document") — that is the honest answer, not a gap in extraction.
Input
{"sources": ["https://ted.europa.eu/udl?uri=TED:NOTICE:341069-2026:PDF:EN:HTML","https://example.com/any-tender.pdf"]}
1–20 notice URLs or direct PDF links per run. Duplicate URLs are de-duplicated. Sources must be public http(s) URLs.
Output shape (annotated golden expectation for a real TED notice)
This block is the hand-annotated expected output used in the golden set, shown to illustrate the schema — a live run produces the same shape. Note that when a notice defers selection criteria to a separate procurement document (common on TED),
eligibility.requirementsis intentionally empty andeligibility.sourceis"procurement_document"; this Actor reads the notice you pass it and does not currently follow the link to fetch that separate document.
{"lot_id": "LOT-0000","scoring": {"type": "MEAT","weight_kind": "percentage","criteria": [{ "name": "TK1 - Price", "type": "price", "weight": 50,"source_quote": "Description: Total evaluation price (per annum)" },{ "name": "TK 2 Quality - Environment", "type": "quality", "weight": 30,"source_quote": "The share of available zero emission vehicles" },{ "name": "TK 3 Quality - Scale-up plan", "type": "quality", "weight": 20,"source_quote": "Plan for scaling up as regards real stand-by" }],"weights_sum": 100},"disqualification_triggers": [{ "trigger": "Tender submitted in a language other than Norwegian","category": "format","source_quote": "Languages in which tenders or requests to participate may be submitted: Norwegian" },{ "trigger": "Missing advanced/qualified electronic signature or seal","category": "signature","source_quote": "Advanced or qualified electronic signature or seal (as defined in Regulation (EU) No 910/2014) is required" }],"key_dates": {"submission_deadline": "2026-06-26T10:00:00Z","tender_validity": "P4M"}}
Who uses this
- Bid-tracking and procurement-intelligence tools that need qualification logic, not just listings
- Bid/no-bid automation — feed the eligibility list and weight table straight into your scoring model
- Agent workflows (MCP / LLM pipelines) that must not hallucinate compliance requirements
Accuracy
Validated against an annotated golden set of real TED notices (single-lot open procedures, two-stage negotiated procedures with change notices, multi-lot points-weighted notices, plus a held-out German-language notice): ≥90% field-level agreement across runs, 100% quote verification on passing runs. Reproduce it yourself with pnpm golden (needs a DeepSeek key).
Honest caveats:
- Extraction of the disqualification-triggers list can vary run-to-run (the model occasionally under-recalls a trigger); the field is a strong signal, not a guaranteed-complete list.
- The golden set is currently all TED notices. SAM.gov is supported by the same pipeline but is not yet covered by published golden evidence — treat SAM.gov results as beta until we add annotated samples.
- Data sources & terms. TED notices are re-usable under CC BY 4.0. This Actor extracts from whatever tender URL/PDF you provide; it does not crawl or harvest any site on its own. For SAM.gov note that its Terms of Use prohibit "systematic access (electronic harvesting) or extraction of content … including the use of 'bots' or 'spiders'" — this Actor reads a page you paste, not the official feed, so keep SAM.gov use to occasional individual notices; for bulk/automated needs use the official free api.sam.gov Get Opportunities API instead.
Fair charging
Pay per successfully extracted document. Failed fetches, non-tender pages, low-verification extractions, and sources skipped after your run's charge limit is reached are all not charged. Every source_quote — across eligibility, scoring, disqualification triggers, two-stage clauses, cross-lot constraints and change records — is re-verified verbatim against the document before the run is billable.