Daily trip budget calculator
A trip budget is easier to follow when one large total becomes a practical daily limit and clear spending envelopes.
Run — free
This calculator divides your total budget by the number of travel days, then allocates the same total among lodging, food, and activities using percentages you choose. It returns both trip-wide and per-day amounts for every category. The percentages must add up to exactly 100%, which prevents part of the budget from being forgotten or counted twice before you make reservations and daily spending decisions.
Start with a complete and consistent trip budget
Enter the full amount that you are willing to spend for the trip in one currency, then enter the number of days you will travel. The calculator does not attach a currency symbol, so dollars, euros, pounds, or another currency all work as long as every amount is understood in that same unit. Your total can include only the categories handled here, or it can represent the entire spending pool after you have set aside transportation, insurance, and emergency reserves elsewhere. What matters is consistency: the three percentages allocate every unit of the total you submit. Days must be a positive whole number because the result is designed as a daily planning allowance, not an hourly or partial-day forecast. A zero budget is accepted and can be useful for testing a plan, but negative amounts are rejected. Once entered, the total is divided evenly across the trip to give you a simple daily budget benchmark that you can compare with actual spending as the journey progresses.
Choose percentages that account for every part of the total
Assign a percentage to lodging, food, and activities according to your travel style and the costs at your destination. A hotel-focused city break may place most of the budget in lodging, while a camping trip may reserve more for meals and experiences. Each percentage can be zero through 100, but together the three values must equal 100. This validation is important because a sum below 100 leaves money unassigned and a sum above 100 promises the same money to more than one category. If the values do not total 100, the calculator returns an input error instead of producing a misleading plan. For each valid category, the result shows the selected percentage, its allocation across the complete trip, and its average allocation per day. These are planning envelopes rather than mandatory daily purchases. Spending less on food one day can leave more food money for another day without changing the category’s trip-wide allocation, while the daily figure remains a useful pace indicator.
Use the daily allocations as flexible guardrails
Read the overall daily budget first to understand the spending pace your total can sustain. Then compare the category figures with known costs. If the lodging amount per day is below the realistic price of available rooms, revise the percentages, shorten the trip, increase the total, or move fixed transportation costs outside this calculation before committing to bookings. The same check helps reveal whether the food allowance supports restaurant meals or requires groceries, and whether the activities envelope can cover tickets, tours, and entertainment. Returned amounts are rounded to two decimal places by default, and you can select a different precision when you need whole-unit estimates or additional decimal detail. Rounding is applied to displayed amounts, so tiny differences can occur when rounded category figures are added independently; the underlying allocation still uses the original inputs. The API costs $0.002 per request, while the browser version is useful for quick comparisons. Try several valid splits to test tradeoffs, then keep the version that reflects both fixed reservations and the experience you want.
What you can do with it
Set a daily spending target
Turn one total vacation fund into an easy daily benchmark before departure.
Compare accommodation choices
Test whether a larger lodging share still leaves enough per day for meals and experiences.
Build category envelopes
Create trip-wide and daily limits for lodging, food, and activities without leaving funds unallocated.
FAQ
What must the percentages add up to?
Lodging, food, and activities must add up to 100%. Any other total returns an input error.
Does the calculator assume a particular currency?
No. Use any currency, but interpret every returned amount in the same currency as the total budget.
Are transportation costs included?
There is no separate transportation category. Set transportation money aside before entering the total if it should not be allocated among the three available categories.
Can one category receive zero percent?
Yes. A category may be zero as long as all three percentages still sum to 100%.
Why might rounded category amounts differ by a small fraction?
Each displayed amount is rounded independently to the requested precision. The calculations use the unrounded input values.
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/travel2/trip-budget-per-day \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_budget":2400,"days":8,"lodging_percentage":50,"food_percentage":30,"activities_percentage":20}'const res = await fetch("https://api.kit.forhosting.com/travel2/trip-budget-per-day", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_budget": 2400,
"days": 8,
"lodging_percentage": 50,
"food_percentage": 30,
"activities_percentage": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel2/trip-budget-per-day",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_budget": 2400,
"days": 8,
"lodging_percentage": 50,
"food_percentage": 30,
"activities_percentage": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel2/trip-budget-per-day", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_budget":2400,"days":8,"lodging_percentage":50,"food_percentage":30,"activities_percentage":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_budget":2400,"days":8,"lodging_percentage":50,"food_percentage":30,"activities_percentage":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel2/trip-budget-per-day", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"total_budget": 2400,
"days": 8,
"lodging_percentage": 50,
"food_percentage": 30,
"activities_percentage": 20
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel2.trip_budget_per_day",
"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.
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. |