Programmatic access to 14,892+ projects, 8,214+ tenders, and global infrastructure data.
All API requests require a Bearer token. Generate your API key in Account Settings → API.
curl https://www.tareba.com/api/projects.php \ -H "Authorization: Bearer tareba_live_xxxxxxxxxxxxxxxx"
You can also pass the key as a query param: ?api_key=tareba_live_xxx (not recommended for production)
All endpoints are under:
https://www.tareba.com/api/
All responses are JSON. Requests must use HTTPS.
| Plan | Requests/day | Max per page |
|---|---|---|
| Professional | 5,000 | 100 |
| Enterprise | 50,000 | 100 |
Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining
GET /api/projects.php
Returns a paginated list of infrastructure projects.
curl "https://www.tareba.com/api/projects.php?country=NG&type=Transmission_Line&limit=20" \ -H "Authorization: Bearer tareba_live_xxx"
| q | string | Search project name or scope |
| country | string | ISO2 country code (e.g. NG, IN, SA) |
| type | string | Transmission_Line · Substation · HVDC · Solar_Farm · Generation · Battery_Storage |
| status | string | Announced · Planning · Tendering · Under_Construction · Operational |
| min_value | number | Minimum value in USD millions |
| max_value | number | Maximum value in USD millions |
| voltage | string | UHV · EHV · HV · MV |
| page | integer | Page number (default: 1) |
| limit | integer | Results per page (max: 100, default: 20) |
GET /api/tenders.php (coming soon)
Same structure as Projects API. Filter by country, sector, tender_type, status, and closing date.
curl "https://www.tareba.com/api/tenders.php?country=IN&status=Open&limit=50" \ -H "Authorization: Bearer tareba_live_xxx"
GET /api/search.php
Search across projects, tenders, and organizations simultaneously.
curl "https://www.tareba.com/api/search.php?q=500kV+Nigeria" \ -H "Authorization: Bearer tareba_live_xxx"
| 401 Unauthorized | Missing or invalid API key |
| 403 Forbidden | Plan does not include API access |
| 429 Too Many Requests | Rate limit exceeded for today |
| 500 Internal Server Error | Server error — contact support |
Official SDKs coming soon. In the meantime, use any HTTP client:
// PHP
$response = file_get_contents('https://www.tareba.com/api/projects.php?country=NG', false,
stream_context_create(['http'=>['header'=>'Authorization: Bearer tareba_live_xxx']]));
$data = json_decode($response, true);# Python
import requests
r = requests.get('https://www.tareba.com/api/projects.php',
params={'country':'NG','limit':50},
headers={'Authorization':'Bearer tareba_live_xxx'})
data = r.json()// JavaScript
const res = await fetch('https://www.tareba.com/api/projects.php?country=NG', {
headers: { 'Authorization': 'Bearer tareba_live_xxx' }
});
const data = await res.json();