/v2/tendersAuth requiredList / Browse Tenders
Returns a cursor-based paginated list of active tenders with enriched fields including AI summaries, value estimates, categories, provinces, and source organization details. Use the `cursor` from `meta.nextCursor` for the next page.
▶Parameters (3)
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | No | Results per page (default: 20, max: 100) |
| cursor | string | No | Opaque cursor from `meta.nextCursor` of the previous response |
| fields | string | No | Comma-separated field whitelist for sparse responses |
curl -H "Authorization: Bearer tsa_prod_abc123def456" \ "https://api.tenders-sa.org/v2/tenders?limit=10"▶JavaScript
const response = await fetch('https://api.tenders-sa.org/v2/tenders?limit=10', { headers: { 'Authorization': 'Bearer tsa_prod_abc123def456' }})const data = await response.json()// Use data.meta.nextCursor for the next pageconsole.log(data.data)▶Python
import requests response = requests.get( 'https://api.tenders-sa.org/v2/tenders', params={'limit': 10}, headers={'Authorization': 'Bearer tsa_prod_abc123def456'})data = response.json()# Paginate with data['meta']['nextCursor']print(data['data'])Example Response
{ "success": true, "data": [ { "tenderId": "T012345", "title": "Appointment of a Service Provider for ICT Infrastructure", "description": "The Department of Health invites tenders for the provision of ICT infrastructure services...", "province": "Gauteng", "category": [ { "name": "ICT & Technology" } ], "estimatedValue": { "min": 5000000, "max": 15000000, "median": 10000000, "confidence": 0.85, "methodology": "historical" }, "closingDate": "2026-07-15", "status": "active", "publicationDate": "2026-05-20", "publicationType": "TENDER_NOTICE", "aiSummary": "ICT infrastructure upgrade for Gauteng Health Department with 10-year maintenance term", "aiKeyRequirements": [ "CIDB grade 8 or higher", "Valid tax clearance", "B-BBEE level 1 or 2" ], "aiConfidence": 0.92, "sourceOrganization": { "name": "Department of Health" }, "referenceNumber": "DOH/ICT/2026/001", "municipality": "City of Johannesburg", "department": "Department of Health", "dataSource": "etenders" } ], "meta": { "requestId": "req_abc123", "timestamp": "2026-06-15T10:00:00Z", "apiVersion": "v2", "rateLimit": { "limit": 10000, "remaining": 9847, "reset": "2026-06-16T00:00:00Z", "policy": "daily" }, "totalCount": 5916, "nextCursor": "eyJpZCI6ImNsdWh6eDZsOTAwMDF1YnN3cWYzMnRmcXQiLCJ2YWx1ZSI6eyJpZCI6ImNsdWh6eDZsOTAwMDF1YnN3cWYzMnRmcXQifX0", "hasNext": true, "hasPrev": false }}