Atlas Bridge

Developers

A shipping API your engineers will actually enjoy.

Clean REST, bearer auth, a real sandbox, and signed webhooks with automatic retries. Get a rate, buy a label, and track a package in three calls. Full docs, separate test and live keys.

  • REST + JSON
  • Sandbox + live keys
  • Signed webhooks

Most shipping APIs feel like they were built in 2009.

Inconsistent payloads, no sandbox, webhook signatures you have to reverse-engineer. The Atlas API is built the way you would build it: predictable contracts, a real test mode, and the same HMAC scheme Stripe uses.

Developer experience, taken seriously

Predictable REST

Stable JSON contracts, sane status codes, descriptive errors. No surprises between endpoints.

Test & live keys

Two keys per workspace. Test mode hits a deterministic sandbox — no real money, no real labels — until you flip to live.

Signed webhooks

Atlas-Signature: t=...,v1=... HMAC-SHA256 — identical to Stripe, so verification is a copy-paste.

Automatic retries

Failed webhook deliveries retry on an exponential backoff for 24 hours. Inspect every attempt in the dashboard.

Rate, label, track

Three core endpoints cover the whole lifecycle. Get rates, buy a label, fetch tracking — that is it.

Screening enforced

OFAC screening runs on live API calls too. A denied consignee returns a clean 451 before any carrier call.

How it works

Up and running in minutes

1

Generate a key

Dashboard → Developer → API keys. You get a test key and a live key, both starting with atl_.

2

Get a rate

POST your from/to/parcel to /v1/parcel/rates and receive a sorted list of carrier rates.

3

Buy a label

POST the rate_id to /v1/parcel/shipments and get back a tracking number and label PDF.

4

Listen for events

Register a webhook endpoint and Atlas POSTs you every status change, signed and retried.

Frequently asked

Is there a sandbox?+

Yes. Your test key hits a deterministic sandbox — real-shaped responses, no real labels or charges. Switch to your live key when ready.

How do I verify webhooks?+

We sign with HMAC-SHA256 using the exact scheme Stripe uses. The integration guide has copy-paste verification snippets for Node and Python.

What are the rate limits?+

60 requests/second per workspace and 10,000/day on the starter plan, raised on paid plans. A 429 includes a Retry-After header.

Build your shipping flow in an afternoon.

Read the docs, grab a test key, ship your first label in minutes.

Read the API docs