Skip to main content

Shippo

Shippo is a multi-carrier shipping platform that lets businesses compare rates, generate labels, validate addresses, and track packages across dozens of carriers through a single API. Nexla connects to the Shippo API to ingest shipping data such as addresses, batches, carrier accounts, and customs declarations, and to push records back to Shippo to create and manage those same resources.

Shippo icon

Power end-to-end data operations for your Shippo API with Nexla. Our bi-directional Shippo connector is purpose-built for Shippo, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Shippo or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Shippo workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Nexla can authenticate to Shippo using either an API token or an OAuth 2.0 authorization flow. Most users authenticate with an API token, which Shippo sends in the Authorization: ShippoToken <API_TOKEN> header on every request.

Shippo issues two kinds of API tokens. Test tokens begin with shippo_test_ and let you exercise every service without being charged, which makes them ideal for validating a Nexla flow. Live tokens begin with shippo_live_ and perform real, billable operations such as purchasing shipping labels. Use a test token while you build and switch to a live token only when you are ready for production.

To obtain an API token:

  1. Sign in to your Shippo account at https://apps.goshippo.com.

  2. In the dashboard, open Settings, then select the API section (also reachable directly at https://apps.goshippo.com/settings/api).

  3. Choose whether you want a Live Token or a Test Token, then click Generate Token.

  4. Copy the generated token immediately and store it securely. Shippo masks tokens after they are created and you can only view a token in full once, so it cannot be retrieved later.

If you prefer to connect through Shippo's OAuth 2.0 flow, you will need the authorization URL, token URL, client ID, and client secret for a registered Shippo OAuth application, along with the access scopes your integration requires. Refer to the Shippo API documentation for details on registering an OAuth application and the available scopes.

Authenticate

Credentials required

An OAuth authentication flow where users must authorize an application to access their data

FieldRequiredSecretDescription
Authorization URLNoNoThe URL endpoint where users authenticate and authorize access
Client IDYesYesA unique public identifier assigned to your application
Access ScopeNoNoA space-separated list of permissions your application requests
Token URLNoNoThe URL endpoint where authorization codes are exchanged for access tokens
Client SecretNoYesA private key used to authenticate your application when requesting tokens

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Provide the authentication details for your chosen method. For API token authentication, enter your Shippo API token in the API Key Value field. For OAuth 2.0, supply the authorization URL, client ID, access scope, token URL, and client secret for your registered Shippo application, and complete the authorization prompt when directed to Shippo.

    Shippo API tokens grant direct access to your account. Keep them confidential, and use a test token (prefixed shippo_test_) while building a flow to avoid billable operations. If a token is compromised, delete it in the Shippo dashboard and generate a new one.

    For detailed information about Shippo authentication, API tokens, and available endpoints, see the Shippo API documentation.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Shippo connector tile, then select the credential that will be used to connect to Shippo, and click Next; or, create a new Shippo credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Shippo endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

[Rest API] List all addresses

This endpoint template retrieves a list of all addresses stored in your Shippo account. Use it to ingest saved sender and recipient addresses for reporting, validation, or synchronization with other systems.

For detailed information about the addresses resource and its response fields, see the Shippo API documentation.

[Rest API] Retrieve an address

This endpoint template retrieves a single address from your Shippo account by its object ID. Use it when you need the full details of a specific saved address.

For detailed information about the addresses resource and its response fields, see the Shippo API documentation.

[Rest API] Validate an address

This endpoint template validates an address in your Shippo account and returns the verification result. Use it to confirm that a stored address is deliverable before it is used to generate labels.

For detailed information about address validation and its response fields, see the Shippo API documentation.

[Rest API] Retrieve a batch

This endpoint template retrieves a single batch from your Shippo account by its object ID, including the shipments it contains and their current status. Use it to monitor the state of a batch shipment.

For detailed information about the batch resource and its response fields, see the Shippo API documentation.

[Rest API] List all carrier accounts

This endpoint template retrieves a list of all carrier accounts connected to your Shippo account. Use it to ingest the set of carriers available for rating and label generation.

For detailed information about the carrier accounts resource and its response fields, see the Shippo API documentation.

[Rest API] Retrieve a carrier account

This endpoint template retrieves a single carrier account from your Shippo account by its object ID. Use it when you need the full configuration details of a specific connected carrier.

For detailed information about the carrier accounts resource and its response fields, see the Shippo API documentation.

[Rest API] Connect an existing carrier account using OAuth 2.0

This endpoint template initiates the OAuth 2.0 sign-in flow used to connect an existing carrier account to Shippo. Use it as part of the carrier onboarding process for carriers that authenticate through OAuth.

For detailed information about connecting carrier accounts through OAuth, see the Shippo API documentation.

[Rest API] Get Carrier Registration status

This endpoint template retrieves the registration status of a carrier account in your Shippo account. Use it to check whether a carrier registration has completed successfully before relying on that carrier.

For detailed information about carrier registration status and its response fields, see the Shippo API documentation.

[Rest API] List all customs declarations

This endpoint template retrieves a list of all customs declarations in your Shippo account. Use it to ingest the customs information attached to international shipments for reporting or compliance.

For detailed information about the customs declarations resource and its response fields, see the Shippo API documentation.

[Rest API] Retrieve a customs declaration

This endpoint template retrieves a single customs declaration from your Shippo account by its object ID. Use it when you need the full details of a specific customs declaration.

For detailed information about the customs declarations resource and its response fields, see the Shippo API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Shippo data sources can also be manually configured to ingest data from any valid Shippo API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Shippo data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Shippo destination, and select the Send to Destination option from the menu. Select the Shippo connector from the list of available destination connectors, then select the credential that will be used to connect to Shippo, and click Next; or, create a new Shippo credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Shippo endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

[Rest API] Create a new address

This endpoint template creates a new address in your Shippo account using records from a Nexset. Use it to automatically register sender or recipient addresses based on data from your Nexla flows.

  • Each record from your Nexset is sent as a separate API request containing the address data in the format required by the Shippo API.

For detailed information about creating addresses and the required request body, see the Shippo API documentation.

[Rest API] Create a batch

This endpoint template creates a new batch in your Shippo account using records from a Nexset. Use it to group multiple shipments together for bulk label purchase and processing.

  • Each record from your Nexset is sent as a separate API request containing the batch data in the format required by the Shippo API.

For detailed information about creating batches and the required request body, see the Shippo API documentation.

[Rest API] Add shipments to a batch

This endpoint template adds shipments to an existing batch in your Shippo account using records from a Nexset. Use it to append additional shipments to a batch before it is purchased.

  • Each record from your Nexset is sent as a separate API request containing the shipment data in the format required by the Shippo API.

For detailed information about managing batch shipments and the required request body, see the Shippo API documentation.

[Rest API] Purchase a batch

This endpoint template purchases all eligible shipments in an existing batch, generating shipping labels for them. Use it to complete bulk label purchase for a batch that has been assembled.

  • Each record from your Nexset is sent as a separate API request to purchase the referenced batch. Purchasing with a live token performs real, billable label purchases.

For detailed information about purchasing batches, see the Shippo API documentation.

[Rest API] Remove shipments from a batch

This endpoint template removes shipments from an existing batch in your Shippo account using records from a Nexset. Use it to drop shipments from a batch before it is purchased.

  • Each record from your Nexset is sent as a separate API request identifying the shipments to remove from the referenced batch.

For detailed information about managing batch shipments, see the Shippo API documentation.

[Rest API] Create a new carrier account

This endpoint template creates a new carrier account in your Shippo account using records from a Nexset. Use it to connect additional carriers programmatically based on data from your Nexla flows.

  • Each record from your Nexset is sent as a separate API request containing the carrier account data in the format required by the Shippo API.

For detailed information about creating carrier accounts and the required request body, see the Shippo API documentation.

[Rest API] Update a carrier account

This endpoint template updates an existing carrier account in your Shippo account using records from a Nexset. Use it to modify carrier settings or credentials for a connected carrier.

  • Each record from your Nexset is sent as a separate API request containing the updated carrier account data and the object ID of the account to update.

For detailed information about updating carrier accounts and the required request body, see the Shippo API documentation.

[Rest API] Add a Shippo carrier account

This endpoint template registers a Shippo carrier account using records from a Nexset. Use it to add a Shippo-provided carrier account to your Shippo account.

  • Each record from your Nexset is sent as a separate API request containing the carrier registration data in the format required by the Shippo API.

For detailed information about registering Shippo carrier accounts, see the Shippo API documentation.

[Rest API] Create a new customs declaration

This endpoint template creates a new customs declaration in your Shippo account using records from a Nexset. Use it to attach customs information to international shipments based on data from your Nexla flows.

  • Each record from your Nexset is sent as a separate API request containing the customs declaration data in the format required by the Shippo API.

For detailed information about creating customs declarations and the required request body, see the Shippo API documentation.

[Rest API] Create a new customs item

This endpoint template creates a new customs item in your Shippo account using records from a Nexset. Customs items describe the individual goods included in a customs declaration for international shipments.

  • Each record from your Nexset is sent as a separate API request containing the customs item data in the format required by the Shippo API.

For detailed information about creating customs items and the required request body, see the Shippo API documentation.

Manual configuration

Shippo destinations can also be manually configured to send data to any valid Shippo API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Shippo APIs expect JSON format for most operations. For update operations, include the object ID of the resource to be updated in the request.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Shippo endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Shippo endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.