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 file is downloading.
Free, with no daily limit. A free account also saves your designs and gives you an API key.
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.