/v1/tendersAuth requiredList/ Search Tenders
Returns a paginated list of tenders with enriched fields including AI summaries, publication types, classification confidence, province, category, and value estimates. Supports filtering by category, province, status, closing date range, search keywords, and value range.
▶Parameters (14)
| Name | Type | Required | Description |
|---|---|---|---|
| page | number | No | Page number (default: 1, max depth: 1000) |
| limit | number | No | Results per page (default: 20, max: 100) |
| category | string | No | Filter by category slug (case-insensitive) |
| province | string | No | Filter by province slug (case-insensitive) |
| status | string | No | Filter by tender status (e.g., active, awarded, cancelled) |
| q | string | No | Full-text search query (searches title and description) |
| closingAfter | date | No | Filter by closing date >= (ISO 8601) |
| closingBefore | date | No | Filter by closing date <= (ISO 8601) |
| minValue | number | No | Minimum estimated value filter |
| maxValue | number | No | Maximum estimated value filter |
| referenceNumber | string | No | Filter by tender reference number |
| sourceOrganization | string | No | Filter by department/organization name |
| sort | string | No | Sort field with direction prefix (e.g., -closing_date, +value) |
| fields | string | No | Comma-separated field whitelist for sparse responses |
curl -H "Authorization: Bearer tsa_prod_abc123def456" \ "https://api.tenders-sa.org/v1/tenders?category=ict-technology&province=gauteng&page=1&limit=10"▶JavaScript
const response = await fetch('https://api.tenders-sa.org/v1/tenders?category=ict-technology&page=1&limit=10', { headers: { 'Authorization': 'Bearer tsa_prod_abc123def456' }})const data = await response.json()console.log(data)▶Python
import requests response = requests.get( 'https://api.tenders-sa.org/v1/tenders', params={'category': 'ict-technology', 'page': 1, 'limit': 10}, headers={'Authorization': 'Bearer tsa_prod_abc123def456'})data = response.json()print(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...", "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, "classificationConfidence": 0.88, "sourceOrganization": { "name": "Department of Health" }, "referenceNumber": "DOH/ICT/2026/001", "siteUrl": "https://www.etenders.gov.za/home/Download/...", "municipality": "City of Johannesburg", "department": "Department of Health", "institution": null, "dataSource": "etenders" } ], "meta": { "requestId": "req_abc123", "timestamp": "2026-05-25T10:00:00Z", "apiVersion": "v1", "page": 1, "pageSize": 20, "totalCount": 145, "totalPages": 8, "hasNext": true, "hasPrev": false, "rateLimit": { "limit": 500, "remaining": 498, "reset": "2026-05-26T00:00:00Z", "policy": "daily" } }}