intermediate15 minutes
Tenders API
REST API for accessing tender data programmatically
Overview
The Tenders API allows you to programmatically access tender listings, search, and retrieve detailed tender information.
Base URL
Base URL:
All API requests require authentication via Bearer token.
https://api.tenders-sa.org/v1All API requests require authentication via Bearer token.
Authentication
Include your API key in the Authorization header:
Authentication Header
bash
Endpoints
List Tenders
Retrieve a paginated list of tenders with optional filters.
Endpoint:
Query Parameters:
| Parameter | Type | Description |
|-----------|------|-----------|
|
|
|
|
|
|
|
|
|
Endpoint:
GET /tendersQuery Parameters:
| Parameter | Type | Description |
|-----------|------|-----------|
|
q | string | Search query ||
industry | string[] | Filter by industry ||
province | string[] | Filter by province ||
min_value | number | Minimum estimated value ||
max_value | number | Maximum estimated value ||
closing_after | date | Closing date after ||
closing_before | date | Closing date before ||
page | number | Page number (default: 1) ||
per_page | number | Items per page (default: 20) |Response (200 OK)
json
Search for Construction Tenders
bash
Python Example
python
Get Single Tender
Retrieve detailed information for a specific tender.
Endpoint:
Endpoint:
GET /tenders/{tender_id}Request
bash
Response (200 OK)
json
Error Handling
The API uses standard HTTP status codes:
| Status Code | Description |
|-------------|-------------|
| 200 | Success |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |
| Status Code | Description |
|-------------|-------------|
| 200 | Success |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |
Error Response
json
Rate Limiting
API requests are rate limited based on your subscription tier:
| Plan | Rate Limit |
|------|-----------|
| Starter | 100 requests/hour |
| Professional | 1,000 requests/hour |
| Enterprise | 10,000 requests/hour |
Rate limit information is included in response headers:
| Plan | Rate Limit |
|------|-----------|
| Starter | 100 requests/hour |
| Professional | 1,000 requests/hour |
| Enterprise | 10,000 requests/hour |
Rate limit information is included in response headers:
Response Headers
bash
Rate Limit Exceeded
If you exceed the rate limit, you'll receive a
429 Too Many Requests response. Wait until the reset time before making more requests.Webhooks
Subscribe to real-time tender updates. See Webhooks Documentation for details.