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:
- Download a file (JSON, CSV, SQL, XLSX).
- Push to a connected system (database, REST endpoint, SAP OData).
- 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:
# JSON, 100 rowscurl -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 streamcurl -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.csvFor 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.jsonFor 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.