Skip to content

UPS API labels with ZPL

The UPS Shipping API can return labels as ZPL inside its JSON response, encoded in Base64. Decode, preview and check them before printing.

Your label

Preview

100%

How it fits

Request the ZPL label format in your shipment request. The image comes back in Base64: decode it and look at it in the viewer.

Example

import base64
zpl = base64.b64decode(response["ShipmentResponse"]["ShipmentResults"]["PackageResults"]["ShippingLabel"]["GraphicImage"])

Setting it up

Design the label in the designer with {{variables}}, save it, and copy its ID from the dashboard. Create an API key, then send your data to POST /v1/templates/{id}. The API docs have the details.

Questions

What if my site has no thermal printer?

Convert the ZPL to PDF with [ZPL to PDF](/zpl-to-pdf/) or the API.

Do I need to install anything?

Not to render labels: it's an HTTP API. To send them to a printer on your network, run the [print agent](/print-agent/) next to it.

What does it cost?

A free key allows 20 labels a day. Pro is $29 a month for 100,000 labels, and Business $99 for 1,000,000. See [pricing](/pricing/).

Related

Need something we don't have yet?

A connector for your system, a label format or a new tool: tell us what you use and we'll look at building it.

Request a tool or integration
Feedback