Shipping API Integration: Labels, Rates, Tracking, and Fulfillment Data Across Carriers
February 9, 2026
Shipping systems sit at the point where digital orders turn into physical movement. Rates change by carrier and service, labels trigger irreversible actions, and tracking updates arrive asynchronously and unevenly across providers. When shipping data is stitched together with brittle integrations or batch syncs, teams end up with delayed tracking, inconsistent fulfillment states, and limited visibility across carriers.
Shipping API integration exists to solve this problem.
In this guide, we'll explain what a Shipping API actually covers, which objects matter in practice, how shipment and tracking lifecycles behave, how real-time updates are delivered (and where they aren't), and how Unified's Shipping API fits alongside Commerce, Accounting, Payments, and CRM in the broader platform.
Introduction to Shipping API Integrations
Shipping platforms such as ShipStation, Shippo, EasyPost, FedEx, UPS, DHL, USPS, Canada Post, and Sendcloud handle carrier connectivity, label creation, rate shopping, and tracking.
Each platform exposes its own API surface with different assumptions:
- Carrier-native APIs often lack list endpoints or webhook support
- Aggregators normalize some data but still vary by object
- Label creation and voiding rules differ by carrier
- Tracking updates arrive at different cadences
A Shipping API provides a way to standardize logistics data and actions across these systems, without building and maintaining separate integrations for each carrier or aggregator.
What Is a Shipping API?
A Shipping API allows applications to programmatically access and manage shipping and logistics data.
In practice, this includes:
- Creating shipments and return shipments
- Calculating and comparing shipping rates
- Purchasing and managing shipping labels
- Tracking shipments and delivery events
- Retrieving carrier metadata
Shipping APIs focus exclusively on logistics execution and delivery state. They are not systems of record for orders, payments, products, or customers.
Shipping API vs Commerce, Accounting, Payments, and CRM
Unified treats Shipping as one category within a broader Finance & Commerce surface, with explicit boundaries.
- Shipping APIs manage shipments, labels, rates, tracking, and carriers.
- Commerce APIs manage product catalogs, variants, inventory, collections, and locations.
- Accounting APIs manage orders, invoices, bills, ledger entries, and financial reports.
- Payment APIs manage transactions, payouts, refunds, and subscriptions.
- CRM APIs manage contacts, companies, deals, and pipelines.
Shipping often consumes identifiers from Commerce or Accounting (for example, an order ID), but it does not own those records. Any synchronization across categories must be handled intentionally by the application.
Real-Time vs Polling in Shipping Systems
Shipping data behaves very differently depending on the object and provider.
Live Access to Source Platforms
Unified's Shipping API routes each request directly to the connected shipping platform. There is no cached replica or background sync. Reads always reflect the provider's current state, subject to their availability and rate limits.
Event Delivery Is Uneven by Object
Shipping platforms differ widely in event support:
- Some providers emit native webhooks for shipments or tracking
- Others require polling behind the scenes (virtual webhooks)
- Some objects cannot be monitored at all through list or event APIs
Because of this, 'real-time' in shipping almost always means tracking-driven, not shipment-driven.
Core Shipping Data Models (and How They Behave)
Unified normalizes shipping data into a small set of objects. Provider behavior still varies and must be handled defensively.
Shipments
Shipments represent the physical movement of goods.
- Support create, list, retrieve, update, and remove operations (provider-dependent)
- Include from/to addresses, packages, carrier selection, service codes, and pricing
- Carry lifecycle fields such as
status,shipped_at, and return indicators
Shipment status typically progresses in one direction:
PENDING → PROCESSING → IN_TRANSIT → DELIVERED or EXCEPTION
Once a shipment is in transit, most real-world updates are delivered via tracking, not shipment updates.
Labels
Labels represent purchased postage.
- Support create, list, retrieve, update, and remove operations (provider-dependent)
- Include
label_url,tracking_number,label_cost, andis_voided - Creating a label usually purchases postage and is often irreversible
Although Unified exposes deletion and voiding endpoints, carrier refund rules still apply. A voided label cannot be un-voided.
Tracking
Tracking objects represent delivery progress.
- Read-only
- Include status, carrier events, estimated delivery, and actual delivery timestamps
- Serve as the primary source of shipment updates
For many providers, tracking is the only object that reliably emits update events.
Rates
Rates represent quoted shipping options.
- Generated on demand
- Read-only snapshots
- Must be regenerated to reflect pricing changes
Rates are not long-lived objects and should not be monitored for updates.
Carriers
Carriers represent shipping services.
- Read-only
- Include name, code, logo, and active status
- Maintained by Unified based on provider availability
Identity and Relationships in Shipping
Shipping objects use provider-scoped identifiers.
shipment_ididentifies a shipment within a shipping providerlabel_id,rate_id, andtracking_idlink shipping objects internallycarrier_idreferences a shipping carrier
There are two intentional cross-category references:
order_idmay reference a Commerce or Accounting orderwarehouse_location_idmay reference a Commerce location
There are no references to:
- Payment transactions
- Accounting invoices or bills
- CRM contacts or companies
Addresses are plain objects, not linked to CRM records.
Updates, Events, and Provider Variability
Native vs Virtual Webhooks
Unified supports:
- Native webhooks when the provider emits events
- Virtual webhooks when Unified polls the provider and emits change events
- Polling using list endpoints and
updated_gtewhere available
Virtual webhooks introduce inherent delay based on polling interval. Free plans poll infrequently; paid plans can poll as often as every minute.
Object-Level Differences
- Tracking is the most consistently updated object
- Shipments may or may not emit events depending on provider
- Labels rarely emit update events
- Rates and carriers do not emit events
Some providers do not expose list endpoints for shipments or labels, which makes polling impossible. In those cases, tracking is the only reliable update mechanism.
Security, Privacy, and Data Handling
Shipping data often contains sensitive information. Unified's architecture minimizes exposure.
Zero-Storage Design
- No shipping data is stored at rest
- Label files are retrieved on demand
- No customer payloads are written to logs
- Requests are stateless and region-aware (US, EU, AU)
PII Considerations
Shipping payloads may include:
- Full sender and recipient addresses
- Names, phone numbers, and emails inside address objects
- Tracking numbers and delivery status
- Customs declarations for international shipments
- Label PDFs containing recipient details
Unified passes this data through without persistence. Applications are responsible for downstream storage, access controls, and compliance.
Common Shipping API Integration Use Cases
Multi-Carrier Fulfillment
Create labels and track shipments across FedEx, UPS, USPS, DHL, and others through one interface.
Rate Shopping
Compare rates across carriers before committing to a shipment.
E-commerce Fulfillment
Turn commerce or accounting orders into shipments and labels.
Returns Management
Generate return shipments and labels tied to original shipments.
Tracking & Notifications
Subscribe to tracking updates to notify customers or update internal systems.
Constraints to Plan For
Shipping systems impose real-world limits:
- Not all objects support events or polling
- Label creation is often irreversible
- Shipment status updates are usually indirect
- Provider feature parity is uneven
- Some carriers expose minimal APIs
These are carrier constraints, not platform limitations.
Build vs Buy Shipping Integrations
Building In-House
- Multiple carrier APIs to maintain
- Inconsistent rate, label, and tracking models
- Provider-specific webhook logic
- Ongoing maintenance as carriers evolve
Using a Unified Shipping API
- One normalized shipping surface
- Live access to source platforms
- Standardized objects for shipments, labels, rates, and tracking
- Centralized authentication and maintenance
- Usage-based pricing aligned with API volume
Best Practices for Shipping Integrations
- Treat tracking as the primary update source
- Expect provider variability
- Use webhooks when available, poll when necessary
- Do not assume label voids emit events
- Keep Shipping distinct from Orders, Payments, and CRM
- Design for one-way lifecycle transitions
Build shipping integrations with realistic expectations
Shipping APIs are inherently inconsistent because carriers are inconsistent.
Unified's Shipping API provides a normalized way to create shipments, purchase labels, compare rates, and track deliveries across providers — without storing shipping data or collapsing category boundaries.
→ Start your 30-day free trial
Test shipping integrations with live carrier data.
Walk through fulfillment, returns, and cross-category workflows with the team that built the platform.
FAQ
What is a Shipping API?
An API that allows applications to create labels, calculate rates, track shipments, and manage fulfillment programmatically.
Does the Shipping API handle orders or payments?
No. Orders live in Accounting or Commerce. Payments live in the Payment API.
Are shipping updates real time?
Tracking updates may be delivered via native or virtual webhooks. Other objects often require polling or have no update mechanism.
Can I create return shipments?
Yes. Shipments support return indicators and references to original shipments.
Does the Shipping API store shipping data?
No. Shipping data is never stored at rest.
Which platforms are supported?
Unified supports ShipStation, Shippo, EasyPost, FedEx, UPS, USPS, DHL, Canada Post, Sendcloud, and others.