Skip to main content
HomeDevelopers

Developer Portal

Dashboard
Back to Tutorials
IntermediateAIDocument AnalysisEvaluation CriteriaCompliance

Document Analysis — AI-Powered Tender Evaluation

Use AI-extracted document analysis to evaluate tenders faster. Extract evaluation criteria, submission guidelines, compliance requirements, and technical specifications from tender documents.

3 stepsIntermediate

Prerequisites

  • A valid Tenders-SA API key
  • A tender with processed documents (try a recent active tender)
1

Find a tender with AI analysis

Search for tenders that have AI analysis available. The aiSummary and aiConfidence fields indicate whether analysis has been performed.
curl
curl -H "Authorization: Bearer tsa_prod_YOUR_API_KEY" \  "https://api.tenders-sa.org/v1/tenders?status=active&limit=5&sort=-published_date" \  | jq '.data[] | select(.aiSummary != null) | {tenderId: .tenderId, title: .title, summary: .aiSummary, confidence: .aiConfidence}'
2

Retrieve the full document analysis

Get the complete AI-powered analysis including evaluation criteria, submission guidelines, important dates, and compliance requirements.
curl
curl -H "Authorization: Bearer tsa_prod_YOUR_API_KEY" \  "https://api.tenders-sa.org/v1/tenders/T012345/analysis" | jq

Expected response:

JSON
{  "data": {    "submissionGuidelines": {      "format": "Hard copy and electronic",      "address": "123 Church Street, Pretoria",      "deadline": "2026-07-15 11:00"    },    "evaluationCriteria": [      { "criterion": "B-BBEE Level", "weight": 20 },      { "criterion": "Price", "weight": 50 },      { "criterion": "Technical", "weight": 30 }    ],    "importantDates": {      "briefingSession": "2026-06-20 10:00",      "closingDate": "2026-07-15 11:00"    },    "complianceRequirements": [      "CIDB grading 8CE or higher",      "Valid tax clearance certificate",      "CSD registration required"    ],    "qualityScore": 92,    "confidence": 0.88  }}
3

Extract submission requirements programmatically

Use the structured data to build a compliance checklist or bid preparation timeline. The evaluation criteria tell you exactly how your bid will be scored.
JavaScript
const API = 'https://api.tenders-sa.org/v1'const KEY = 'tsa_prod_YOUR_API_KEY' async function analyzeTender(tenderId) {  const res = await fetch(`${API}/tenders/${tenderId}/analysis`, {    headers: { 'Authorization': `Bearer ${KEY}` }  })   if (!res.ok) {    console.log('No AI analysis available for this tender')    return  }   const { data: analysis } = await res.json()   console.log('=== Bid Preparation Checklist ===')  console.log('')   if (analysis.evaluationCriteria) {    console.log('Scoring Breakdown:')    analysis.evaluationCriteria.forEach(c =>      console.log(`  ${c.criterion}: ${c.weight}%`)    )  }   if (analysis.complianceRequirements) {    console.log('\nCompliance Requirements:')    analysis.complianceRequirements.forEach(r =>      console.log(`  ☐ ${r}`)    )  }   if (analysis.importantDates) {    console.log('\nKey Dates:')    Object.entries(analysis.importantDates).forEach(([key, date]) =>      console.log(`  ${key}: ${date}`)    )  }   console.log(`\nAnalysis Quality: ${analysis.qualityScore}/100`)} analyzeTender('T012345')