Skip to content

Your first export

Templates are useless until the data ends up somewhere a tester or a CI job can use. DataMaker has three export paths:

  1. Download a file (JSON, CSV, SQL, XLSX).
  2. Push to a connected system (database, REST endpoint, SAP OData).
  3. Generate via API — use the REST API or an SDK to fetch data on demand.

Download a file

From any template, click Generate → Export. Pick:

  • Format: JSON, CSV, SQL INSERT, or XLSX.
  • Count: how many rows. The hosted plan caps a single generation at 100,000 rows.

The browser downloads the file. That’s it. Good for ad-hoc fixtures and one-off seed files committed to a repo.

Push to a connected system

If you’ve configured a connection (see Connections), the export dialog exposes a Push to… dropdown. Pick the connection and the target (table, endpoint, or SAP entity), then Push.

DataMaker:

  • Generates the rows.
  • Maps your template fields to the target columns or properties.
  • Streams them out — INSERT/POST/etc. — and reports per-row success/failure.

For SAP OData, this includes auto-CSRF token negotiation. See Connections → SAP OData.

Generate via REST API

Every template gets an auto-generated REST endpoint:

Terminal window
# JSON, 100 rows
curl -X POST https://api.datamaker.automators.com/templates/{template_id}/generate \
-H "Authorization: Bearer $DM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"count": 100, "format": "json"}'
# CSV stream
curl -X POST https://api.datamaker.automators.com/templates/{template_id}/generate \
-H "Authorization: Bearer $DM_API_KEY" \
-H "Accept: text/csv" \
-d '{"count": 1000}' \
-o customers.csv

For full schema and auth details, see API & SDKs → REST API.

From a CI pipeline

Wrap the API call in a pipeline step. The example below is for GitHub Actions but the shape is the same for GitLab CI or Jenkins:

- name: Seed regression dataset
run: |
curl -X POST "https://api.datamaker.automators.com/templates/${{ secrets.DM_TEMPLATE_ID }}/generate" \
-H "Authorization: Bearer ${{ secrets.DM_API_KEY }}" \
-d '{"count": 500, "format": "json"}' \
> tests/fixtures/customers.json

For more elaborate pipelines (multi-step seeding, conditional logic, retries) use Scenarios instead — they let you orchestrate generation in Python and run the orchestration from a single API call.

Next

Read the concepts → — what a template, scenario, connection, and workspace actually are at the model level.