Concrete cost estimator
An 8 cubic yard pour under a 10-yard truck minimum gets the short-load fee added; at 10 yards or more that fee drops to zero. Enter the volume, the plant's price per yard and its fee to get the ready-mix total. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Volume
- 8
- Price per cy
- 165
- Short load fee
- 85
- Minimum load
- 10
- Total
- 1,405
- Material cost
- 1,320
- Short load applied
- 85
- Precision
- 2
A concrete cost estimator turns a pour plan into a ready-mix budget by multiplying cubic yards by the supplier price per cubic yard and adding any delivery short-load fee when the order is under the truck minimum. Homeowners sizing a patio slab, contractors comparing plant quotes, and developers building construction estimators all need the same transparent arithmetic without a spreadsheet that drifts between phones and desktops.
How ready-mix concrete cost is computed from volume and short-load rules
Ready-mix plants almost always quote a unit price per cubic yard and a separate short-load surcharge when the order is smaller than a full truck. This estimator multiplies pour volume by price per cubic yard to obtain material cost, then compares volume to minimum load (default ten cubic yards, override with your plant rule).
When volume is strictly less than minimum load, the short-load fee is added; when volume meets or exceeds the threshold, the applied short-load fee is zero even if you left a fee amount in the form for what-if scenarios. The total is material cost plus the applied short-load amount. Volume must be finite and greater than zero; unit price, short-load fee, and minimum load must be finite and non-negative.
Currency is not converted: price per cubic yard and the fee share one currency unit, so mixing dollars and euros produces a number that is not meaningful as money. The response does not size a slab, convert feet and inches into yards, or choose bag versus truck delivery; pair this tool with a slab, footing, or column volume calculator when you still need cubic yards, then feed that volume and your plant quote here.
On success the tool echoes rounded inputs, publishes material cost, short-load applied and triggered flag, total, formula, message, and steps so you can audit every multiply and branch by hand or in automated tests.
Practical tips, limits, and related searches
Pull pour volume from a measured take-off or from sibling calculators for slabs, footings, and columns, then plug the plant list price and the short-load rule printed on the quote so the total reflects what you will actually be billed. If a quote includes pump rental, fuel surcharges, tax, or labour, add those outside this estimator—this capability stays deliberately focused on ready-mix material plus short-load delivery so SEO landings for concrete cost estimator stay accurate and comparable.
Prefer this capability when cubic yards and plant prices are already known and you only need a transparent total; if you still need volume from length, width, and thickness, use a concrete slab calculator first. Round-trip checks are easy: recompute volume times unit price by hand, apply the short-load fee only when volume is under the minimum, and confirm the published total matches at the chosen precision.
What you can do with it
Homeowner patio pour budget
Enter cubic yards from a slab calculator with the plant price per yard and short-load fee to see the ready-mix total before scheduling delivery.
Contractor quote comparison
Estimators feed the same pour volume into two plant unit prices and short-load rules, attach material, fee, and total steps to a transparent customer quote.
FAQ
How is ready-mix concrete cost calculated?
Material cost is volume times unit price; the short-load fee applies only when the pour is under the minimum truck load.
What is a short-load fee?
A delivery surcharge many ready-mix plants charge when the order is smaller than a full truck (often about ten cubic yards). Enter the fee and minimum from your quote; the tool applies the fee only when volume is strictly below that minimum.
What units should I use for volume?
Convert cubic feet by dividing by 27, or use a slab/footing volume calculator first, then paste the yardage here.
Does this include pump, tax, or labour?
No. It estimates ready-mix material cost plus optional short-load delivery fee only. Add pump rental, tax, labour, and other surcharges outside this tool.
Is the concrete cost estimator free?
The browser tool is free and runs locally.
Related tools
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/home/concrete-cost \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"volume":8,"price_per_cy":165}'const res = await fetch("https://api.kit.forhosting.com/home/concrete-cost", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"volume": 8,
"price_per_cy": 165
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/concrete-cost",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"volume": 8,
"price_per_cy": 165
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/concrete-cost", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"volume":8,"price_per_cy":165}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"volume":8,"price_per_cy":165}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/concrete-cost", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"volume": 8,
"price_per_cy": 165
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.concrete_cost",
"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. |
Technical notes
Negative volumes, prices, or fees are rejected with invalid_input so a typo never invents a credit.
How to call the API and what comes back
Example: eight cubic yards at one hundred sixty-five dollars with an eighty-five dollar short-load fee under a ten-yard minimum yields material one thousand three hundred twenty, applied short-load eighty-five, and total one thousand four hundred five. Prefer sending numbers rather than pre-formatted strings when you control the client; when you must send strings, avoid currency symbols, thousand separators, or unit suffixes that would fail the finite-number pattern. Send a JSON body with two required finite numbers: volume (aliases pour_volume, cubic_yards, yards, cy, volume_cy) greater than zero, and price_per_cy (aliases price_per_yard, unit_price, cy_price, price, price_per_cubic_yard) non-negative. Optionally send short_load_fee (aliases shortload_fee, delivery_fee, short_load, shortload, short_load_charge) defaulting to zero, minimum_load (aliases min_load, min_yards, short_load_threshold, min_cy) defaulting to ten cubic yards, and precision (aliases decimals, dp) as an integer from zero to fifteen defaulting to two decimal places for money-style rounding. Each field may arrive as a JSON number or as a strict finite numeric string; non-finite values, missing required fields, empty strings, negatives, and zero volume fail with invalid_input naming the field and are never charged. On success the response echoes volume, price_per_cy, short_load_fee, and minimum_load rounded to precision, sets material_cost to volume times unit price, sets short_load_triggered true when volume is under the minimum, sets short_load_applied to the fee or zero accordingly, sets total to their sum, and includes formula, message, and steps as an ordered substitution log. Pricing is a flat $0.002 per successful request with unit item.
Practical tips, limits, and related searches
Keep magnitudes inside the published absolute range so products remain finite in IEEE double precision on the Worker and in the browser. When teaching or writing tests, pair a short-load case under ten yards with a full-load case at or above the minimum and a deliberate negative price to prove the invalid_input path. This landing targets people searching for a concrete cost estimator, ready mix cost calculator, how much does concrete cost per cubic yard with short load fee, or pour volume price online; it is not a bag-count mixer, not a rebar schedule, not a labour-hour scheduler, and not a multi-currency converter. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when you deliberately send a negative short-load fee to verify error handling.
Integration use cases
Golden fixtures for construction apps
Developers generate known-good short-load and full-load totals plus deliberate negative-price rejections for unit tests and continuous integration.