Award ticket fuel surcharge calculator
An award seat is rarely paid for with points alone. This calculator shows the complete redemption in the units that actually matter: the points or miles removed from your account and the cash charged for taxes and carrier-imposed fuel surcharges.
Run — free
Enter the totals shown by the airline, select how many travelers they cover, and receive the combined out-of-pocket cash amount, per-traveler figures, and a clear breakdown of how much of that payment comes from the surcharge rather than taxes.
Separate points from the money charged at checkout
Award search results often emphasize the mileage price while placing the cash portion in smaller text later in the booking path. That cash amount can include genuine government taxes, airport charges, and a carrier-imposed surcharge that an airline may describe as a fuel surcharge, international surcharge, or simply a carrier charge. Enter the points redeemed for the entire booking, then enter taxes and the fuel surcharge as separate cash totals. The calculator adds the two cash components to produce the amount you must actually pay at checkout. It deliberately does not convert points into money or add points directly to a currency amount, because those quantities are not interchangeable without a valuation assumption. Instead, the result presents an honest mixed-unit summary, such as points plus a stated amount of USD, and keeps every component visible. This makes comparisons much less likely to hide an expensive surcharge behind an attractive mileage figure.
Read the surcharge breakdown and per-traveler results
The out-of-pocket cash result is taxes plus the carrier fuel surcharge. The calculator also reports the percentage of that cash total attributable to each component. A high surcharge share can reveal that the airline itself, rather than a government authority, accounts for most of the payment. When the entered figures cover several passengers, set the traveler count to the number included in the itinerary. The tool divides both points and cash evenly to provide comparison-friendly per-traveler figures while preserving the booking totals. This division is descriptive and does not claim that the airline priced every passenger identically; infant fees, cabin differences, or separately ticketed travelers can make the real allocation uneven. Use one consistent three-letter currency code for both cash inputs. The calculator labels the result with that code but performs no exchange-rate conversion, so taxes and surcharge must already use the same currency before you enter them.
Compare award options without overstating their value
Use the output alongside each candidate itinerary when comparing loyalty programs, operating carriers, or departure airports. Two awards can require the same number of points yet have dramatically different cash costs because one program passes through carrier surcharges and another does not. Likewise, a higher-points option can be easier on your budget if its cash portion is small. Record the points total, cash total, currency, and traveler count for each option, then compare like with like. The calculation does not decide whether an award is a good redemption, because that judgment also depends on the equivalent cash fare, your personal value for the points, cancellation rules, availability, and the inconvenience of the itinerary. It also does not predict charges that are absent from the airline quote, such as optional bags, seat selection, payment fees, or positioning flights. For automated comparisons, the same deterministic calculation is available through the API for $0.002 per request.
What you can do with it
Compare partner airline awards
See whether identical mileage prices conceal very different carrier surcharges on different operating airlines.
Budget a family redemption
Combine all quoted cash charges and calculate points and cash per traveler for a multi-passenger booking.
Audit an award checkout quote
Separate government taxes from the airline surcharge and confirm that their sum matches the required cash payment.
FAQ
What is the total out-of-pocket cost?
It is the taxes plus the carrier fuel surcharge. Points are reported alongside that cash total rather than converted into currency.
Why are points not added directly to the cash amount?
Points and currency are different units. Adding them as one number would imply an unstated point valuation, so the calculator presents a mixed-unit summary instead.
What should I enter as a fuel surcharge?
Enter the carrier-imposed charge shown by the airline, which may also be labeled a carrier surcharge, international surcharge, YQ, or YR.
Can taxes and the surcharge use different currencies?
No. Convert them to one currency first. The tool labels amounts with your three-letter code but does not fetch exchange rates.
Does the traveler count change the booking total?
No. It only divides the entered booking totals into per-traveler figures for easier comparison.
How much does the API calculation cost?
Each API request costs $0.002. The browser calculator is free to run on this page.
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/travel/award-fuel-surcharge \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"points_redeemed":60000,"taxes":86.4,"fuel_surcharge":425}'const res = await fetch("https://api.kit.forhosting.com/travel/award-fuel-surcharge", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"points_redeemed": 60000,
"taxes": 86.4,
"fuel_surcharge": 425
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/award-fuel-surcharge",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"points_redeemed": 60000,
"taxes": 86.4,
"fuel_surcharge": 425
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/award-fuel-surcharge", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"points_redeemed":60000,"taxes":86.4,"fuel_surcharge":425}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"points_redeemed":60000,"taxes":86.4,"fuel_surcharge":425}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/award-fuel-surcharge", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"points_redeemed": 60000,
"taxes": 86.4,
"fuel_surcharge": 425
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.award_fuel_surcharge",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_points_redeemed | 1000000000 |
max_cash_component | 1000000000 |
max_travelers | 1000 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |