How to Get Freight Rates with One API Call
One POST request. Instant rate. All inclusive pricing. No phone calls, no email chains, no waiting for a broker to get back to you. The Warp freight rate API returns live rates for LTL, truckload, box truck, and cargo van in structured JSON. This is the definitive guide to programmatic freight rate generation.
Instant rates · All modes · All inclusive · No API fees
The old way vs the API way
The old way
Call your broker. Wait.
Call or email a freight broker. Describe your shipment. Wait 30 minutes to 4 hours for a rate. Get a quote that does not include fuel surcharges, accessorials, or terminal handling. Ask for a breakdown. Wait again. Compare across 2 or 3 brokers manually. Copy the rate into a spreadsheet. Repeat for every lane, every week.
The API way
One POST. Instant rate.
Send a POST request with origin, destination, pickup date, and item details. Get back an all inclusive rate in under 2 seconds. The rate includes everything: pickup, handling, line haul, delivery. No fuel surcharges. No hidden fees. Compare modes programmatically. Book with the quote_id. Done.
The complete quote request
Every rate request goes to POST https://www.wearewarp.com/api/v1/ltl/quote (or the corresponding /api/v1/{mode}/quote). The endpoint is keyless and public — no API key needed for quoting. Here is a complete request with every field explained.
https://www.wearewarp.com/api/v1None — keyless public endpointapplication/jsonRequired fields
origin_zipstring5-digit pickup ZIP code. Example: "90001"destination_zipstring5-digit delivery ZIP code. Example: "60601"pickup_datestringISO date when freight is ready. Example: "2026-07-24"palletsnumberNumber of pallets in the shipmentweight_lbs_per_palletnumberWeight per pallet in poundsOptional fields
mode"LTL" | "FTL" | "VAN" | "BOX_TRUCK"LTL is the public self-serve default. Confirm non-LTL production workflows before booking.curl example
Copy this and run it in your terminal. The quote endpoint is keyless — no API key required. You will get back a rate in under 2 seconds.
POST /api/v1/ltl/quote
curl -X POST https://www.wearewarp.com/api/v1/ltl/quote \
-H "Content-Type: application/json" \
-d '{
"origin_zip": "90001",
"destination_zip": "60601",
"pickup_date": "2026-07-24",
"pallets": 6,
"weight_lbs_per_pallet": 900,
"mode": "LTL"
}'The rate response explained
The response contains everything you need to make a shipping decision or book immediately.
200 Response
{
"quote_id": "wq_01KSEB7NRVTTZ1CMEWBMJ0JHQ2",
"mode": "ltl",
"price_usd": 725.00,
"currency": "USD",
"transit_days": 3,
"pickup_date": "2026-07-24",
"delivery_date": "2026-07-27",
"expires_at": "2026-07-22T15:30:00Z",
"quote_tier": "firm"
}Field breakdown
quote_idwq_… id. POST to /api/v1/book to book within the expires_at window.price_usdAll inclusive price in USD. This is the invoice price when booked.transit_daysEstimated business days from pickup to delivery.delivery_dateEstimated delivery date (YYYY-MM-DD).expires_atQuote expiry timestamp (ISO 8601). Re-quote after this if you have not yet booked.modeThe quoted freight mode (ltl, ftl, van, box_truck).Python example
Python: Get a freight rate
import requests
# Quote endpoint is keyless — no API key required
BASE = "https://www.wearewarp.com/api/v1"
HEADERS = {"Content-Type": "application/json"}
payload = {
"origin_zip": "90001",
"destination_zip": "60601",
"pickup_date": "2026-07-24",
"pallets": 6,
"weight_lbs_per_pallet": 900,
"commodity": "general freight",
"length_in": 48,
"width_in": 40,
"height_in": 48
}
response = requests.post(f"${BASE}/ltl/quote", headers=HEADERS, json=payload)
quote = response.json()
print(f"Rate: $" + str(quote["price_usd"]))
print(f"Transit: " + str(quote["transit_days"]) + " days")
print(f"Quote ID: " + quote["quote_id"])Node.js example
Node.js: Get a freight rate
// Quote endpoint is keyless — no Authorization header needed
const response = await fetch(
"https://www.wearewarp.com/api/v1/ltl/quote",
{
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
origin_zip: "90001",
destination_zip: "60601",
pickup_date: "2026-07-24",
pallets: 6,
weight_lbs_per_pallet: 900,
commodity: "general freight",
length_in: 48,
width_in: 40,
height_in: 48
})
}
);
const quote = await response.json();
console.log(`Rate: $${quote.price_usd}, Transit: ${quote.transit_days} days`);Compare rates across modes
One of the most powerful things about the Warp rate API is the ability to compare LTL, box truck, and full truckload rates for the same shipment programmatically. Make three requests with different vehicle types and pick the best option based on cost, transit time, or both. No broker needed for this comparison. Your code does it in seconds.
Python: Compare LTL vs box truck vs dry van
import requests
# All /api/v1/{mode}/quote endpoints are keyless — no API key required
BASE = "https://www.wearewarp.com/api/v1"
HEADERS = {"Content-Type": "application/json"}
base_payload = {
"origin_zip": "90001",
"destination_zip": "60601",
"pickup_date": "2026-07-24",
"pallets": 6,
"weight_lbs_per_pallet": 900,
"commodity": "general freight",
"length_in": 48,
"width_in": 40,
"height_in": 48
}
# Quote LTL
ltl = requests.post(f"${BASE}/ltl/quote", headers=HEADERS, json=base_payload).json()
# Quote box truck
box_truck = requests.post(f"${BASE}/box-truck/quote", headers=HEADERS, json=base_payload).json()
# Quote FTL (53ft dry van)
ftl = requests.post(f"${BASE}/ftl/quote", headers=HEADERS, json=base_payload).json()
print("LTL: $" + str(ltl["price_usd"]) + " (" + str(ltl["transit_days"]) + " days)")
print("Box Truck: $" + str(box_truck["price_usd"]) + " (" + str(box_truck["transit_days"]) + " days)")
print("FTL: $" + str(ftl["price_usd"]) + " (" + str(ftl["transit_days"]) + " days)")
# Pick the cheapest
best = min([ltl, box_truck, ftl], key=lambda x: x["price_usd"])
print("Best option: $" + str(best["price_usd"]) + " (" + best["mode"] + ")")Handling accessorials
Traditional freight quoting treats accessorials as post hoc surprises. You get a rate, book it, then discover you owe an extra $150 for liftgate and $75 for a delivery appointment. Warp prices approved service requirements before dispatch so the shipment economics stay clear. Public self-serve quote requests should use the documented base fields first; confirm account-enabled service options before building accessorial logic.
Pickup services
Add at quote time
Liftgate pickup, inside pickup, residential pickup, limited access, appointment, driver assist, drop and hook, construction site, convention/trade show.
Delivery services
Priced in the quote
Liftgate delivery, inside delivery, residential delivery, limited access, appointment, driver assist, drop and hook, construction site, redelivery.
Additional services
No surprise fees
Sort and seg, extra stop, extra miles, driver assist, white glove, check calls, notification, photo required.
Temperature controlled freight rates
For food, beverage, pharma, or any temperature sensitive freight, Warp can support temperature controlled equipment through approved-account workflows. Confirm that surface before treating temperature requirements as public self-serve fields in a production integration.
Using rate data for cost optimization
Because every rate request and response is structured data, you can build cost optimization logic on top of the Warp API. Compare rates across pickup dates to find the cheapest day to ship. Compare vehicle types for the same lane to see when LTL beats a dedicated box truck. Track rate trends over time by storing quote history. Account-level quote history is available only on enabled account surfaces; confirm the current API reference before building analytics around it.
For recurring lanes, contact the Warp team about custom rate cards. Warp builds rate sheets for high volume shippers with committed capacity and consistent pricing through the Work Queue system, which assigns dedicated carriers to your routes.
Frequently asked questions
How do I get freight rates without calling a broker?
POST to the Warp quote endpoint at www.wearewarp.com/api/v1/ltl/quote (keyless — no API key needed) with your origin_zip, destination_zip, pickup_date, pallet count, and pallet weight. You get back an instant all inclusive rate. No phone calls, no emails, no waiting.
Does the Warp rate API return rates for multiple shipping modes?
Yes. Use the mode field to request LTL, FTL, VAN, or BOX_TRUCK. LTL is the public self-serve default; confirm non-LTL production workflows before booking.
Are Warp freight rates all inclusive?
Yes. The rate returned by the API includes pickup, handling, line haul, and delivery. No fuel surcharges, no terminal handling charges, no hidden accessorial fees. The quote price is the invoice price.
Can I get freight rates for temperature controlled shipments?
Warp can support temperature controlled equipment through approved-account workflows. Confirm that surface before treating temperature requirements as public self-serve fields in a production integration.
Is there a cost to use the Warp freight rate API?
No. There are no API call fees, no software fees, and no integration fees. You pay only when you book and ship. Rate quotes are free and unlimited.
Stop calling for rates. Start calling the API.
One POST request returns instant all inclusive freight rates for LTL, truckload, box truck, and cargo van. No phone calls, no email chains, no broker markup. Free rate quotes, unlimited.
24,000+ FTL carriers · All inclusive pricing · 14,000+ cargo vans and box trucks · 50+ cross docks