Skip to content

FedEx API labels with ZPL

The FedEx Ship API can return labels as ZPLII, encoded in Base64. Decode the string, preview the label and check it before it reaches your printer.

Your label

Preview

100%

How it fits

Ask the Ship API for the ZPLII image type and a 4 × 6 stock. Paste the encoded label in Base64 to ZPL to see it.

Example

import base64, requests
zpl = base64.b64decode(encoded_label)
png = requests.post("https://api.openzpl.com/v1/printers/8dpmm/labels/4x6/0/", data=zpl, headers={"X-API-Key": key}).content

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

Can I edit a carrier's label?

Check before changing it: carriers certify their layouts, so keep the barcode and data as they issued them.

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