Import
Better Data accepts data via a REST import API. All imports are:
jobId; poll GET /api/import/status/[jobId] for completionAlways import in this sequence. Later resources depend on earlier ones.
No dependencies. Import your supplier master first. -> Suppliers field reference
No dependencies. Import products and SKUs. -> Catalog field reference
Requires: Catalog + Locations (locations are configured in account setup). -> Inventory field reference
Requires: Suppliers + Catalog + Locations. -> Purchase Orders field reference
Requires: Catalog + Locations. -> Orders field reference
Requires: Catalog + Locations. Week start dates must be Mondays. -> Demand History field reference
Locations are configured during account setup and are not imported via the API. Contact support to add or modify locations.
Download a CSV template, fill it in, and upload via the API or the in-app importer.
downloadDownload templates
Get pre-formatted CSV templates for every resource.
codeAPI reference
Full REST API docs for all import endpoints.
plugFivetran / ERP connectors
Map your NetSuite, SAP, or Shopify data to Better Data fields.
tableField mappings
Field-by-field reference with ERP analogs and constraints.
All import endpoints require an API key in the x-api-key header.
1curl -X POST https://api.betterdata.co/api/import/catalog \2 -H "x-api-key: YOUR_API_KEY" \3 -H "Content-Type: application/json" \4 -d '{ "products": [...] }'Generate API keys at: apps.betterdata.co -> Settings -> API Keys
1curl https://api.betterdata.co/api/import/status/job_abc123 \2 -H "x-api-key: YOUR_API_KEY"Response:
1{2 "jobId": "job_abc123",3 "status": "COMPLETED",4 "rowCount": 142,5 "processedCount": 142,6 "failedCount": 0,7 "errors": [],8 "completedAt": "2026-03-01T10:00:04Z"9}Status values: PENDING -> PROCESSING -> COMPLETED | FAILED
