Easy Load Create (LTL/Parcel)
The Easy Load Create API allows shippers to create with minimal information. In the case of an LTL load, shippers can pass just the PRO# and carrier name. Similarly for a Parcel load, just the Tracking # and Carrier name. The load created will have the same identifier(PRO#/Tracking#) as the Load number. This can be used to search the load from the load list page.
⚠️ Important Update:
The Pallets structure is being deprecated. Please transition to for product details. Learn more
This API is called after the carrier has accepted the tender for the load. FourKites does not limit customers from creating more than one load with the same load number or PRO number -- creation of more than one load with the same load or PRO number will cause duplication of loads, which will end up affecting the tracking performance. Customers are advised to handle this on their side. To learn more about Idempotency Protection, refer here.
Supporting Document: Create Shipment
Rate Limit
1 request per second
Format Supported
JSON
Authenticated Resource
API Key
For more information on Authentication, click here.
Points to note:
- loads field should not contain more than 25 items.
- additionalDetails field is used to store any information in a map format.
curl --location --request POST 'https://api.fourkites.com/async/loads' \
--header 'apikey: REPLACE_KEY_VALUE' \
--header 'Content-Type: application/json' \
--data-raw '{
"loads": [
{
"carrierName": "carrier1",
"carrierScac": "cc79",
"mode": "LTL",
"proNumber": "12345",
"poNumber": "12321",
"trackingNumber": "6789",
"billOfLading": "52342",
"pickupZip": "33234",
"destinationZip":"23233",
"referenceNumbers": [
"string"
],
"shipper": "Test Shipper",
"additionalDetails": {
"brokeredLoad": true,
"brokeredCarrier": "Test Carrier"
}
}
]
}'import http.client
import json
conn = http.client.HTTPSConnection("api-staging.fourkites.com")
payload = json.dumps({
"loads": [
{
"carrierName": "carrier1",
"carrierScac": "cc79",
"mode": "LTL",
"proNumber": "12345",
"poNumber": "12321",
"trackingNumber": "6789",
"billOfLading": "52342",
"pickupZip": "33234",
"destinationZip": "23233",
"referenceNumbers": [
"string"
],
"shipper": "Test Shipper",
"additionalDetails": {
"brokeredLoad": True,
"brokeredCarrier": "Test Carrier"
}
}
]
})
headers = {
'apikey': 'REPLACE_KEY_VALUE',
'Content-Type': 'application/json'
}
conn.request("POST", "/async/loads", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))import http.client
import json
conn = http.client.HTTPSConnection("api.ng.fourkites.com")
payload = json.dumps({
"loads": [
{
"carrierName": "carrier1",
"carrierScac": "cc79",
"mode": "LTL",
"proNumber": "12345",
"poNumber": "12321",
"trackingNumber": "6789",
"billOfLading": "52342",
"pickupZip": "33234",
"destinationZip": "23233",
"referenceNumbers": [
"string"
],
"shipper": "Test Shipper",
"additionalDetails": {
"brokeredLoad": True,
"brokeredCarrier": "Test Carrier"
}
}
]
})
headers = {
'apikey': 'REPLACE_KEY_VALUE',
'Content-Type': 'application/json'
}
conn.request("POST", "/async/loads", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))import http.client
import json
conn = http.client.HTTPSConnection("api-staging.ng.fourkites.com")
payload = json.dumps({
"loads": [
{
"carrierName": "carrier1",
"carrierScac": "cc79",
"mode": "LTL",
"proNumber": "12345",
"poNumber": "12321",
"trackingNumber": "6789",
"billOfLading": "52342",
"pickupZip": "33234",
"destinationZip": "23233",
"referenceNumbers": [
"string"
],
"shipper": "Test Shipper",
"additionalDetails": {
"brokeredLoad": True,
"brokeredCarrier": "Test Carrier"
}
}
]
})
headers = {
'apikey': 'REPLACE_KEY_VALUE',
'Content-Type': 'application/json'
}
conn.request("POST", "/async/loads", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))