BUNKERFUELPRICESDashboard
Developers

Data API

Your vessels and where they are, the requests you have raised, and what suppliers actually quoted you — as JSON, for putting inside your own scheduling or chartering software. Everything is scoped to your own organisation.

Access

Included with Fleet, Enterprise and Fleet. Issue a key in settings; keys start with bfp_.

A key can be issued on any plan and will answer 402 until the plan includes it — so the integration is built once and starts working when the plan changes, rather than being blocked until it does. Fleet is 50,000 calls a month, Enterprise 500,000.

Your fleet

GET https://bunkerfuelprices.com/api/v1/data/fleet

curl https://bunkerfuelprices.com/api/v1/data/fleet \
  -H "Authorization: Bearer bfp_YOUR_KEY"
{
  "organisation": "Aegean Shipping",
  "vessels": [
    {
      "imo": "9876543", "name": "MV EXAMPLE", "segment": "commercial",
      "dwt": 82000, "consumptionMtPerDay": 28.5, "serviceSpeedKts": 13.2,
      "scrubber": false,
      "position": {
        "lat": 1.265, "lon": 103.82, "speedKts": 11.4, "courseDeg": 87,
        "destination": "SGSIN",
        "nextPort": { "name": "Singapore", "locode": "SGSIN" },
        "etaAt": "2026-09-02T06:00:00.000Z",
        "observedAt": "2026-08-30T13:31:00.000Z", "source": "aisstream"
      },
      "rob": { "vlsfoMt": 640, "mgoMt": 95 }
    }
  ]
}

rob is remaining on board — the number that decides how much you can actually lift, and the one most fleet systems have to ask a master for.

Requests and quotes

GET https://bunkerfuelprices.com/api/v1/data/quotes?days=90

{
  "requests": [
    {
      "ref": "BFP-7K2M",
      "port": { "name": "Singapore", "locode": "SGSIN" },
      "grade": "VLSFO", "quantityMt": 1200,
      "status": "comparing",
      "quotes": [
        {
          "usdPerMt": 784.50,
          "allInUsdPerMt": 799.10,
          "bargeFeeUsd": 8500,
          "paymentTermDays": 30,
          "creditAdjUsdPerMt": 2.10,
          "basis": "delivered", "validUntil": "2026-08-30T17:00:00.000Z",
          "extractionConfidence": 0.96
        }
      ]
    }
  ]
}

allInUsdPerMt is the one to compare on. The headline figure is not what you pay: it excludes the barge fee, the cost of the payment terms and your credit position with that supplier, and the gap between the two is routinely $10 to $40 a tonne. Sorting suppliers by usdPerMt reliably picks the wrong one.

extractionConfidence is how sure the parser was when it read the supplier’s email. Below 0.9 a person has looked at it.

The public price board

Open, no key needed, no plan needed.

curl "https://bunkerfuelprices.com/api/v1/prices?grade=VLSFO&limit=50"

Errors

StatusMeaning
401Missing or unknown key.
402Key is valid, plan does not include the API. The response names the plan you are on.
429Monthly allowance used. Resets on the first of the month.

Your own data is yours: export it, keep it, use it however you like. Licensed market prices carry the redistribution terms set out in the Data & Pricing Policy. Suppliers post to a different endpoint — supplier API.