Developer Portal

Build with SynthGen API

Generate realistic synthetic data programmatically. RESTful API with JSON responses, comprehensive documentation, and code examples in multiple languages.

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"}
    ]
  }'
RESTful API

Simple HTTP endpoints with JSON request/response. No SDKs required - works with any language.

Production Ready

SSL encrypted, rate limiting, and high availability. Built for enterprise workloads.

Multiple Formats

Export as JSON, CSV, or SQL INSERT statements. Perfect for any use case.

Quick Start Guide

Get up and running in under a minute

1
Make your first API request

Send a POST request to generate synthetic data:

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", "constraints": {"min": 1, "max": 1000}},
            {"name": "email", "type": "email"},
            {"name": "name", "type": "name"},
            {"name": "created_at", "type": "date"}
        ]
    }
)

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', constraints: { min: 1, max: 1000 } },
      { name: 'email', type: 'email' },
      { name: 'name', type: 'name' },
      { name: 'created_at', type: 'date' }
    ]
  })
});

const data = await response.json();
console.log(data);
2
Get your response

The API returns your synthetic data in the requested format:

{
  "success": true,
  "rows_generated": 10,
  "format": "json",
  "data": [
    {
      "id": 847,
      "email": "sarah.johnson@example.com",
      "name": "Sarah Johnson",
      "created_at": "2024-03-15"
    },
    {
      "id": 231,
      "email": "michael.chen@example.com",
      "name": "Michael Chen",
      "created_at": "2024-02-28"
    }
    // ... more rows
  ]
}

API Endpoints

Core endpoints for generating synthetic data

Method Endpoint Description
GET /api/ Health check and API info
GET /api/field-types List all supported field types and constraints
POST /api/generate Generate synthetic data
POST /api/generate/preview Preview data generation (max 10 rows)

15+ Data Types

Generate realistic data for any field

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 identifiers

url

Website URLs

Interactive API Documentation

Explore and test the API directly in your browser with our built-in Swagger UI. No setup required - just click and try.

  • Try endpoints live
  • View request/response schemas
  • Download OpenAPI spec
Open Swagger UI ReDoc
Swagger UI

Ready to Build?

Start generating synthetic data today. Free tier includes 100 requests per day.