Skip to main content

Command Palette

Search for a command to run...

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: https://api.tenders-sa.org/v1

All 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: GET /tenders

Query 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: 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 |

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:

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.