Get LTL rates
curl --request POST \
--url https://api.shippeek.dev/rates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"originPostalCode": "<string>",
"destPostalCode": "<string>",
"items": [
{
"weight": 123,
"length": 123,
"width": 123,
"height": 123,
"quantity": 1,
"description": "<string>",
"package": "<string>",
"hazardous": false,
"nmfc": "<string>"
}
],
"pickupDate": "2023-12-25",
"charges": [],
"originCompany": "<string>",
"originAddress": "<string>",
"originAddress2": "<string>",
"originCity": "<string>",
"originState": "<string>",
"originCountry": "USA",
"originType": "business dock",
"destCompany": "<string>",
"destAddress": "<string>",
"destAddress2": "<string>",
"destCity": "<string>",
"destState": "<string>",
"destCountry": "USA",
"destType": "business dock"
}
'import requests
url = "https://api.shippeek.dev/rates"
payload = {
"originPostalCode": "<string>",
"destPostalCode": "<string>",
"items": [
{
"weight": 123,
"length": 123,
"width": 123,
"height": 123,
"quantity": 1,
"description": "<string>",
"package": "<string>",
"hazardous": False,
"nmfc": "<string>"
}
],
"pickupDate": "2023-12-25",
"charges": [],
"originCompany": "<string>",
"originAddress": "<string>",
"originAddress2": "<string>",
"originCity": "<string>",
"originState": "<string>",
"originCountry": "USA",
"originType": "business dock",
"destCompany": "<string>",
"destAddress": "<string>",
"destAddress2": "<string>",
"destCity": "<string>",
"destState": "<string>",
"destCountry": "USA",
"destType": "business dock"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
originPostalCode: '<string>',
destPostalCode: '<string>',
items: [
{
weight: 123,
length: 123,
width: 123,
height: 123,
quantity: 1,
description: '<string>',
package: '<string>',
hazardous: false,
nmfc: '<string>'
}
],
pickupDate: '2023-12-25',
charges: [],
originCompany: '<string>',
originAddress: '<string>',
originAddress2: '<string>',
originCity: '<string>',
originState: '<string>',
originCountry: 'USA',
originType: 'business dock',
destCompany: '<string>',
destAddress: '<string>',
destAddress2: '<string>',
destCity: '<string>',
destState: '<string>',
destCountry: 'USA',
destType: 'business dock'
})
};
fetch('https://api.shippeek.dev/rates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.shippeek.dev/rates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'originPostalCode' => '<string>',
'destPostalCode' => '<string>',
'items' => [
[
'weight' => 123,
'length' => 123,
'width' => 123,
'height' => 123,
'quantity' => 1,
'description' => '<string>',
'package' => '<string>',
'hazardous' => false,
'nmfc' => '<string>'
]
],
'pickupDate' => '2023-12-25',
'charges' => [
],
'originCompany' => '<string>',
'originAddress' => '<string>',
'originAddress2' => '<string>',
'originCity' => '<string>',
'originState' => '<string>',
'originCountry' => 'USA',
'originType' => 'business dock',
'destCompany' => '<string>',
'destAddress' => '<string>',
'destAddress2' => '<string>',
'destCity' => '<string>',
'destState' => '<string>',
'destCountry' => 'USA',
'destType' => 'business dock'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.shippeek.dev/rates"
payload := strings.NewReader("{\n \"originPostalCode\": \"<string>\",\n \"destPostalCode\": \"<string>\",\n \"items\": [\n {\n \"weight\": 123,\n \"length\": 123,\n \"width\": 123,\n \"height\": 123,\n \"quantity\": 1,\n \"description\": \"<string>\",\n \"package\": \"<string>\",\n \"hazardous\": false,\n \"nmfc\": \"<string>\"\n }\n ],\n \"pickupDate\": \"2023-12-25\",\n \"charges\": [],\n \"originCompany\": \"<string>\",\n \"originAddress\": \"<string>\",\n \"originAddress2\": \"<string>\",\n \"originCity\": \"<string>\",\n \"originState\": \"<string>\",\n \"originCountry\": \"USA\",\n \"originType\": \"business dock\",\n \"destCompany\": \"<string>\",\n \"destAddress\": \"<string>\",\n \"destAddress2\": \"<string>\",\n \"destCity\": \"<string>\",\n \"destState\": \"<string>\",\n \"destCountry\": \"USA\",\n \"destType\": \"business dock\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.shippeek.dev/rates")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"originPostalCode\": \"<string>\",\n \"destPostalCode\": \"<string>\",\n \"items\": [\n {\n \"weight\": 123,\n \"length\": 123,\n \"width\": 123,\n \"height\": 123,\n \"quantity\": 1,\n \"description\": \"<string>\",\n \"package\": \"<string>\",\n \"hazardous\": false,\n \"nmfc\": \"<string>\"\n }\n ],\n \"pickupDate\": \"2023-12-25\",\n \"charges\": [],\n \"originCompany\": \"<string>\",\n \"originAddress\": \"<string>\",\n \"originAddress2\": \"<string>\",\n \"originCity\": \"<string>\",\n \"originState\": \"<string>\",\n \"originCountry\": \"USA\",\n \"originType\": \"business dock\",\n \"destCompany\": \"<string>\",\n \"destAddress\": \"<string>\",\n \"destAddress2\": \"<string>\",\n \"destCity\": \"<string>\",\n \"destState\": \"<string>\",\n \"destCountry\": \"USA\",\n \"destType\": \"business dock\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shippeek.dev/rates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"originPostalCode\": \"<string>\",\n \"destPostalCode\": \"<string>\",\n \"items\": [\n {\n \"weight\": 123,\n \"length\": 123,\n \"width\": 123,\n \"height\": 123,\n \"quantity\": 1,\n \"description\": \"<string>\",\n \"package\": \"<string>\",\n \"hazardous\": false,\n \"nmfc\": \"<string>\"\n }\n ],\n \"pickupDate\": \"2023-12-25\",\n \"charges\": [],\n \"originCompany\": \"<string>\",\n \"originAddress\": \"<string>\",\n \"originAddress2\": \"<string>\",\n \"originCity\": \"<string>\",\n \"originState\": \"<string>\",\n \"originCountry\": \"USA\",\n \"originType\": \"business dock\",\n \"destCompany\": \"<string>\",\n \"destAddress\": \"<string>\",\n \"destAddress2\": \"<string>\",\n \"destCity\": \"<string>\",\n \"destState\": \"<string>\",\n \"destCountry\": \"USA\",\n \"destType\": \"business dock\"\n}"
response = http.request(request)
puts response.read_body{
"id": "570665116d0bfce422911668",
"rates": [
{
"id": "34575116d0afce4229116467",
"status": "ok",
"mode": "LTL",
"paymentTerms": "Outbound Prepaid",
"total": 123.45,
"ref": "ABC123456",
"days": 3,
"serviceType": "Standard",
"serviceDescription": "Standard",
"time": 530,
"carrierId": "84528496d0afce4229282716",
"carrier": "Estes Express Lines",
"carrierCode": "exla",
"charges": [
{
"name": "linehaul",
"amount": 1000
},
{
"name": "discount",
"amount": -900
},
{
"name": "fuel",
"amount": 23.45
}
]
}
]
}{
"error": "<string>",
"message": "<string>"
}Rates
Get LTL rates
Get LTL shipping rates from all configured carriers. Returns a list of rates sorted by price. Each rate includes carrier details, transit time, and an itemized charge breakdown.
POST
/
rates
Get LTL rates
curl --request POST \
--url https://api.shippeek.dev/rates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"originPostalCode": "<string>",
"destPostalCode": "<string>",
"items": [
{
"weight": 123,
"length": 123,
"width": 123,
"height": 123,
"quantity": 1,
"description": "<string>",
"package": "<string>",
"hazardous": false,
"nmfc": "<string>"
}
],
"pickupDate": "2023-12-25",
"charges": [],
"originCompany": "<string>",
"originAddress": "<string>",
"originAddress2": "<string>",
"originCity": "<string>",
"originState": "<string>",
"originCountry": "USA",
"originType": "business dock",
"destCompany": "<string>",
"destAddress": "<string>",
"destAddress2": "<string>",
"destCity": "<string>",
"destState": "<string>",
"destCountry": "USA",
"destType": "business dock"
}
'import requests
url = "https://api.shippeek.dev/rates"
payload = {
"originPostalCode": "<string>",
"destPostalCode": "<string>",
"items": [
{
"weight": 123,
"length": 123,
"width": 123,
"height": 123,
"quantity": 1,
"description": "<string>",
"package": "<string>",
"hazardous": False,
"nmfc": "<string>"
}
],
"pickupDate": "2023-12-25",
"charges": [],
"originCompany": "<string>",
"originAddress": "<string>",
"originAddress2": "<string>",
"originCity": "<string>",
"originState": "<string>",
"originCountry": "USA",
"originType": "business dock",
"destCompany": "<string>",
"destAddress": "<string>",
"destAddress2": "<string>",
"destCity": "<string>",
"destState": "<string>",
"destCountry": "USA",
"destType": "business dock"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
originPostalCode: '<string>',
destPostalCode: '<string>',
items: [
{
weight: 123,
length: 123,
width: 123,
height: 123,
quantity: 1,
description: '<string>',
package: '<string>',
hazardous: false,
nmfc: '<string>'
}
],
pickupDate: '2023-12-25',
charges: [],
originCompany: '<string>',
originAddress: '<string>',
originAddress2: '<string>',
originCity: '<string>',
originState: '<string>',
originCountry: 'USA',
originType: 'business dock',
destCompany: '<string>',
destAddress: '<string>',
destAddress2: '<string>',
destCity: '<string>',
destState: '<string>',
destCountry: 'USA',
destType: 'business dock'
})
};
fetch('https://api.shippeek.dev/rates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.shippeek.dev/rates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'originPostalCode' => '<string>',
'destPostalCode' => '<string>',
'items' => [
[
'weight' => 123,
'length' => 123,
'width' => 123,
'height' => 123,
'quantity' => 1,
'description' => '<string>',
'package' => '<string>',
'hazardous' => false,
'nmfc' => '<string>'
]
],
'pickupDate' => '2023-12-25',
'charges' => [
],
'originCompany' => '<string>',
'originAddress' => '<string>',
'originAddress2' => '<string>',
'originCity' => '<string>',
'originState' => '<string>',
'originCountry' => 'USA',
'originType' => 'business dock',
'destCompany' => '<string>',
'destAddress' => '<string>',
'destAddress2' => '<string>',
'destCity' => '<string>',
'destState' => '<string>',
'destCountry' => 'USA',
'destType' => 'business dock'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.shippeek.dev/rates"
payload := strings.NewReader("{\n \"originPostalCode\": \"<string>\",\n \"destPostalCode\": \"<string>\",\n \"items\": [\n {\n \"weight\": 123,\n \"length\": 123,\n \"width\": 123,\n \"height\": 123,\n \"quantity\": 1,\n \"description\": \"<string>\",\n \"package\": \"<string>\",\n \"hazardous\": false,\n \"nmfc\": \"<string>\"\n }\n ],\n \"pickupDate\": \"2023-12-25\",\n \"charges\": [],\n \"originCompany\": \"<string>\",\n \"originAddress\": \"<string>\",\n \"originAddress2\": \"<string>\",\n \"originCity\": \"<string>\",\n \"originState\": \"<string>\",\n \"originCountry\": \"USA\",\n \"originType\": \"business dock\",\n \"destCompany\": \"<string>\",\n \"destAddress\": \"<string>\",\n \"destAddress2\": \"<string>\",\n \"destCity\": \"<string>\",\n \"destState\": \"<string>\",\n \"destCountry\": \"USA\",\n \"destType\": \"business dock\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.shippeek.dev/rates")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"originPostalCode\": \"<string>\",\n \"destPostalCode\": \"<string>\",\n \"items\": [\n {\n \"weight\": 123,\n \"length\": 123,\n \"width\": 123,\n \"height\": 123,\n \"quantity\": 1,\n \"description\": \"<string>\",\n \"package\": \"<string>\",\n \"hazardous\": false,\n \"nmfc\": \"<string>\"\n }\n ],\n \"pickupDate\": \"2023-12-25\",\n \"charges\": [],\n \"originCompany\": \"<string>\",\n \"originAddress\": \"<string>\",\n \"originAddress2\": \"<string>\",\n \"originCity\": \"<string>\",\n \"originState\": \"<string>\",\n \"originCountry\": \"USA\",\n \"originType\": \"business dock\",\n \"destCompany\": \"<string>\",\n \"destAddress\": \"<string>\",\n \"destAddress2\": \"<string>\",\n \"destCity\": \"<string>\",\n \"destState\": \"<string>\",\n \"destCountry\": \"USA\",\n \"destType\": \"business dock\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shippeek.dev/rates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"originPostalCode\": \"<string>\",\n \"destPostalCode\": \"<string>\",\n \"items\": [\n {\n \"weight\": 123,\n \"length\": 123,\n \"width\": 123,\n \"height\": 123,\n \"quantity\": 1,\n \"description\": \"<string>\",\n \"package\": \"<string>\",\n \"hazardous\": false,\n \"nmfc\": \"<string>\"\n }\n ],\n \"pickupDate\": \"2023-12-25\",\n \"charges\": [],\n \"originCompany\": \"<string>\",\n \"originAddress\": \"<string>\",\n \"originAddress2\": \"<string>\",\n \"originCity\": \"<string>\",\n \"originState\": \"<string>\",\n \"originCountry\": \"USA\",\n \"originType\": \"business dock\",\n \"destCompany\": \"<string>\",\n \"destAddress\": \"<string>\",\n \"destAddress2\": \"<string>\",\n \"destCity\": \"<string>\",\n \"destState\": \"<string>\",\n \"destCountry\": \"USA\",\n \"destType\": \"business dock\"\n}"
response = http.request(request)
puts response.read_body{
"id": "570665116d0bfce422911668",
"rates": [
{
"id": "34575116d0afce4229116467",
"status": "ok",
"mode": "LTL",
"paymentTerms": "Outbound Prepaid",
"total": 123.45,
"ref": "ABC123456",
"days": 3,
"serviceType": "Standard",
"serviceDescription": "Standard",
"time": 530,
"carrierId": "84528496d0afce4229282716",
"carrier": "Estes Express Lines",
"carrierCode": "exla",
"charges": [
{
"name": "linehaul",
"amount": 1000
},
{
"name": "discount",
"amount": -900
},
{
"name": "fuel",
"amount": 23.45
}
]
}
]
}{
"error": "<string>",
"message": "<string>"
}Authorizations
Your ShipPeek API token in the format client_id.client_secret.
Query Parameters
How long to wait for rates (seconds). Use 1 to create a quote without waiting for all carriers.
Required range:
1 <= x <= 30Comma-separated list of carrier SCAC codes to filter results.
Body
application/json
Pickup ZIP code
Delivery ZIP code
Items being shipped
Show child attributes
Show child attributes
Requested pickup date (YYYY-MM-DD)
Accessorial charges to include in the rate
Available options:
arrival notice, arrival schedule, liftgate pickup, liftgate delivery, inside pickup, inside delivery, sort and segregate, protect from freezing Company name at pickup
Street address at pickup
Available options:
USA, CAN Facility type at pickup location
Available options:
business dock, business no dock, residential, limited access, trade show, construction, farm, military, airport, place of worship, school, mine, pier Available options:
USA, CAN Facility type at delivery location
Available options:
business dock, business no dock, residential, limited access, trade show, construction, farm, military, airport, place of worship, school, mine, pier ⌘I