The simple shipping solution

Solve complex shipping logistics problems with a single integration. By leveraging EasyPost's technology, businesses can streamline, automate, and gain end-to-end control of their shipping process with our suite of flexible RESTful API solutions. Join thousands of customers shipping millions of packages.

Get $100 free. Start shipping today!

The shipping infrastructure of the internet

Wish logoInfinite Discs logoEverything But The House logoSnack Crate logoSticker Mule logoAtoms logoVanishing INC logoRitual logoTeespring logoShiek logoBackerKit logoQualia logo

A smarter shipping process

airplanemode_active

Shipping
API

Compare rates and purchase labels across USPS, UPS, FedEx, DHL, and dozens of carriers.

Ship packages now
insights

SmartRate
API

Save money and improve on-time delivery metrics with data-backed optimization for every shipment.

Find better rates
receipt

Create labels without coding

Enter your package details in our Create Label tool to easily print labels in minutes.

Buy shipping labels
my_location

Tracking
API

Receive real-time shipment updates through custom branded tracking pages and webhook notifications.

Track packages anywhere
home_work

Address Verification API

Confirm the accuracy of domestic and international addresses to improve deliverability.

Verify any address
beenhere

Insurance
API

Protect your packages against damage, loss, or theft across all carriers, service levels, and countries.

Protect your shipments

How it works

looks_one

Integrate
with our API

Create a free account,
review our API documentation and guides, and integrate in as fast as one day.

looks_two

Verify, ship, track,
and insure

Verify shipping addresses,
create shipping labels, track packages, and insure against mishaps with our API.

looks_3

Better
shipping experience

Ship with the optimal service level and track with confidence to offer a customer-first experience.

Built by developers, for developers

# Import the EasyPost client.
import easypost

# Setup the client with your API key.
easypost.api_key = '259DA788-39A3-439E-BA1E-BC541B8BA520'

# Purchase a shipment to receive a postage label.
shipment = easypost.Shipment.retrieve(
    'shp_339f74ca0aa840d399bbb728a3ac3863'
)
shipment.buy(rate=shipment.lowest_rate())
{
  "id": "shp_339f74ca0aa840d399bbb728a3ac3863",
  "object": "Shipment",
  "created_at": "2020-02-08T21:34:49Z",
  "updated_at": "2020-02-08T21:35:07Z",
  "mode": "test",
  "tracking_code": "9405500897846033166521",
  "usps_zone": 4,
  "status": "unknown",
  "is_return": false,
  "postage_label": {
    "id": "pl_36091b719cc74ecc8a81f3a2ab19a096",
    "object": "PostageLabel",
    "created_at": "2020-02-08T21:35:07Z",
    "updated_at": "2020-02-08T21:35:07Z",
    "label_date": "2020-02-08T21:35:07Z",
    "label_url": "https://easypost-files.s3-us-west-2.amazonaws.com/files/postage_label/20200208/6fa468158bce435da2cc864bd1a3de29.png",
    "label_file_type": "image/png",
    "label_size": "4x6",
    "label_resolution": 300,
    "label_zpl_url": null,
    "label_pdf_url": null,
    "label_epl2_url": null,
    "date_advance": 0,
    "label_type": "default",
    "integrated_form": "none"
  },
  "tracker": {
    "id": "trk_b05ab048e81c42ad8abea9c38dbceef4",
    "object": "Tracker",
    "created_at": "2020-02-08T21:35:07Z",
    "updated_at": "2020-02-08T21:35:07Z",
    "mode": "test",
    "tracking_code": "9405500897846033166521",
    "carrier": "USPS",
    "public_url": "https://track.easypost.com/djE6dHJrX2IwNWFiMDQ4ZTgxYzQyYWQ4YWJlYTljMzhkYmNlZWY0",
    "est_delivery_date": null,
    "status": "unknown",
    "status_detail": "unknown",
    "is_return": false,
    "tracking_details": [],
    "carrier_detail": null,
    "fees": [],
    "shipment_id": "shp_339f74ca0aa840d399bbb728a3ac3863",
    "signed_by": null,
    "weight": null
  },
  "selected_rate": {
    "id": "rate_22e495348fe44d4894b3e86a31e03cd4",
    "object": "Rate",
    "created_at": "2020-02-08T21:35:07Z",
    "updated_at": "2020-02-08T21:35:07Z",
    "mode": "test",
    "carrier": "USPS",
    "service": "Priority",
    "rate": "9.39",
    "currency": "USD",
    "list_rate": "9.39",
    "list_currency": "USD",
    "retail_rate": "12.25",
    "retail_currency": "USD",
    "delivery_days": 2,
    "delivery_date": null,
    "delivery_date_guaranteed": false,
    "carrier_account_id": "ca_9dcec3346e6145f5b865e04e2e1bbf93",
    "shipment_id": "shp_339f74ca0aa840d399bbb728a3ac3863"
  },
  "from_address": {
    "id": "adr_cd41b97d1d814a50b07bb18267d961e1",
    "object": "Address",
    "created_at": "2020-02-08T21:34:49Z",
    "updated_at": "2020-02-08T21:34:49Z",
    "mode": "test",
    "name": "EasyPost",
    "company": null,
    "email": "support@easypost.com",
    "street1": "417 Montgomery Street",
    "street2": "5th Floor",
    "city": "San Francisco",
    "zip": "94104",
    "state": "CA",
    "country": "US",
    "phone": "4153334444",
    "residential": null,
    "federal_tax_id": null,
    "state_tax_id": null,
    "carrier_facility": null,
    "verifications": {}
  },
  "to_address": {
    "id": "adr_5568259f33ea497ebed1e9495551b7f2",
    "object": "Address",
    "created_at": "2020-02-08T21:34:49Z",
    "updated_at": "2020-02-08T21:35:06Z",
    "mode": "test",
    "company": null,
    "email": "dr_steve_brule@gmail.com",
    "street1": "179 N Harbor Dr",
    "street2": null,
    "city": "Redondo Beach",
    "state": "CA",
    "zip": "90277-2506",
    "country": "US",
    "name": "Dr. Steve Brule",
    "phone": "4153334444",
    "residential": false,
    "state_tax_id": null,
    "federal_tax_id": null,
    "carrier_facility": null,
    "verifications": {
      "zip4": {
        "details": null,
        "errors": [],
        "success": true
      }
    }
  },
  "return_address": {
    "id": "adr_cd41b97d1d814a50b07bb18267d961e1",
    "object": "Address",
    "created_at": "2020-02-08T21:34:49Z",
    "updated_at": "2020-02-08T21:34:49Z",
    "mode": "test",
    "name": "EasyPost",
    "company": null,
    "email": "support@easypost.com",
    "street1": "417 Montgomery Street",
    "street2": "5th Floor",
    "city": "San Francisco",
    "zip": "94104",
    "state": "CA",
    "country": "US",
    "phone": "4153334444",
    "residential": null,
    "federal_tax_id": null,
    "state_tax_id": null,
    "carrier_facility": null,
    "verifications": {}
  },
  "parcel": {
    "id": "prcl_2ae2dcb504cf4c53a72972f0cc944d97",
    "object": "Parcel",
    "created_at": "2020-02-08T21:34:49Z",
    "updated_at": "2020-02-08T21:34:49Z",
    "mode": "test",
    "length": 20.2,
    "width": 10.9,
    "height": 5.0,
    "weight": 65.9,
    "predefined_package": null
  },
  "fees": [
    {
      "object": "Fee",
      "type": "LabelFee",
      "amount": "0.00000",
      "charged": true,
      "refunded": false
    },
    {
      "object": "Fee",
      "type": "PostageFee",
      "amount": "9.39000",
      "charged": true,
      "refunded": false
    }
  ],
  "options": {
    "currency": "USD",
    "date_advance": 0,
    "label_date": null,
    "payment": {
      "type": "SENDER"
    }
  },
  "rates": [
    {
      "id": "rate_22e495348fe44d4894b3e86a31e03cd4",
      "object": "Rate",
      "created_at": "2020-02-08T21:35:07Z",
      "updated_at": "2020-02-08T21:35:07Z",
      "mode": "test",
      "carrier": "USPS",
      "service": "Priority",
      "rate": "9.39",
      "currency": "USD",
      "list_rate": "9.39",
      "list_currency": "USD",
      "retail_rate": "12.25",
      "retail_currency": "USD",
      "delivery_days": 2,
      "delivery_date": null,
      "delivery_date_guaranteed": false,
      "carrier_account_id": "ca_9dcec3346e6145f5b865e04e2e1bbf93",
      "shipment_id": "shp_339f74ca0aa840d399bbb728a3ac3863"
    },
    {
      "id": "rate_5459b5fb8f244edb9b88ab0e71a1fbe3",
      "object": "Rate",
      "created_at": "2020-02-08T21:34:50Z",
      "updated_at": "2020-02-08T21:34:50Z",
      "mode": "test",
      "carrier": "USPS",
      "service": "Express",
      "rate": "41.15",
      "currency": "USD",
      "list_rate": "41.15",
      "list_currency": "USD",
      "retail_rate": "47.60",
      "retail_currency": "USD",
      "delivery_days": 2,
      "delivery_date": "2020-02-10T12:00:00Z",
      "delivery_date_guaranteed": true,
      "carrier_account_id": "ca_9dcec3346e6145f5b865e04e2e1bbf93",
      "shipment_id": "shp_339f74ca0aa840d399bbb728a3ac3863"
    }
  ],
  "forms": [],
  "insurance": null,
  "messages": [],
  "reference": null,
  "refund_status": null,
  "scan_form": null,
  "customs_info": null
}

Getting started is easy and free!

Take a look at our documentation and start building with one of our helper libraries (Python, PHP, Ruby, Node.js, Java, and more). Avoid month-long integrations and start simplifying your shipping in minutes with EasyPost.

Get $100 free. Start shipping today!