A single API for all carriers

With our integrated API and apps you can easily validate addresses, create labels, compare rates, buy insurance, track packages and book a pickup.


Rate

ShippyPro RATE APIs allow you to get the rates of all your couriers ordered by price and time with just one simple API Request. Empower your order management system, your checkout and your backend with this useful API request.

Envío

Shipping APIs allow you to generate labels of different sizes (A4, A6, ZPL, EPL) for any supported carriers. You can also generate customs documents and manifest for your couriers via API

Track & Trace

You can track your shipments and get notified to a webhook whenever your shipment receives a new status

Booking

You can now book a pickup with your courier without needing to contact it directly. Just select shipments to pickup and ShippyPro Booking API will send the request to the carrier

Drop Off

Get a list of all the drop-off points of different carriers near by a specific location. You can also use our Drop-Off plug-in tool if you want to go-live faster.

Paperless

You can use the Paperless API to upload documents for customs clearance: speed up your order preparation process and save tons of paper.

                            <?php
$arr = array(
    "Method" => "Ship",
    "Params" => array(
        "to_address" => array(...),
        "from_address" => array(...),
        "parcels" => array(...),
        "TotalValue" => "95.93 EUR",
        "ContentDescription" => "Shoes",
        "Insurance" => 0,
        "InsuranceCurrency" => "EUR",
        "CashOnDelivery" => 0,
        "CashOnDeliveryCurrency" => "EUR",
        "CarrierName" => "DHLExpress",
        "CarrierID" => 23,
        "OrderID" => "",
        "RateID" => "14922625303744"
    )
);

$data = json_encode($arr);

$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data))
);                
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);    
curl_setopt($curl, CURLOPT_USERPWD, "APIKEY");
curl_setopt($curl, CURLOPT_URL, "https://www.shippypro.com/api");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);          
curl_close($curl);
echo $result;
?>
                        
                            <?php
$arr = array(
    "Method" => "GetRates",
    "Params" => array(
        "to_address" => array(...),
        "from_address" => array(...),
        "parcels": [
            {
                "length": 5,
                "width": 5,
                "height": 5,
                "weight": 20
            }
        ]
    )
);

$data = json_encode($arr);

$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data))
);                
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);    
curl_setopt($curl, CURLOPT_USERPWD, "APIKEY");
curl_setopt($curl, CURLOPT_URL, "https://www.shippypro.com/api");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);          
curl_close($curl);
echo $result;
?>
                        
                            <?php
$arr = array(
    "Method" => "BookPickup",
    "Params" => array(
        "to_address" => array(...),
        "from_address" => array(...),
        "parcels": [
            {
                "length": 5,
                "width": 5,
                "height": 5,
                "weight": 20
            }
        ],
        "CarrierName" => "DHLExpress",
        "CarrierID" => 20,
        "PickupTime" => 1517564402,
        "PickupNote" => "Urgent",
        "PickupMorningMintime" => "09:00",
        "PickupMorningMaxtime" => "12:00",
        "PickupAfternoonMintime" => "14:00",
        "PickupAfternoonMaxtime" => "18:00"
    )
);

$data = json_encode($arr);

$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data))
);                
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);    
curl_setopt($curl, CURLOPT_USERPWD, "APIKEY");
curl_setopt($curl, CURLOPT_URL, "https://www.shippypro.com/api");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);          
curl_close($curl);
echo $result;
?>
                        
                            <?php
$arr = array(
    "Method" => "GetTracking",
    "Params" => array(
        "code" => "1ZA103756899507566"
    )
);

$data = json_encode($arr);

$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data))
);                
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);    
curl_setopt($curl, CURLOPT_USERPWD, "APIKEY");
curl_setopt($curl, CURLOPT_URL, "https://www.shippypro.com/api");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);          
curl_close($curl);
echo $result;
?>
                        
                            <?php
$arr = array(
    "Method" => "GetDropOffPoints",
    "Params" => array(
        "city"     => "Florence",
        "zip"      => "50126",
        "country"  => "IT",
        "limit"    => 20,
        "couriers" => array("ups","posteitaliane")
    )
);

$data = json_encode($arr);

$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data))
);                
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);    
curl_setopt($curl, CURLOPT_USERPWD, "APIKEY");
curl_setopt($curl, CURLOPT_URL, "https://www.shippypro.com/api");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);          
curl_close($curl);
echo $result;
?>
                        
                            <?php
$arr = array(
    "Method" => "UploadPaperlessDocumentation",
    "Params" => array(
        "TransactionID" => "19269",
        "Name"          => "Mark",
        "Country"       => "US",
        "Document"      => "..."
    )
);

$data = json_encode($arr);

$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data))
);                
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);    
curl_setopt($curl, CURLOPT_USERPWD, "APIKEY");
curl_setopt($curl, CURLOPT_URL, "https://www.shippypro.com/api");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);          
curl_close($curl);
echo $result;
?>
                        

API Integrations

The ShippyPro API supports the following carriers as well as many others for shipping and tracking

Built by developers for developers

Sign up for free and join the best ecommerce owners around the world who have fallen in love with ShippyPro

Read the API documentation