Getting Started with the Shipping Label API
A short orientation for engineers integrating shipping into their own product. How API keys work, the typical request flow, and what to build first.
Who the shipping label API is for
The shipping label API is the integration path for businesses that want to generate labels programmatically rather than through the web app. Common use cases: an e-commerce platform that fulfills orders without a human in the loop, a warehouse management system that prints labels in batch from a nightly job, or a SaaS product that resells shipping as a feature.
If you're a single seller printing fifty labels a day through the web app, you probably don't need the API. If you're processing thousands of shipments programmatically — or building a product on top of shipping — the API is what you want.
Getting an API key
API keys are issued per user account. After signing in, request a key from the API page in your account settings. The key is shown once; copy it to your secrets store immediately. Treat it like a password — anyone with the key can generate labels billed to your account.
How the API works
The API exposes the same operations as the web app: validate an address, get a rate quote, generate a label, query an order status, list past orders, download a label PDF. Every endpoint accepts JSON and returns JSON. Authentication is a Bearer token in the Authorization header.
A typical integration flow:
1. Validate the address. POST the shipping address to the address-verification endpoint. The response includes a corrected version if the input was close but not exact.
2. Get a rate quote. POST the package details (weight, dimensions, origin, destination) to the rates endpoint. The response lists available services and prices.
3. Create the order. POST the chosen service and the finalized addresses to the orders endpoint. The response is the order record, including the generated label URL.
4. Download the label. GET the label URL. The response is the PDF — print it through your label printer.
Rate limits and errors
The API rate limits are documented per endpoint. Most production integrations stay well below the limits; if you hit them, the response includes a Retry-After header so your client can back off. Errors are returned with a structured JSON envelope that includes an error code and a human-readable message — make sure your integration logs both so you can debug failures without re-running the request.
Where to go from here
The full API reference, including request and response schemas for every endpoint, is published in your account's API documentation page. Start with the address-verification endpoint — it's the simplest, and getting a successful round-trip there confirms your auth and connectivity are working.