Build with structured fuel pricing data.
FulTank Fuel API provides authenticated access to South African petrol and diesel pricing data for developers, logistics platforms, fleet systems, analytics products, ERPs, and commercial applications.
Authentication
Every request requires an API key. Pass your key as the api_key query parameter.
GET https://fultank.co.za/fuel-api/api/simple-current.php?api_key=YOUR_API_KEY
100 requests/trial
Suitable for testing and early development.
2,000 requests/month
Suitable for production apps and small integrations.
10,000 requests/month
Suitable for fleets, logistics, and analytics platforms.
Quickstart
Use the simple current prices endpoint to get started quickly.
curl "https://fultank.co.za/fuel-api/api/simple-current.php?api_key=YOUR_API_KEY"
Endpoints
| Method | Endpoint | Description | Docs |
|---|---|---|---|
| GET | /api/simple-current.php | Returns inland and coastal fuel prices in a simplified structure. | View |
| GET | /api/current.php | Returns current fuel price data with a fuller API response structure. | View |
| GET | /api/historical.php | Planned endpoint for historical fuel pricing data. | Roadmap |
Simple Current Prices
Best endpoint for most integrations. Returns coastal and inland pricing for petrol and diesel.
GET https://fultank.co.za/fuel-api/api/simple-current.php?api_key=YOUR_API_KEY
{
"success": true,
"effective_date": "2026-07-01",
"fuel_prices": {
"coastal": {
"zone": null,
"price_basis": "official_regional_reference",
"petrol_93": "25.15",
"petrol_95": "25.23",
"diesel_50ppm": "24.41",
"diesel_500ppm": "23.91"
},
"inland": {
"zone": null,
"price_basis": "official_regional_reference",
"petrol_93": "25.94",
"petrol_95": "26.10",
"diesel_50ppm": "25.17",
"diesel_500ppm": "24.79"
}
},
"usage": {
"plan_type": "developer",
"requests_used": 1,
"request_limit": 100,
"requests_remaining": 99,
"request_period": "trial",
"period_started_at": "2026-08-06T05:10:17+02:00",
"period_ends_at": "2026-08-20T05:10:17+02:00"
}
}
Current Prices
Use this endpoint when you need a fuller current-price API response.
GET https://fultank.co.za/fuel-api/api/current.php?api_key=YOUR_API_KEY
Response Format
| Field | Type | Description |
|---|---|---|
| success | boolean | Indicates whether the API request was successful. |
| effective_date | date | Date from which the returned fuel prices apply. |
| fuel_prices | object | Grouped price data for coastal and inland regions. |
| usage | object | Usage information returned on authenticated endpoints where enabled. |
Error Handling
Errors are returned as JSON with a clear message.
{
"success": false,
"message": "Invalid API key."
}
| Error | Meaning |
|---|---|
| Missing API key | No API key was supplied in the request. |
| Invalid API key | The API key does not exist or is invalid. |
| Inactive API key | The API key exists but the account is not active. |
| Request limit reached | The account has reached its trial or monthly request allowance. |
Rate Limits
Request allowances depend on the plan linked to the API key. Trial usage is counted across the complete 14-day trial. Paid-plan usage resets on the monthly anniversary of the subscription start date.
| Plan | Request Allowance |
|---|---|
| Developer Trial | 100 requests per 14-day trial |
| Starter | 2,000 requests per monthly billing cycle |
| Business | 10,000 requests per monthly billing cycle |
| Enterprise | Custom |
Code Examples
Basic PHP example.
$apiKey = 'YOUR_API_KEY'; $url = 'https://fultank.co.za/fuel-api/api/simple-current.php?api_key=' . urlencode($apiKey); $response = file_get_contents($url); $data = json_decode($response, true); print_r($data);
Basic JavaScript example.
const apiKey = 'YOUR_API_KEY';
fetch('https://fultank.co.za/fuel-api/api/simple-current.php?api_key=' + encodeURIComponent(apiKey))
.then(response => response.json())
.then(data => console.log(data));