Tenders & BiddingPOST /v1/extract

Turn a tender pack into a list of what it demands

Supported Formats: Tender packs (PDF), Conditions of tendering, Returnable schedules, Specifications
Core Verification Mechanisms: Structured field extraction · Whole-table extraction · Page and position grounding

The problem

A tender pack is not one document. The demands are spread across the conditions of tendering, the specification, the returnable schedules, the evaluation criteria and every addendum — and the clauses that disqualify a bid sit in the document that reads most like boilerplate.

Transcribing them by hand is slow and lossy. Page numbers get dropped, and a requirement without its source cannot be checked by anyone except the person who typed it.

How Stipple helps

Extract the fields and whole tables from each document in the pack, with every value carrying the page and position it came from, so each row of your matrix stays checkable against the source.

Table extraction is deterministic on born-digital PDFs, which is what most returnable schedules and pricing sheets are. Classification tells you what each file in the pack is before you read it.

The call

bash
curl -X POST "https://www.stipple.sh/v1/extract?tables=true&grounding=true" \
  -F "file=@conditions-of-tendering.pdf"
# -> { "fields": { "closing_date": { "value": "2026-10-02",
#                    "page": 4, "bbox": [...] } }, "tables": [...] }

The transcription stops being the slow part, and every row in the matrix keeps the page a reviewer can check it against.

What the result looks like

Extraction returns what the document says and where it says it. Deciding whether a clause is mandatory or merely preferred is a judgement it does not make.

Page and position grounding works on the native text layer of a PDF. A scanned pack goes through OCR first and grounding is coarser.

Nothing here establishes compliance. It gives you the text and the page; an evaluator decides whether your answer satisfies it.

Questions

Can it tell me which requirements are mandatory?
It gives you the text and the page. Classifying a clause as a pass-or-fail condition rather than a scored preference depends on how the buyer will read it, and getting that wrong in the confident direction is how bids are lost. Treat an automated pass as a first draft a person confirms against the page.
Does it work on scanned tender documents?
Yes, through OCR, but deterministic table extraction and precise position grounding need a native text layer. Where a pack is scanned, expect the values to be right and the coordinates to be approximate.

Sources

  1. 01How to turn a tender pack into a requirements matrix
  2. 02PDF table extraction: what is deterministic and what is not