Type to search across all data…
↵ to open · Esc to close Ctrl+K
Developer Reference

Tareba REST API

Programmatic access to 14,892+ projects, 8,214+ tenders, and global infrastructure data.

Authentication Base URL Rate Limits Projects API Tenders API Search API Errors SDKs

🔑 Authentication

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)

🌐 Base URL

All endpoints are under:

https://www.tareba.com/api/

All responses are JSON. Requests must use HTTPS.

⏱ Rate Limits

PlanRequests/dayMax per page
Professional5,000100
Enterprise50,000100

Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining

🏗 Projects API

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"
Parameters:
qstringSearch project name or scope
countrystringISO2 country code (e.g. NG, IN, SA)
typestringTransmission_Line · Substation · HVDC · Solar_Farm · Generation · Battery_Storage
statusstringAnnounced · Planning · Tendering · Under_Construction · Operational
min_valuenumberMinimum value in USD millions
max_valuenumberMaximum value in USD millions
voltagestringUHV · EHV · HV · MV
pageintegerPage number (default: 1)
limitintegerResults per page (max: 100, default: 20)

📋 Tenders API

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"

🔍 Search API

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"

⚠ Error Codes

401 UnauthorizedMissing or invalid API key
403 ForbiddenPlan does not include API access
429 Too Many RequestsRate limit exceeded for today
500 Internal Server ErrorServer error — contact support

📦 SDKs & Client Libraries

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();