Loading...

Optimized integrated logistics platform for commerce

Access all the options you need to run your business efficiently through a unified eCommerce shipping and spend management solution. Connect to all of your data sources and shipping providers via the CommerceShip API or app.

Essential features

Manage orders

Pull order data from a variety of sources, including store and marketplace integrations, CSV and files

Connect carriers

Ship using our built-in carrier accounts, or bring your own account

Ship packages

Compare rates, generate shipping labels, track shipments, verify addresses, manage returns and more

Audit invoices

Upload invoices and link carrier accounts to identify errors and issues with billing

Analyze data

Get insights into your shipments, carrier delivery performance and expenditures

Optimize spend

Use your data to run scenarios, compare program implementations and configure settings for improved outcomes

Automate processes

Streamline your workflow by automating repetitive tasks, saving time and reducing errors

Customize workflows

Adapt to existing processes with our API, without impacting existing systems

Shipping Management

Generate labels

Easily create and print shipping labels for various carriers directly from our platform. Ship anywhere, from domestic to international destinations.

Learn more
Image

Compare rates

Access competitive shipping rates from multiple carriers in real-time. Compare options to find the most cost-effective solution for your shipments.

Learn more
Slider image
Slider image
Slider image

Track packages

Get real-time package tracking for you and your customers. Stay updated with live tracking status, estimated delivery dates, and receive notifications throughout shipment journey.

Learn more
Label created
In transit
Delivered

Generate return labels

Simplify your returns process with return label creation. Enhance your customer's shopping experience by making returns easy.

Learn more
Image

Verify addresses

Improve shipment deliverability with our address verification service. Check and correct addresses prior to or at the time of label generation to reduce errors, avoid shipping delays, and eliminate additional fees.

Learn more
Image

Schedule pickups and locate drop-off facilities

Provide flexible pickup and drop-off options to suit your operational needs. Schedule pickups from your location and access a wide network of drop-off points for convenience

Learn more
Image

Insure your packages

Protect your shipments with flexible insurance options. Offer peace of mind to yourself and your customers by covering against loss or damage, with easy claims processing and support

Learn more
Image

Spend Management

Digital Marketing

Ensure billing accuracy with automated invoice audits. Identify discrepancies, claim refunds for service failures, and manage shipping expenses more effectively to control costs.

Learn more

Web Development

Gain insights into your shipping operations with advanced analytics and benchmarking. Track performance metrics, identify trends, and make data-driven decisions to optimize your logistics strategy.

Learn more

Application Development

Maximize efficiency and reduce costs with our optimization tools. Analyze and improve your inventory item selection, packaging methods, carrier service selection, and shipping routes to achieve the best operational performance.

Learn more
curl --location 'https://api.commerceship.com/v1/orders' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'return-label: true' \
--header 'full-response: true' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlY2JkNDQ0My04ZDFhLTRlNmMtYmIyOS0xYmUxMTk2NDZlOGMiLCJwZXJtaXNzaW9ucyI6W10sInJvbGVzIjpbXSwiZXhwIjoxNzA0MDY3MjAwLjB9.5MKHwwW6Se3riycZQ381Tk_NC85jkl5p-My8wp6kvo-OcQeSLWL0Ct8AA5TqJpEHTm-moRGQT1jtr598cEAuUg
' \
--data '{
    "from_address": {
        "company_name" : "Retail Group",
        "first_name" : "James",
        "last_name" : "Smith",
        "street1" : "456 Elm Ave",
        "street2" : "Suite 101",
        "city_locality" : "Springfield",
        "state_province" : "IL",
        "postal_code" : "67890",
        "country_code" : "US"
    },
    "to_address": {
        "company_name" : "Client ",
        "first_name" : "Mary",
        "last_name" : "Johnson",
        "street1" : "1122 Cedar Blvd,
        "city_locality" : "Brookville",
        "state_province" : "CA",
        "postal_code" : "99901",
        "country_code" : "US"
    },
    "service": "usps_priority_mail",
    "ship_date": "2024-01-02T00:00:00.000Z",
    "packages": [
        {
            "package_type": "parcel",
            "insurance_type": "carrier",
            "insured_value": {
                "value": 20.00,
                "unit": "usd"
            },
            "weight": {
                "value": 1.00,
                "unit": "lb"
            },
            "dimensions": {
                "length": 12.00,
                "width": 9.00,
                "height": 4.00,
                "unit": "in"
            }
        }
    ],
    "items": [
        {
            "description": "shirt",
            "quantity": 1,
            "item_weight": {
                "value": 16.00,
                "unit": "oz"
            },
            "item_value": {
                "value": 19.99,
                "unit": "usd"
            },
            "item_dimensions": {
                "length": 10.50,
                "width": 8.00,
                "height": 1.00,
                "unit": "in"
            },
            "sku": "SHRT-BLA-M-001",
            "origin_country_code": "US"
        }
    ],
    "create_label": true
}'
                    
import okhttp3.*;

import java.io.IOException;

public class CommerceShipApi {

    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient().newBuilder().build();
        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType, "{\n    \"from_address\": {\n        \"company_name\" : \"Retail Group\",\n        \"first_name\" : \"James\",\n        \"last_name\" : \"Smith\",\n        \"street1\" : \"456 Elm Ave\",\n        \"street2\" : \"Suite 101\",\n        \"city_locality\" : \"Springfield\",\n        \"state_province\" : \"IL\",\n        \"postal_code\" : \"67890\",\n        \"country_code\" : \"US\"\n    },\n    \"to_address\": {\n        \"company_name\" : \"Client \",\n        \"first_name\" : \"Mary\",\n        \"last_name\" : \"Johnson\",\n        \"street1\" : \"1122 Cedar Blvd\",\n        \"city_locality\" : \"Brookville\",\n        \"state_province\" : \"CA\",\n        \"postal_code\" : \"99901\",\n        \"country_code\" : \"US\"\n    },\n    \"service\": \"usps_priority_mail\",\n    \"ship_date\": \"2024-01-02T00:00:00.000Z\",\n    \"packages\": [\n        {\n            \"package_type\": \"parcel\",\n            \"insurance_type\": \"carrier\",\n            \"insured_value\": {\n                \"value\": 20.00,\n                \"unit\": \"usd\"\n            },\n            \"weight\": {\n                \"value\": 1.00,\n                \"unit\": \"lb\"\n            },\n            \"dimensions\": {\n                \"length\": 12.00,\n                \"width\": 9.00,\n                \"height\": 4.00,\n                \"unit\": \"in\"\n            }\n        }\n    ],\n    \"items\": [\n        {\n            \"description\": \"shirt\",\n            \"quantity\": 1,\n            \"item_weight\": {\n                \"value\": 16.00,\n                \"unit\": \"oz\"\n            },\n            \"item_value\": {\n                \"value\": 19.99,\n                \"unit\": \"usd\"\n            },\n            \"item_dimensions\": {\n                \"length\": 10.50,\n                \"width\": 8.00,\n                \"height\": 1.00,\n                \"unit\": \"in\"\n            },\n            \"sku\": \"SHRT-BLA-M-001\",\n            \"origin_country_code\": \"US\"\n        }\n    ],\n    \"create_label\": true\n}");
        Request request = new Request.Builder()
                .url("https://api.commerceship.com/v1/orders")
                .method("POST", body)
                .addHeader("Content-Type", "application/json")
                .addHeader("Accept", "application/json")
                .addHeader("return-label", "true")
                .addHeader("full-response", "true")
                .addHeader("Authorization", "Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlY2JkNDQ0My04ZDFhLTRlNmMtYmIyOS0xYmUxMTk2NDZlOGMiLCJwZXJtaXNzaW9ucyI6W10sInJvbGVzIjpbXSwiZXhwIjoxNzA0MDY3MjAwLjB9.5MKHwwW6Se3riycZQ381Tk_NC85jkl5p-My8wp6kvo-OcQeSLWL0Ct8AA5TqJpEHTm-moRGQT1jtr598cEAuUg")
                .build();
        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
}
                    
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class CommerceShipApi
{
    static async Task Main(string[] args)
    {
        var httpClient = new HttpClient();
        var request = new HttpRequestMessage(HttpMethod.Post, "https://api.commerceship.com/v1/orders")
        {
            Content = new StringContent("{\n    \"from_address\": {\n        \"company_name\" : \"Retail Group\",\n        \"first_name\" : \"James\",\n        \"last_name\" : \"Smith\",\n        \"street1\" : \"456 Elm Ave\",\n        \"street2\" : \"Suite 101\",\n        \"city_locality\" : \"Springfield\",\n        \"state_province\" : \"IL\",\n        \"postal_code\" : \"67890\",\n        \"country_code\" : \"US\"\n    },\n    \"to_address\": {\n        \"company_name\" : \"Client \",\n        \"first_name\" : \"Mary\",\n        \"last_name\" : \"Johnson\",\n        \"street1\" : \"1122 Cedar Blvd\",\n        \"city_locality\" : \"Brookville\",\n        \"state_province\" : \"CA\",\n        \"postal_code\" : \"99901\",\n        \"country_code\" : \"US\"\n    },\n    \"service\": \"usps_priority_mail\",\n    \"ship_date\": \"2024-01-02T00:00:00.000Z\",\n    \"packages\": [\n        {\n            \"package_type\": \"parcel\",\n            \"insurance_type\": \"carrier\",\n            \"insured_value\": {\n                \"value\": 20.00,\n                \"unit\": \"usd\"\n            },\n            \"weight\": {\n                \"value\": 1.00,\n                \"unit\": \"lb\"\n            },\n            \"dimensions\": {\n                \"length\": 12.00,\n                \"width\": 9.00,\n                \"height\": 4.00,\n                \"unit\": \"in\"\n            }\n        }\n    ],\n    \"items\": [\n        {\n            \"description\": \"shirt\",\n            \"quantity\": 1,\n            \"item_weight\": {\n                \"value\": 16.00,\n                \"unit\": \"oz\"\n            },\n            \"item_value\": {\n                \"value\": 19.99,\n                \"unit\": \"usd\"\n            },\n            \"item_dimensions\": {\n                \"length\": 10.50,\n                \"width\": 8.00,\n                \"height\": 1.00,\n                \"unit\": \"in\"\n            },\n            \"sku\": \"SHRT-BLA-M-001\",\n            \"origin_country_code\": \"US\"\n        }\n    ],\n    \"create_label\": true\n}", Encoding.UTF8, "application/json"),
        };
        request.Headers.Add("Accept", "application/json");
        request.Headers.Add("return-label", "true");
        request.Headers.Add("full-response", "true");
        request.Headers.Add("Authorization", "Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlY2JkNDQ0My04ZDFhLTRlNmMtYmIyOS0xYmUxMTk2NDZlOGMiLCJwZXJtaXNzaW9ucyI6W10sInJvbGVzIjpbXSwiZXhwIjoxNzA0MDY3MjAwLjB9.5MKHwwW6Se3riycZQ381Tk_NC85jkl5p-My8wp6kvo-OcQeSLWL0Ct8AA5TqJpEHTm-moRGQT1jtr598cEAuUg");

        HttpResponseMessage response = await httpClient.SendAsync(request);
        string responseBody = await response.Content.ReadAsStringAsync();
        Console.WriteLine(responseBody);
    }
}                    
                    
import requests
import json

url = "https://api.commerceship.com/v1/orders"

payload = json.dumps({
    "from_address": {
        "company_name": "Retail Group",
        "first_name": "James",
        "last_name": "Smith",
        "street1": "456 Elm Ave",
        "street2": "Suite 101",
        "city_locality": "Springfield",
        "state_province": "IL",
        "postal_code": "67890",
        "country_code": "US"
    },
    "to_address": {
        "company_name": "Client",
        "first_name": "Mary",
        "last_name": "Johnson",
        "street1": "1122 Cedar Blvd",
        "city_locality": "Brookville",
        "state_province": "CA",
        "postal_code": "99901",
        "country_code": "US"
    },
    "service": "usps_priority_mail",
    "ship_date": "2024-01-02T00:00:00.000Z",
    "packages": [
        {
            "package_type": "parcel",
            "insurance_type": "carrier",
            "insured_value": {
                "value": 20.00,
                "unit": "usd"
            },
            "weight": {
                "value": 1.00,
                "unit": "lb"
            },
            "dimensions": {
                "length": 12.00,
                "width": 9.00,
                "height": 4.00,
                "unit": "in"
            }
        }
    ],
    "items": [
        {
            "description": "shirt",
            "quantity": 1,
            "item_weight": {
                "value": 16.00,
                "unit": "oz"
            },
            "item_value": {
                "value": 19.99,
                "unit": "usd"
            },
            "item_dimensions": {
                "length": 10.50,
                "width": 8.00,
                "height": 1.00,
                "unit": "in"
            },
            "sku": "SHRT-BLA-M-001",
            "origin_country_code": "US"
        }
    ],
    "create_label": True
})

headers = {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'return-label': 'true',
    'full-response': 'true',
    'Authorization': 'Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlY2JkNDQ0My04ZDFhLTRlNmMtYmIyOS0xYmUxMTk2NDZlOGMiLCJwZXJtaXNzaW9ucyI6W10sInJvbGVzIjpbXSwiZXhwIjoxNzA0MDY3MjAwLjB9.5MKHwwW6Se3riycZQ381Tk_NC85jkl5p-My8wp6kvo-OcQeSLWL0Ct8AA5TqJpEHTm-moRGQT1jtr598cEAuUg'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
                    

Developers can customize and complement their existing applications by white-labeling our API

  • REST API
  • API reference and user guides
  • Client libraries and SDKs
  • Free developer sandbox
Learn more
Screen
Screen

Brands can manage and fulfill orders through an easy-to-use app, with flexible workflow options

Order management

Shipping management

Parcel spend management

Reporting and analytics

Learn more

Built for

Retailers, Merchants, and sellers

Empower your business with order, shipping, and spend management. Enhance customer satisfaction through cost-effective rates, flexible shipping options, and tracking visibility.

Learn more

Third-party Logistics (3PL)

Optimize your logistics services with advanced tools for managing inventory, automating warehouse operations, and integration with clients' systems. Offer your clients improved accuracy, scalability, and real-time visibility.

Learn more

Stores, marketplaces, OMS, WMS, TMS, and ERP

Integrate comprehensive shipping and logistics features into your platform to offer users an experience that feels built-in. Enhance your platform's value with features like rate comparison, label generation, and real-time tracking.

Learn more

ISV (Independent Software Vendor), SI (Independent Software Vendor), Development Agencies, and Consultants

Deliver value to your clients by incorporating our logistics and shipping solutions into your offerings. Enhance your services with our API, or white label our app for access to rates, labels, tracking, and more. Build custom solutions that cater to the unique needs of your clients.

Learn more

Integrations

Get started today

Get early access
  • Ship
  • Analyze
  • Optimize
  • Automate
Top