Build with the SynGen API.

RESTful endpoints. JSON responses. No SDK required — works with any language or tool that can make an HTTP request.

terminal
$ curl -X POST https://synthgenapp.dev/api/generate \
  -H "Content-Type: application/json" \
  -d '{
    "rows": 5,
    "format": "json",
    "fields": [
      {"name": "id",    "type": "integer"},
      {"name": "email", "type": "email"},
      {"name": "name",  "type": "name"}
    ]
  }'

How the API works.

POST a schema, receive data. No auth for the public endpoints — just your field definitions.

RESTful endpoints

Simple HTTP POST with a JSON body. Response is your data, ready to use. No polling, no callbacks.

SSL and rate limiting

All requests are encrypted. Fair-use rate limits apply to keep the service available for everyone.

CSV, JSON, and SQL

Set format in your request body. SQL output includes the table_name param for INSERT statements.

Quick start

Up and running in under a minute.

1
Make your first request
curl -X POST https://synthgenapp.dev/api/generate \
  -H "Content-Type: application/json" \
  -d '{
    "rows": 10,
    "format": "json",
    "fields": [
      {"name": "id",         "type": "integer", "constraints": {"min": 1, "max": 1000}},
      {"name": "email",      "type": "email"},
      {"name": "name",       "type": "name"},
      {"name": "created_at", "type": "date"}
    ]
  }'
import requests

response = requests.post(
    "https://synthgenapp.dev/api/generate",
    json={
        "rows": 10,
        "format": "json",
        "fields": [
            {"name": "id",    "type": "integer"},
            {"name": "email", "type": "email"},
            {"name": "name",  "type": "name"}
        ]
    }
)
data = response.json()
print(data)
const response = await fetch('https://synthgenapp.dev/api/generate', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    rows: 10,
    format: 'json',
    fields: [
      { name: 'id',    type: 'integer' },
      { name: 'email', type: 'email'   },
      { name: 'name',  type: 'name'    }
    ]
  })
});
const data = await response.json();
2
Your response
{
  "success":       true,
  "rows_generated": 10,
  "format":         "json",
  "data": [
    {
      "id":         847,
      "email":      "sarah.johnson@example.com",
      "name":       "Sarah Johnson",
      "created_at": "2024-03-15"
    }
    // … 9 more rows
  ]
}

Endpoints

Core endpoints for data generation.

Method Endpoint Description
GET /api/ Health check and API info
GET /api/field-types All supported field types with constraint schemas
POST /api/generate Generate synthetic data
POST /api/generate/preview Preview output — max 10 rows, no auth required

15+ field types

Pass the type string in your field definition.

integer

Random integers with min/max

float

Decimal numbers with precision

string

Random alphanumeric strings

name

Realistic person names

email

Valid email addresses

phone

Phone numbers

company

Company names

address

Street addresses

city

City names

country

Country names

date

Dates with ranges

datetime

Timestamps

boolean

True/false values

uuid

UUID v4

url

Website URLs