Developers - Labels API

REST API reference for creating, listing, and retrieving shipping labels.

v1

Quick Start

  1. Create an API key in Account - API Key.
  2. Send the key on every request using X-API-Key.
  3. Use POST /api/v1/labels, GET /api/v1/labels, and GET /api/v1/labels/{id}.

Base URL and Authentication

Base URL: https://www.shippinglabelmaker.com

Auth header: X-API-Key: YOUR_API_KEY

Content type: application/json

curl -X GET "https://www.shippinglabelmaker.com/api/v1/labels" \
  -H "X-API-Key: YOUR_API_KEY"

Endpoint Reference

MethodPathDescription
POST/api/v1/labelsCreate label and return metadata + base64 label outputs.
GET/api/v1/labelsList labels metadata only. No label outputs.
GET/api/v1/labels/{id}Get a label. If locked on free tier, returns a simple lock message.

POST /api/v1/labels

Behavior: Creates a label and returns metadata plus all label outputs as base64.

Response header: X-Label-Id

Create Request Example

{
  "sender": {
    "firstName": "Alex",
    "lastName": "Rivera",
    "companyName": "Sender Company",
    "email": "alex@example.com",
    "phoneNumber": "5551234567",
    "address": "100 Market Street",
    "address2": "Suite 200",
    "city": "Austin",
    "state": "TX",
    "zipCode": "78701",
    "country": "United States"
  },
  "receiver": {
    "firstName": "Taylor",
    "lastName": "Morgan",
    "companyName": "ACME Corp",
    "email": "taylor@example.com",
    "phoneNumber": "5559876543",
    "address": "200 Commerce Boulevard",
    "address2": "",
    "city": "Dallas",
    "state": "TX",
    "zipCode": "75201",
    "country": "United States"
  }
}

cURL

curl -X POST "https://www.shippinglabelmaker.com/api/v1/labels" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ...request json... }'

201 Response Example

{
  "labelId": "5f7f67fb-8255-4b31-b04b-d086f916ecf5",
  "dateCreated": "2026-02-21T20:34:11.2739927",
  "sender": {
    "firstName": "Alex",
    "lastName": "Rivera",
    "companyName": "Sender Company",
    "email": "alex@example.com",
    "phoneNumber": "5551234567",
    "address": "100 Market Street",
    "address2": "Suite 200",
    "city": "Austin",
    "state": "TX",
    "zipCode": "78701",
    "country": "United States"
  },
  "receiver": {
    "firstName": "Taylor",
    "lastName": "Morgan",
    "companyName": "ACME Corp",
    "email": "taylor@example.com",
    "phoneNumber": "5559876543",
    "address": "200 Commerce Boulevard",
    "address2": "",
    "city": "Dallas",
    "state": "TX",
    "zipCode": "75201",
    "country": "United States"
  },
  "letterPdfBase64": "JVBERi0xLjc...",
  "fourBySixPdfBase64": "JVBERi0xLjc...",
  "fourBySixZplBase64": "XlhBXkZP..."
}

Status Codes

  • 201 Created.
  • 400 Invalid request payload.
  • 401 Missing or invalid API key.

GET /api/v1/labels

Behavior: Returns full metadata list for the authenticated account.

Important: No label outputs are returned.

cURL

curl -X GET "https://www.shippinglabelmaker.com/api/v1/labels" \
  -H "X-API-Key: YOUR_API_KEY"

200 Response Example

{
  "labels": [
    {
      "labelId": "5f7f67fb-8255-4b31-b04b-d086f916ecf5",
      "dateCreated": "2026-02-21T20:34:11.2739927",
      "sender": {
        "firstName": "Alex",
        "lastName": "Rivera",
        "companyName": "Sender Company",
        "email": "alex@example.com",
        "phoneNumber": "5551234567",
        "address": "100 Market Street",
        "address2": "Suite 200",
        "city": "Austin",
        "state": "TX",
        "zipCode": "78701",
        "country": "United States"
      },
      "receiver": {
        "firstName": "Taylor",
        "lastName": "Morgan",
        "companyName": "ACME Corp",
        "email": "taylor@example.com",
        "phoneNumber": "5559876543",
        "address": "200 Commerce Boulevard",
        "address2": "",
        "city": "Dallas",
        "state": "TX",
        "zipCode": "75201",
        "country": "United States"
      }
    }
  ]
}

Status Codes

  • 200 Success.
  • 401 Missing or invalid API key.

GET /api/v1/labels/{id}

Behavior: Returns metadata and label outputs for accessible labels. For locked labels on free accounts, returns a message only.

cURL

curl -X GET "https://www.shippinglabelmaker.com/api/v1/labels/LABEL_ID" \
  -H "X-API-Key: YOUR_API_KEY"

200 Unlocked Example

{
  "labelId": "5f7f67fb-8255-4b31-b04b-d086f916ecf5",
  "dateCreated": "2026-02-21T20:34:11.2739927",
  "sender": { ... },
  "receiver": { ... },
  "letterPdfBase64": "JVBERi0xLjc...",
  "fourBySixPdfBase64": "JVBERi0xLjc...",
  "fourBySixZplBase64": "XlhBXkZP..."
}

200 Locked Example (free-tier historical label)

{
  "message": "Label is locked. Free accounts can access history for 3 days. Upgrade to Premium for full history."
}

Status Codes

  • 200 Success.
  • 401 Missing or invalid API key.
  • 404 Label not found or not owned by API key user.

Common Error Payloads

401 Unauthorized

{
  "error": "Unauthorized",
  "message": "A valid API key is required."
}

Start Free API Access

  • Create your free account.
  • Generate an API key in account settings.
  • Upgrade anytime for no-watermark labels and full history.