Recurring Data Exports

Recurring Data Exports

ShipHero now offers a new way for customers to access their historical data in bulk through Recurring Data Exports.

This feature allows accounts to subscribe to scheduled exports (up to four per day) and download the resulting files through signed URLs exposed in the Public API.


Account Type and Table Availability

Not all exports are available to all account types.
Access depends on whether the ShipHero account is one of:

  • 3PL
  • 3PL Client
  • Brand
  • Hybrid

Examples:

  • 3PL Clients do not have access to Inventory tables.
  • 3PL accounts do not have access to vendors or products_vendors.
  • warehouse_to_customers is only available for 3PL accounts.

If a table is not available for the requesting account, it will not appear in the export results.


Export Options

  • Frequency: up to 4 exports per day (configurable)
  • Formats: CSV, JSON, or Parquet
  • Delivery: files are retrieved via signed URLs
  • Expiration: each URL contains an expires_at timestamp

Subscribing to Export Templates

When configuring Recurring Data Exports, customers can choose from a set of predefined templates.
Each template includes a specific subset of tables, allowing you to receive only the data relevant to your needs.

Example templates include:

  • Orders & Shipments – includes all order and shipment data
  • Inventory Snapshot – includes inventory, bins, and product data
  • Returns & RMAs – includes returns and related label information
  • Full Export – includes all available tables for your account type

Templates can be combined, and new ones can be added on request.
To subscribe to one or more templates, contact your Customer Success Manager (CSM).


Available Data Tables

Recurring Data Exports include the following data sets, grouped by module.

Orders

  • orders – main order records with customer info, totals, and status
  • line_items – individual SKUs and quantities for each order
  • order_tags – tags applied to orders for filtering or automation
  • order_history – chronological log of order updates and status changes

Shipments

  • shipments – main shipment records with tracking and carrier data
  • shipped_line_items – details of line items included in each shipment
  • shipping_labels – metadata for generated shipping labels
  • shipped_line_item_lots – links shipped items to inventory lots
  • shipped_items – physical items included in shipments

Returns

  • returns – return authorization records (RMAs)
  • rma_labels – shipping labels associated with returns
  • return_items – individual items included in each return

Products

  • products – catalog of products and their attributes
  • product_tags – tags applied to products for filtering and grouping
  • lots – batch or lot tracking information for products
  • warehouse_products – warehouse-specific product data
  • kitting_map – defines which SKUs form part of kits or bundles

Inventory

  • bins – storage bins within each warehouse
  • item_bins – mapping of products to bins and quantities
  • location_change_log – record of inventory movements between bins
  • cycle_count_v2_batches – details of cycle count batches
  • cycle_count_v2_batch_items – individual items in cycle count batches
  • cycle_count_v2_batch_discrepancies – mismatches found during cycle counts

Purchase Orders

  • purchase_orders – PO records with vendor, date, and totals
  • purchase_order_line_items – individual items within each PO
  • vendors – supplier information
  • products_vendors – mapping of products to their vendors

3PL Metadata

  • warehouse_to_customers – association between 3PL warehouses and customers

Users

  • users – user accounts for the organization, with roles and permissions

Additional tables may be added over time.


Public API Example

Once an export configuration is enabled for an account, you can request download links via GraphQL. In the set up process you’ll need to provide a white list of users allowed to download these files.

query RecurringDataExport {
  recurring_data_export(date: "2025-11-02") {
    data {
      files {
        table_name
        signed_url
      }
      expires_at
    }
  }
}

Response fields explained:

  • files[] – one entry per exported table
  • signed_url – temporary download URL
  • expires_at – timestamp when the URL becomes invalid

How to Enable

Recurring Data Exports are a paid add-on and not enabled by default.
If you’re interested in activating this feature for your account, please contact your Customer Success Manager (CSM).