Carrier Integrations Lab
  • Home
  • About
Sign in Subscribe
carrier API sandbox requirements

Sandbox Prerequisites Across 9 Carrier APIs

What 9 carrier APIs require before sandbox calls work — live account numbers, forms, or nothing. Sourced per vendor, checked November 2026.

Sophie Martin

Sophie Martin

05 Nov 2026 — 5 min read
Share

Why sandbox prerequisites decide your evaluation timeline

Ask ten integration engineers what "sandbox" means and most will say: sign up, get a test key, start calling endpoints. That's true for some carrier APIs. It is flatly not true for others, where you need a signed business agreement and a live account number before the sandbox will even authenticate you. This post measures that gate specifically, across nine carrier and multi-carrier APIs, as of the first week of November 2026.

This is a different measurement than production-access wait times, which we've covered elsewhere on this blog. That earlier work answers "how long until I can ship real parcels." This one answers an earlier question: "can I write a single line of integration code today, or do I need procurement first?" For a solution architect scoping a proof of concept, the answer changes the project plan before anyone opens an IDE.

Method

For each vendor we reviewed the official developer portal, quickstart guide, and (where available) support articles, checked live in the first week of November 2026. For every row we recorded three things: whether a business or customer account is required before the sandbox will work, whether sandbox signup is a separate step from account registration, and whether test carrier accounts are auto-provisioned or must be supplied by the developer.

This benchmark does not measure API latency, label accuracy, or documentation quality — those get their own posts. It measures one narrow thing: the distance between "I found the docs" and "I made a callable sandbox request." Where a vendor's documentation doesn't state a figure or a policy outright, the cell reads "Not published." We didn't estimate, and we didn't infer from forum posts unless the vendor's own docs backed it up.

The sandbox prerequisites table

Carrier / PlatformBusiness account required for sandbox?Separate sandbox signup step?Test carriers auto-provisioned?Source
DHL Express (MyDHL API)YesNo — same account gate appliesN/A, single carrierDHL API Support
DHL Freight (API Farm)No, for sandbox signup via test-admin portalYes, separate sandbox registrationN/A, single carrierDHL Freight Technical Setup guide
FedExNo for sandbox; Yes for production shipment creationNo, same developer accountN/A, single carrierFedEx API integration guide
UPSNo, for most APIsNo, one access key requestN/A, single carrierUPS Developer Kit User Guide
ShipEngineNoNo, provisioned on signupYes — USPS, FedEx, UPSShipStation API blog
EasyPostNo business account, but Wallet + ship-from address required firstNo, same dashboard, different key typeNo — developer connects carrier accountsEasyPost Authentication docs
Pitney Bowes (Shipping 360)NoNo, one signup, instant keysYes — sandbox mirrors production carriersPitney Bowes Shipping APIs page
GLSYes — MyGLS credentials tied to shipper agreement in most countriesCountry-specific portal registrationN/A, single carrierour GLS sandbox setup notes
ShippyProNot publishedNot publishedNot publishedNo public prerequisites doc found

Finding 1: the customer-first gate is rare, but when present it's absolute

DHL Express is the clean example of a hard gate. The vendor's own support article is unambiguous: Having access to both production and sandbox is available only for DHL express customers. There's no workaround, no "request a trial key" path. You need a DHL Express account number before the sandbox will issue credentials at all.

Compare that to FedEx, where the gate sits later in the flow. A FedEx developer account at developer.fedex.com — registration is free, but for production shipment creation you also need an active FedEx customer account number. Sandbox testing doesn't require that account number up front; production does. UPS follows a similar pattern — its own developer guide states plainly that most APIs provide immediate access to both test and production environments, though there may be certain APIs that require a second request to activate production access.

DHL's own product family adds a wrinkle worth flagging for anyone who assumes "DHL" means one gate. DHL Freight's API Farm runs a separate sandbox track from MyDHL Express: the technical setup guide describes signing up directly at the sandbox portal, confirming by email, and creating an application without first needing an existing freight contract number for that sandbox step. Worth noting: a separate DHL Freight product page describes a customer onboarding form and business approval before sandbox credentials appear, which suggests the self-serve path and the onboarding-form path may apply to different regional portals or product tiers. We couldn't fully reconcile the two documents and flag this as a point needing direct testing rather than a confident claim.

Finding 2: multi-carrier platforms absorb the gate, direct APIs mostly don't

If you're evaluating five direct carrier APIs in parallel, the account-gate problem compounds — you're chasing five separate business relationships before writing five separate test suites. Multi-carrier platforms exist partly to remove that specific friction. ShipEngine states it outright: ShipEngine is pleased to announce that all users now enjoy automatic access to a sandbox environment that includes a USPS sandbox account, a FedEx sandbox account, and a UPS sandbox account. No carrier account, no business agreement, just a signup.

Pitney Bowes runs the same model for its Shipping 360 sandbox. Its own FAQ answers the exact question an evaluator asks first: register for the free developer sandbox and get API keys and OAuth tokens right away, with no long forms, no sales call, and no credit card. EasyPost sits in between — no carrier account is required, but the platform won't hand you API keys until you clear its own onboarding step: before accessing and generating API keys, users must set up an EasyPost Wallet and add a ship-from address. That's friction, but it's EasyPost's friction, not a carrier's.

This is the category where names like ShipEngine, EasyPost, Pitney Bowes, Sendcloud, nShift, ShippyPro and Cargoson all sit as abstraction layers that front the account-gate problem for teams juggling several carriers at once. The trade-off is a thinner sandbox carrier list than you'd get testing each carrier's own API directly — ShipEngine's sandbox, for instance, only covers a handful of named carriers rather than every carrier its production environment supports.

What this means for vendor evaluation

Before you write a project plan for a carrier API proof of concept, ask the account-gate question first, not last. A DHL Express evaluation needs a signed business account before an engineer opens Postman. A ShipEngine, EasyPost, or Pitney Bowes evaluation doesn't — you can be making sandbox calls the same afternoon you find the docs. GLS falls closer to the DHL Express model: MyGLS credentials are typically tied to an existing shipper agreement, country by country, which we documented in detail in our own GLS sandbox setup notes.

A natural follow-up benchmark, once these gates are cleared: actual time-to-first-label across the same nine vendors, measured from our own test harness rather than from vendor documentation. That's a separate post, and a different kind of number — a timed one, not a documented one.

Limitations and follow-ups

These figures come from published vendor documentation and support articles, not from our own timed test runs, with the exception of the GLS row, which draws on our own prior sandbox setup work. ShippyPro's sandbox prerequisites were not documented publicly anywhere we could find, so that row stays marked "Not published" rather than guessed at. The DHL Freight API Farm discrepancy between self-serve and onboarding-form paths also needs a direct test run before we'd state it as settled.

If you've run sandbox setup for ShippyPro, Sendcloud, or nShift recently and can point us to the actual prerequisite, get in touch — we'll update the table with a source rather than leave it blank indefinitely.

Read more

Migrating EasyPost Webhooks From Basic Auth to HMAC v2

Step-by-step: move an EasyPost webhook receiver from Basic Auth to HMAC validation, verify the x-hmac-signature-v2 header, and fix 401 timestamp errors.

By Sophie Martin 03 Nov 2026

FedEx vs UPS API for EU-to-US Parcel Labels

FedEx API vs UPS API compared on auth, rate limits, label formats, and webhooks for EU-to-US parcel integrations, with a scoped verdict.

By Sophie Martin 29 Oct 2026

Returns API Coverage Across 9 Shipping Platforms

We audited returns APIs from 9 shipping platforms — QR returns, portals, carrier scope — sourced from public docs, dated October 2026.

By Sophie Martin 27 Oct 2026
How to Create a DHL Express Label with MyDHL API

How to Create a DHL Express Label with MyDHL API

Step-by-step guide to DHL Express's MyDHL API: register an app, authenticate with API key/secret, and generate your first sandbox shipment label.

By Sophie Martin 22 Oct 2026

Carrier Integrations Lab

Carrier Integrations Lab: Reviews, How-Tos & Benchmarks

Carrier Integrations Lab
  • Sign up
Powered by Ghost