Bunker Fuels
Premium bunker fuel endpoints for comparison, export, and port spread workflows.
Backend Blockers
Do not build against /v1/bunker-fuels/ports/:port_code or /v1/bunker-fuels/historical/:port_code yet. The live issue list records a port-code mismatch: /v1/marine-ports returns 5-character UN/LOCODEs such as SGSIN, while these bunker routes currently accept a 3-character code constraint.
Supported Endpoints
| Method | Endpoint | Status |
|---|---|---|
| GET | /v1/bunker-fuels/all | Live, premium-gated |
| GET | /v1/bunker-fuels/compare | Live; requires comparison params |
| GET | /v1/bunker-fuels/export | Live |
| GET | /v1/bunker-fuels/spreads/ports | Live; requires spread params |
Compare
curl "https://api.oilpriceapi.com/v1/bunker-fuels/compare?ports=SGSIN,NLRTM&fuel_type=VLSFO" \
-H "Authorization: Token YOUR_API_KEY"
Spreads by Port
curl "https://api.oilpriceapi.com/v1/bunker-fuels/spreads/ports?from_port=SGSIN&to_port=NLRTM&fuel_type=VLSFO" \
-H "Authorization: Token YOUR_API_KEY"
Response Shape
{
"status": "success",
"data": {
"fuel_type": "VLSFO",
"ports": [
{
"port_code": "SGSIN",
"price": 615.25,
"currency": "USD",
"unit": "metric_ton",
"updated_at": "2026-07-15T14:30:00.000Z"
}
]
}
}
Error Cases
| Status | When |
|---|---|
400 | Missing port, fuel, or comparison params |
401 | Missing or invalid API key |
403 | Premium bunker entitlement missing |
402 | Plan/quota issue |
Which Marine Endpoint?
| Need | Use |
|---|---|
| Current marine fuel prices | /v1/prices/marine-fuels |
| Port list and metadata | /v1/prices/marine-fuels/ports or /v1/marine-ports |
| Bunker comparison and spreads | /v1/bunker-fuels/* |
| Premium maritime bundle | /v1/maritime-fuels/* |
Data Rights
Marine fuel and bunker data can involve right-sensitive source terms. Review Data Usage Policy before public display, resale, redistribution, or embedding in downstream products.