Shippo
Book shipments and track deliveries with Shippo straight from your orders, with no re-typing.
36 ways to read, 16 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Shippo, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create and validate addressApproval by rule
- Create addressApproval by rule
- List addressesRead
Example flow
- Shippo · List addressesDone
- Shippo · Create and validate addressNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Shippo.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Shippo
- Shippo's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect a Shippo test account before you go live.
For developers
Technical detail
Read and write Shippo addresses, parcels, parcel templates, shipments, rates, live rates, batches, labels, tracking, orders, customs, service groups and carrier accounts.
Shippo API docs- Source actions
- 36
- Destination actions
- 16
- Data types
- 23
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Address validations2
- Create and validate addressDestinationNot retried automaticallyApproval before production
Send an address in the request body with validate=true and return Shippo's validation result.
- Validate addressSource
Validate a saved address and return the validation results.
Addresses3
- Create addressDestinationNot retried automaticallyApproval before production
Create an address, optionally validating it.
- Get addressSource
One address by object ID.
- List addressesSource
Saved addresses with validation results.
Batch shipments2
- Add shipments to batchDestinationNot retried automaticallyApproval before production
Add shipments to an unpurchased batch. No labels are purchased.
- List batch shipmentsSource
Shipments in a batch with their validation status and label transaction.
Batches2
- Create batchDestinationNot retried automaticallyApproval before production
Create a label batch from shipments. Shippo validates the shipments; no labels are purchased.
- Get batchSource
One label batch with status and label URLs.
Carrier accounts2
- Get carrier accountSource
One carrier account by object ID.
- List carrier accountsSource
Carrier accounts available for rating and labels, with service levels.
Carrier parcel templates2
- Get carrier parcel templateSource
One carrier parcel template by token.
- List carrier parcel templatesSource
Carrier package presets (for example USPS flat-rate boxes) and their tokens.
Carrier registration status1
- Get carrier registration statusSource
Status of a Shippo-managed carrier account registration (UPS, USPS or Canada Post).
Customs declarations3
- Create customs declarationDestinationNot retried automaticallyApproval before production
Create a customs declaration from customs items.
- Get customs declarationSource
One customs declaration by object ID.
- List customs declarationsSource
Customs declarations for international shipments.
Customs items3
- Create customs itemDestinationNot retried automaticallyApproval before production
Create a customs line item for a declaration.
- Get customs itemSource
One customs item by object ID.
- List customs itemsSource
Customs line items.
Live rate parcel template2
- Get default live-rate parcel templateSource
The user parcel template live rates use when no parcel is sent.
- Set default live-rate parcel templateDestinationProvider duplicate protectionApproval before production
Choose the user parcel template live rates use by default.
Live rates1
- Get live ratesSource
Checkout rates for line items and a destination, using the account's service groups. Quotes only.
Manifests2
- Get manifestSource
One manifest by object ID.
- List manifestsSource
Carrier manifests (scan forms) with documents.
Orders3
- Create orderDestinationNot retried automaticallyApproval before production
Create an order for fulfilment in Shippo.
- Get orderSource
One order with line items and label transactions.
- List ordersSourceIncremental
Orders imported from stores or created by API.
Parcels3
- Create parcelDestinationNot retried automaticallyApproval before production
Create a parcel from dimensions and weight, or from a carrier template.
- Get parcelSource
One parcel by object ID.
- List parcelsSource
Saved parcels with dimensions and weight.
Rates1
- Get rateSource
One rate by object ID.
Refunds2
- Get label refundSource
One label refund request by object ID.
- List label refundsSource
Label refund requests and their status. Read only.
Service groups3
- Create service groupDestinationNot retried automaticallyApproval before production
Create a checkout shipping option from carrier service levels.
- List service groupsSource
Checkout shipping options (live, flat-rate or free) and their service levels.
- Update service groupDestinationProvider duplicate protectionApproval before production
Replace a checkout shipping option, including whether it is active.
Shipment rates1
- List shipment ratesSource
Rates for a shipment, optionally converted to a currency.
Shipments3
- Create shipmentDestinationNot retried automaticallyApproval before production
Create a shipment and return carrier rates. No postage is charged until a transaction is created.
- Get shipmentSource
One shipment with its rates.
- List shipmentsSourceIncremental
Shipments with addresses, parcels and returned rates.
Tracking2
- Register tracking webhookDestinationProvider duplicate protectionApproval before production
Register a tracking number so Shippo sends track_updated webhooks.
- Get tracking statusSource
Tracking status and history for a carrier and tracking number.
Transactions3
- Purchase labelDestinationNot retried automaticallyApproval before production
Purchase a label for a rate (synchronously). Charges postage on live tokens.
- Get labelSource
One transaction (label) by object ID.
- List labelsSourceIncremental
Purchased labels (transactions) with tracking and label URLs.
User parcel templates4
- Create user parcel templateDestinationNot retried automaticallyApproval before production
Save a box size from a carrier template token plus weight, or from name, dimensions and units.
- Get user parcel templateSource
One saved box size by object ID.
- List user parcel templatesSource
Saved box sizes for the account.
- Update user parcel templateDestinationProvider duplicate protectionApproval before production
Replace a saved box size's name, dimensions and weight.
Webhooks2
- Get webhookSource
One webhook subscription by object ID.
- List webhooksSource
Webhook subscriptions with event type and delivery URL. Read only.
Access and limits
- Authentication
- Shippo API token (live or test)
- Plans and access
- All Shippo plans with an API token; label purchases are charged per label. Live tokens buy real postage; test tokens (shippo_test_) return test labels without charges.
- Test environment
- Use a shippo_test_ token for test mode; labels and tracking use the Shippo test carrier.
- Rate limits
- Per minute, live/test: most POST 500/50, single GET 4,000/400, list GET 50/10; tracking POST 750/50 and GET 500/50; HTTP 429 when exceeded.
- Pagination
- page and results (max 100) with next/previous URLs; Nexra follows next.
- Provider events
- Webhooks for transaction_created, transaction_updated, track_updated and batch events. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- transactions.create purchases a label (billable) and has no idempotency key; Nexra never retries it. It is the only operation that spends postage.
- Not implemented on purpose: refund requests, batch purchase, removing shipments from a batch, pickups (carrier fees), manifest creation, carrier-account creation, registration and credential updates, webhook create/update/delete, Shippo Platform managed accounts, and every delete (service groups, user parcel templates, live-rate default template).
- Refunds are read only (refunds.list and refunds.get).
- batches.create and batch_shipments.create only stage shipments; purchasing the batch is left to Shippo.
- Shippo has no batch list endpoint; batches are read by ID and their shipments with batch_shipments.list.
- Shipments, parcels and addresses are immutable once created; there are no update operations.
- address_validations.create sends the address in the JSON body and stores it as a Shippo address. Shippo's newer address validation endpoint takes the address in the query string, so it is not used.
- Live rates, service groups and the live-rate default parcel template are documented for Shippo's checkout rates feature and may need it enabled on the account.
- carrier_parcel_templates.list, user_parcel_templates.list and service_groups.list return a single unpaginated page.
- The refunds list documents next and previous links but no page or results parameters; Nexra follows next.
Developer reference
- Create the Shippo credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Shippo, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/shippo and the Connections API.
