Import

Importing Data into Better Data

Edit this page

Overview

Better Data accepts data via a REST import API. All imports are:

  • Async - each request returns a jobId; poll GET /api/import/status/[jobId] for completion
  • Idempotent - re-running an import with the same external reference IDs will not create duplicates
  • Partial-success - row-level errors are reported per record; a single bad row does not fail the whole batch

Import Order

Always import in this sequence. Later resources depend on earlier ones.

    1. Suppliers

    No dependencies. Import your supplier master first. -> Suppliers field reference

    2. Catalog

    No dependencies. Import products and SKUs. -> Catalog field reference

    3. Inventory

    Requires: Catalog + Locations (locations are configured in account setup). -> Inventory field reference

    4. Purchase Orders

    Requires: Suppliers + Catalog + Locations. -> Purchase Orders field reference

    5. Orders

    Requires: Catalog + Locations. -> Orders field reference

    6. Demand History

    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.

Quick Start

Download a CSV template, fill it in, and upload via the API or the in-app importer.

Authentication

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

Checking Import Status

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