Data Exports
Data Exports gives every ShipHero customer weekly full exports and delta exports every six hours at no additional cost. Use the data_exports Public API query to find completed runs and download account-scoped Parquet files.
For more frequent exports, contact your Customer Success Manager.
Export schedule and file format
- Full exports run weekly. For an explicit timestamp range, the API returns the first completed full export from each UTC week touched by that range. The selected run may be earlier than
timestamp_frombecause it represents that week’s full export. - Delta exports use six-hour UTC slots starting at
00:00,06:00,12:00, and18:00. Each export can include changes from up to eight hours before the run. The API returns the first completed delta export in each matching slot. - Files use Parquet format with Snappy compression.
- In some cases, a table can contain more than one file. Download every entry in
filesto read the complete table for that run. - Signed URLs expire after 24 hours. Run the query again when a URL expires.
Request arguments
The data_exports query accepts these arguments:
export_typesis required. PassFULL,DELTA, or both.timestamp_fromis an optional inclusive ISO 8601 timestamp.timestamp_tois an optional exclusive ISO 8601 timestamp. It requirestimestamp_from. If omitted whentimestamp_fromis present, it defaults to the current time.modulesoptionally limits the response to specific export modules. When provided, it must contain at least one module.
Omit both timestamps to request the latest eligible export for each requested type. Send both timestamps in UTC.
For an explicit range, timestamp_from must be before the current time. When you provide timestamp_to, it must be later than timestamp_from.
Supported module filters
| Module | GraphQL value |
|---|---|
| Orders | ORDERS |
| Shipments | SHIPMENTS |
| Returns | RETURNS |
| Products | PRODUCTS |
| Inventory | INVENTORY |
| Purchase orders | PURCHASE_ORDERS |
| 3PL | THREEPL |
| Users | USERS |
| Labor | LABOR |
Public API example
The following query requests full and delta exports in a UTC range and limits the results to the Orders and Shipments modules.
query DataExports(
$exportTypes: [DataExportType!]!
$timestampFrom: ISODateTime
$timestampTo: ISODateTime
$modules: [DataExportModuleName!]
) {
data_exports(
export_types: $exportTypes
timestamp_from: $timestampFrom
timestamp_to: $timestampTo
modules: $modules
) {
request_id
data {
full {
run_id
modules {
name
tables {
name
files {
signed_url
size
created_at
}
}
}
}
delta {
run_id
modules {
name
tables {
name
files {
signed_url
size
created_at
}
}
}
}
}
}
}Use these variables with the query:
{
"exportTypes": ["FULL", "DELTA"],
"timestampFrom": "2026-08-10T00:00:00Z",
"timestampTo": "2026-08-11T00:00:00Z",
"modules": ["ORDERS", "SHIPMENTS"]
}To request the latest full export without a timestamp range, send only the required export type:
{
"exportTypes": ["FULL"]
}Reading the response
fullcontains the selected weekly full runs.deltacontains the selected runs generated every six hours.run_ididentifies the export run.modules[].nameis the lower-case module name, such asorders.tables[].nameidentifies a table in the module.files[]contains every Parquet file part for the table.signed_urlis the temporary file URL.sizeis the file size in bytes.created_atis the file creation time in UTC.
If no data matches the requested range or module filters, the corresponding full or delta list is empty.
If ShipHero cannot find a complete export for a selected period, the query fails instead of returning partial data.
Available data tables
Data Exports can include the following tables. The API returns the tables present in the selected run after applying any module filters.
Orders
orders, main order records with customer information, totals, and statusline_items, SKUs and quantities for each orderorder_tags, tags applied to orders_order_history, order updates and status changes
Shipments
shipments, shipment records with tracking and carrier datashipped_line_items, line items included in each shipmentshipping_labels, metadata for generated shipping labelsshipment_attributes, shipment-level key and value attributesshipped_line_item_lots, links between shipped items and inventory lotsshipped_items, physical items included in shipments
Returns
returns, return authorization recordsrma_labels, shipping labels associated with returnsreturn_items, items included in each return
Products
products, product records and attributesproduct_tags, tags applied to productsproduct_images2, product image URLs and display orderlots, lot tracking informationwarehouse_products, warehouse-specific product datakitting_map, kit and bundle componentsassembly_map, assembled products and their component quantitiesproduct_cases, case pack configurations
Inventory
bins, warehouse storage binsitem_bins, product quantities by binlocation_change_log, inventory movements between binslocation_types, location classificationscycle_count_v2_batches, cycle count batchescycle_count_v2_batch_items, items in cycle count batchescycle_count_v2_batch_discrepancies, discrepancies found during cycle counts
Purchase orders
purchase_orders, purchase order recordspurchase_order_line_items, items in each purchase ordervendors, supplier recordsproducts_vendors, product and vendor relationships
3PL metadata
warehouse_to_customers, relationships between 3PL warehouses and customers
Users
users, user accounts, roles, and permissions
Labor
activities, labor activities performed by WorkforceHero workersalerts, alerts generated during worker activitiesjobs, warehouse job definitionsshifts_management, warehouse shift definitionsspecial_projects, non-standard warehouse projectswarehouses, warehouses enabled for the Labor moduleworkers, WorkforceHero worker records
Additional tables may be added over time.
Authentication and access
The query requires the view:data_exports scope. Authenticate with a Developer User created through the third-party developer flow or a regular user account with Data Exports enabled.