Calculate optimal box sizes and item placement for every order. Reduce wasted space with algorithmic precision.
Choosing the right box for each order is surprisingly complex when items vary in size and quantity.
Optimal 3D bin packing is computationally intensive—too complex for manual calculation.
When every order has different item combinations, finding optimal packing is a constant challenge.
Oversized boxes mean higher dimensional weight charges. Every inch of wasted space costs money.
StoaPack is a REST API that calculates optimal box selection and item placement for your orders.
Send your item dimensions and available box sizes. Our algorithm determines which box to use and exactly where each item should be placed inside it.
Need special handling? Use AI-powered custom instructions to apply your business rules—like keeping certain items together or placing heavy items at the bottom.
Given your available box sizes, the API selects the smallest box that fits all items—reducing dimensional weight charges.
Optimize packing across multiple warehouse locations with location-specific inventory data.
Use plain English to guide packing logic: "keep fragile items on top" or "group items by order".
Choose your priority: minimize boxes, minimize wasted volume, or minimize cost based on box pricing.
POST item dimensions, weights, and your available box sizes
Algorithm selects best box and calculates exact item placement
Receive box selection and X, Y, Z coordinates for each item
Join leading warehousing operations that are optimizing their storage utilization and reducing costs with StoaPack.
Simple JSON request/response that works with any system
Support for centimeters, inches, grams, and ounces
Items can be packed inside other items when dimensions allow
Built-in compliance for 49 CFR and IATA DGR regulations
// Simple API integration example
fetch('https://stoapack.stoalogistics.com/api/v1.1/optimize', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
items: warehouseItems,
warehouses: [
{
id: "warehouse_a",
available_boxes: standardContainers,
inventory: warehouseAInventory
}
],
unit: 'cm',
custom_instructions: 'Place heavier items at the bottom and ensure fragile items are not stacked high'
})
})
.then(response => response.json())
.then(solution => {
// Process the optimized packing solution
console.log(solution);
});
Let our algorithm handle the complex calculations so your team can pack with confidence.
Start Your Free Trial