Skip to main content
ShipBob is a technology-first fulfillment and storage provider for e-commerce merchants. It operates a distributed network of fulfillment centers across the world, handling warehousing, picking, packing, and shipping for online brands.

Configuring ShipBob as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the ShipBob option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

You’ll need a ShipBob Personal Access Token (PAT) to connect. To generate one:
  1. Log in to your ShipBob Dashboard
  2. Navigate to Integrations > API Tokens
  3. Click Create Token and copy the generated token
The following configurations are available:
  • Access Token: Your ShipBob Personal Access Token (PAT).
  • Channel ID: (Optional) The ShipBob channel ID to filter orders and products. You can find this in the ShipBob dashboard under channel settings.
  • Start Date: (Optional) The earliest date from which records will be synced for incremental streams. Applies to orders and returns.
Once you’re done, click Next.

2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.
Tip: The stream can be found more easily by typing its name.
Select the streams and click Next.

3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.
  • Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
  • Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
  • Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
  • Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
    • Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
    • Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
Once you are done configuring, click Next.

4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:
  • Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
  • Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Below you’ll find all available data streams from ShipBob and their corresponding fields:
Complete order data including shipment details, recipient information, and line items.
FieldTypeDescription
idintegerUnique order ID
order_numberstringDisplay order number
reference_idstringClient-defined external reference ID
statusstringOrder status (Processing, Exception, PartiallyFulfilled, Fulfilled, Cancelled, ImportReview)
typestringOrder type (DTC, DropShip, B2B)
created_datedatetimeWhen the order was created
purchase_datedatetimeWhen the purchase was made
last_update_atdatetimeLast update timestamp (used for incremental sync)
shipping_methodstringSelected shipping method
gift_messagestringGift message included with the order
channelobjectChannel information (id, name)
financialsobjectFinancial details (total_price)
shipping_termsobjectShipping terms (carrier_type, payment_term)
tagsarrayOrder tags (name, value pairs)
recipientobjectRecipient details (name, email, phone_number, address)
productsarrayLine items (id, sku, reference_id, gtin, upc, quantity, unit_price)
shipmentsarrayShipment details (id, status, tracking, location, measurements, products)
Product catalog with variant information.
FieldTypeDescription
idintegerUnique product ID
reference_idstringExternal reference ID
namestringProduct name
skustringProduct SKU
created_datedatetimeWhen the product was created
last_updated_timestampdatetimeLast update timestamp
product_typestringType of product
is_case_pickbooleanWhether the product is case-pick eligible
is_lotbooleanWhether lot tracking is enabled
channelobjectChannel information (id, name)
variantsarrayProduct variants (id, name, sku, barcode, gtin, upc, status, dimensions, weight, inventory_items)
Inventory items with quantity levels across fulfillment centers.
FieldTypeDescription
idintegerUnique inventory item ID
namestringInventory item name
skustringSKU
is_digitalbooleanWhether this is a digital item
is_case_pickbooleanWhether case-pick is enabled
is_lotbooleanWhether lot tracking is enabled
is_activebooleanWhether the item is active
total_fulfillable_quantityintegerTotal fulfillable quantity
total_onhand_quantityintegerTotal on-hand quantity
total_committed_quantityintegerTotal committed quantity
total_sellable_quantityintegerTotal sellable quantity
total_awaiting_quantityintegerTotal awaiting quantity
total_backordered_quantityintegerTotal backordered quantity
total_internal_transfer_quantityintegerTotal internal transfer quantity
total_exception_quantityintegerTotal exception quantity
dimensionsobjectItem dimensions (length, width, height, weight, units)
fulfillment_center_quantitiesarrayQuantity breakdown per fulfillment center
Return orders with inventory item details.
FieldTypeDescription
idintegerUnique return ID
reference_idstringExternal reference ID
statusstringReturn status (AwaitingArrival, Arrived, Processing, Completed, Cancelled)
return_typestringReturn type (Regular, ReturnToSender)
created_datedatetimeWhen the return was created
last_updated_atdatetimeLast update timestamp (used for incremental sync)
completed_datedatetimeWhen the return was completed
tracking_numberstringReturn tracking number
original_shipment_idintegerID of the original shipment
store_order_idstringStore order ID
fulfillment_centerobjectFulfillment center handling the return (id, name)
inventory_itemsarrayReturned items (id, name, sku, quantity, action, action_reason)
Sales channels connected to ShipBob.
FieldTypeDescription
idintegerUnique channel ID
namestringChannel name
application_namestringApplication name
is_activebooleanWhether the channel is active
ShipBob fulfillment and storage locations.
FieldTypeDescription
idintegerUnique location ID
namestringLocation name
abbreviationstringLocation abbreviation
timezonestringLocation timezone
is_activebooleanWhether the location is active
is_receiving_enabledbooleanWhether receiving is enabled
is_shipping_enabledbooleanWhether shipping is enabled
access_grantedbooleanWhether access is granted
location_typestringType of location
addressobjectLocation address (address1, address2, city, state, zip_code, country)
servicesarrayAvailable services (name, enabled)
Fulfillment center details.
FieldTypeDescription
idintegerUnique fulfillment center ID
namestringFulfillment center name
timezonestringTimezone
is_activebooleanWhether the center is active
is_receiving_enabledbooleanWhether receiving is enabled
addressobjectCenter address (address1, address2, city, state, zip_code, country)
Available shipping methods.
FieldTypeDescription
namestringShipping method name
service_levelstringService level
carrierstringCarrier name
defaultbooleanWhether this is the default shipping method

Implementation Notes

  • Rate Limits: ShipBob’s API allows 150 requests per minute. The connector automatically handles rate limiting by respecting the x-retry-after header on 429 responses.
  • Incremental Sync: Orders and returns support incremental sync, using last_update_at and last_updated_at respectively as replication keys.
  • Channel Filtering: If a channel_id is configured, the connector sends the shipbob_channel_id header, filtering orders and products to that specific channel.