API, Webhooks & Developer Basics

Integrate GoatLabels programmatically — REST API, authentication, idempotency keys, and signed webhooks for tracking events.

Last updated on

Building on the GoatLabels API

The GoatLabels REST API lets you automate everything you can do in the dashboard: drop a shipment in, get a label back. It’s plain REST and JSON — one auth header, no SDK lock-in — so it works from any language or HTTP client.

Getting an API key

  1. Sign up or log in.
  2. Open the developer section of your dashboard.
  3. Create an API key. Treat it like a password — keep it out of client-side code and version control.

Every API request authenticates with a single auth header carrying your key.

Core concepts

Shipments and labels. You send shipment details (addresses, package) as JSON; the API returns rates and, on purchase, a ready-to-print label. Label purchases are paid from your prepaid wallet, same as in the dashboard — so keep your balance funded for automated runs.

Idempotency keys. Include an idempotency key with requests that create or purchase things. If a request times out and your code retries, the key guarantees you don’t buy the same label twice. Essential for any script that runs unattended.

Tracking. Purchased labels carry carrier tracking, which you can read back through the API or receive via webhooks.

Webhooks

Webhooks push events — like label and tracking updates — to a URL you control, so your systems react in real time instead of polling.

  • Deliveries are signed. Verify the signature on every incoming event before trusting it; this proves the payload came from GoatLabels and wasn’t tampered with.
  • Respond quickly. Acknowledge deliveries promptly and do heavy processing asynchronously.
  • Design for retries. Treat webhook handling as idempotent — the same event may occasionally arrive more than once.

The full reference

The complete API reference — authentication, shipments, tracking, idempotency, and signed webhooks — is available at goatlabels.io/docs, and a signed-in version lives in your dashboard’s developer section.

API access and plans

The API is included on the Free plan, alongside Billy and store sync. Free includes a monthly allowance of up to 50 shipments; Pro removes the cap and adds cheaper label rates. See goatlabels.io/pricing.

Frequently asked questions

Answers to commonly asked questions about our platform

  • Does GoatLabels have an API?

    Yes — a REST API over JSON covering shipments, labels, and tracking, plus signed webhooks. Drop a shipment in, get a label back.

  • How do I get an API key?

    Sign up at goatlabels.io/signup and create a key from your dashboard's developer section.

  • Do I need an SDK?

    No. The API is plain REST and JSON with a single auth header — use any HTTP client in any language, with no SDK lock-in.

  • How do webhooks stay secure?

    Webhook deliveries are signed, so your endpoint can verify each event genuinely came from GoatLabels before acting on it.