Mockaroo website screenshot

Mockaroo

Mockaroo is a realistic mock data generator and API mocking service used by developers and QA teams to produce JSON, CSV, TXT, custom-delimited, SQL, and XML test data. The platform combines a schema designer, 150+ built-in field types (Name, Internet, Address, Business, Date, Currency, Geographic, Phone, Health, Technology, and more), named datasets used as lookup sources, hosted mock APIs, formulas, projects, AI-assisted field generation, de-identification, and a REST API for programmatic generation. Mockaroo ships in four tiers (Free, Silver, Gold, Enterprise), with the Enterprise tier available as a Docker image for self-hosted, unlimited generation.

1 APIs 10 Features
Test DataMock DataAPI MockingData GenerationDeveloper ToolsQA TestingRealistic DataSchemasDatasetsPublic APIs

APIs

Mockaroo API

REST API for generating realistic mock data records in JSON, CSV, TXT, custom-delimited, SQL, and XML formats. Supports saved schemas, inline field specifications, 150+ built-in...

Collections

Pricing Plans

Mockaroo Plans Pricing

4 plans

PLANS

Rate Limits

Mockaroo Rate Limits

9 limits

RATE LIMITS

FinOps

Features

Realistic Mock Data Generation

Generate realistic test records using more than 150 built-in field types spanning names, addresses, business, internet, dates, currency, geography, phone, health, and technology categories.

Multiple Output Formats

Export generated data as JSON, CSV, tab-separated TXT, custom delimiter, SQL INSERT statements, or XML.

Schema Designer

Design, save, and reuse schemas in the web UI, then call them by name from the REST API.

Datasets As Lookup Sources

Upload CSV or plain-text datasets and use them as lookup sources in schemas via the Dataset Column field type.

Mock APIs

Host mock REST endpoints that return generated records on demand, including configurable error conditions.

Background Generation

Submit large generation requests asynchronously and poll /api/downloads/{id} for status, progress, and the final download URL.

Formulas And Custom Functions

Transform generated values with reusable Mockaroo formula expressions and custom functions.

AI Field Generation

Generate field definitions and custom types using AI assistance in the schema editor.

De-identification

Anonymize sensitive datasets via Mockaroo's de-identification tooling.

Enterprise Docker Deployment

Run Mockaroo as a self-hosted Docker container inside a private cloud or datacenter for unlimited, organization-wide generation.

Use Cases

UI Prototyping

Power UI prototypes with realistic request/response data so design reviews surface real edge cases (long names, Unicode, blanks).

Load And Performance Testing

Generate millions of realistic records to populate staging databases for load and performance testing.

QA Test Data

Produce repeatable, schema-driven test data for automated test suites and continuous integration pipelines.

Demo And Sales Environments

Stand up demo environments with believable customer data without touching production.

Data Anonymization

Replace sensitive production data with statistically similar but synthetic records for safe sharing.

API Mocking

Front-end and integration teams hit Mockaroo-hosted mock APIs while back-end services are still under construction.

Integrations

Node.js

Official mockaroo-node Promise-based client for the Generate API.

.NET / C#

Community NMockaroo and Mockaroo.NET libraries.

Python

Community mockaroo-python wrapper.

R

Community mockaRoo package for the Generate API.

Java

Community mockaroo.api Java client.

MuleSoft

Community MuleSoft connector for invoking Mockaroo schemas.

Salesforce CLI

testdata sfdx plugin generates Salesforce test data via Mockaroo schemas.

Kafka

mockaroo2kafka scripts feed generated records into Kafka topics for streaming tests.

MCP

Community mockaroo-mcp MCP server exposes Mockaroo's generate surface to LLM agents.

Docker

Mockaroo Enterprise is distributed as a Docker image for self-hosted deployment.

Solutions

Free

1,000 records per file, 200 API requests per day.

Silver

$60/year. 100,000 records per file, 1,000,000 records per day.

Gold

$500/year. 10,000,000 records per file, 10,000,000 records per day.

Enterprise

$7,500/year. Self-hosted Docker, unlimited generation, organization-wide access.

Semantic Vocabularies

Mockaroo Context

16 classes · 6 properties

JSON-LD

API Governance Rules

Mockaroo API Rules

10 rules · 7 errors 3 warnings

SPECTRAL

JSON Structure

Mockaroo Dataset Structure

4 properties

JSON STRUCTURE

Mockaroo Download Structure

6 properties

JSON STRUCTURE

Mockaroo Field Spec Structure

4 properties

JSON STRUCTURE

Mockaroo Field Type Structure

4 properties

JSON STRUCTURE

Example Payloads

Mockaroo Dataset Example

4 fields

EXAMPLE

Mockaroo Download Example

5 fields

EXAMPLE

Mockaroo Field Type Example

4 fields

EXAMPLE

Mockaroo List Types Example

2 fields

EXAMPLE

Resources

🔗
Website
Website
🔗
Documentation
Documentation
📝
Signup
Signup
🔗
Login
Login
💰
Pricing
Pricing
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog
🔗
X
X
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
💬
Support
Support
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
👥
GitHubRepository
GitHubRepository
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
JSONLD
JSONLD

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Mockaroo API
  version: '1.0'
request:
  auth:
    type: apikey
    key: key
    value: '{{key}}'
    placement: query
items:
- info:
    name: Types
    type: folder
  items:
  - info:
      name: List Field Types
      type: http
    http:
      method: GET
      url: https://api.mockaroo.com/api/types
    docs: Return the catalog of built-in field types Mockaroo can generate, including each type's name, category, and supported
      parameters.
- info:
    name: Generate
    type: folder
  items:
  - info:
      name: Generate Records As JSON
      type: http
    http:
      method: POST
      url: https://api.mockaroo.com/api/generate.json
      params:
      - name: count
        value: ''
        type: query
        description: Number of records to generate.
      - name: schema
        value: ''
        type: query
        description: Name of a saved Mockaroo schema to generate from.
      - name: array
        value: ''
        type: query
        description: Force a JSON array response even when count=1.
      - name: include_nulls
        value: ''
        type: query
        description: Emit null-valued JSON fields instead of omitting them.
      - name: background
        value: ''
        type: query
        description: Run the generation as a background job. The response will contain a download id which can be polled via
          /api/downloads/{id}. Requires a paid plan.
      body:
        type: json
        data: '{}'
    docs: Generate records using either a saved schema (via the schema parameter) or an inline list of field specifications
      supplied in the request body.
  - info:
      name: Generate Records As CSV
      type: http
    http:
      method: POST
      url: https://api.mockaroo.com/api/generate.csv
      params:
      - name: count
        value: ''
        type: query
        description: Number of records to generate.
      - name: schema
        value: ''
        type: query
        description: Name of a saved Mockaroo schema to generate from.
      - name: include_header
        value: ''
        type: query
        description: Include a header row in CSV/TXT/custom output.
      - name: line_ending
        value: ''
        type: query
        description: Line ending style for text-based formats.
      - name: background
        value: ''
        type: query
        description: Run the generation as a background job. The response will contain a download id which can be polled via
          /api/downloads/{id}. Requires a paid plan.
      body:
        type: json
        data: '{}'
    docs: Generate records as comma-separated values.
  - info:
      name: Generate Records As Tab-Separated Text
      type: http
    http:
      method: POST
      url: https://api.mockaroo.com/api/generate.txt
      params:
      - name: count
        value: ''
        type: query
        description: Number of records to generate.
      - name: schema
        value: ''
        type: query
        description: Name of a saved Mockaroo schema to generate from.
      - name: include_header
        value: ''
        type: query
        description: Include a header row in CSV/TXT/custom output.
      - name: line_ending
        value: ''
        type: query
        description: Line ending style for text-based formats.
      - name: background
        value: ''
        type: query
        description: Run the generation as a background job. The response will contain a download id which can be polled via
          /api/downloads/{id}. Requires a paid plan.
    docs: Generate records as tab-separated text.
  - info:
      name: Generate Records With A Custom Delimiter
      type: http
    http:
      method: POST
      url: https://api.mockaroo.com/api/generate.custom
      params:
      - name: count
        value: ''
        type: query
        description: Number of records to generate.
      - name: schema
        value: ''
        type: query
        description: Name of a saved Mockaroo schema to generate from.
      - name: delimiter
        value: ''
        type: query
        description: Field delimiter for /api/generate.custom.
      - name: quote_char
        value: ''
        type: query
        description: Quote character for /api/generate.custom.
      - name: include_header
        value: ''
        type: query
        description: Include a header row in CSV/TXT/custom output.
      - name: line_ending
        value: ''
        type: query
        description: Line ending style for text-based formats.
    docs: Generate records using a configurable delimiter and quote character.
  - info:
      name: Generate Records As SQL Inserts
      type: http
    http:
      method: POST
      url: https://api.mockaroo.com/api/generate.sql
      params:
      - name: count
        value: ''
        type: query
        description: Number of records to generate.
      - name: schema
        value: ''
        type: query
        description: Name of a saved Mockaroo schema to generate from.
      - name: table
        value: ''
        type: query
        description: Target table name for INSERT statements.
      - name: background
        value: ''
        type: query
        description: Run the generation as a background job. The response will contain a download id which can be polled via
          /api/downloads/{id}. Requires a paid plan.
    docs: Generate records as SQL INSERT statements.
  - info:
      name: Generate Records As XML
      type: http
    http:
      method: POST
      url: https://api.mockaroo.com/api/generate.xml
      params:
      - name: count
        value: ''
        type: query
        description: Number of records to generate.
      - name: schema
        value: ''
        type: query
        description: Name of a saved Mockaroo schema to generate from.
      - name: background
        value: ''
        type: query
        description: Run the generation as a background job. The response will contain a download id which can be polled via
          /api/downloads/{id}. Requires a paid plan.
    docs: Generate records as an XML document.
- info:
    name: Datasets
    type: folder
  items:
  - info:
      name: Upload Or Replace A Dataset
      type: http
    http:
      method: POST
      url: https://api.mockaroo.com/api/datasets/:name
      params:
      - name: name
        value: ''
        type: path
        description: Name of the dataset.
      - name: filename
        value: ''
        type: query
        description: Optional original filename for the uploaded dataset.
      - name: project
        value: ''
        type: query
        description: Optional project name in which to store the dataset.
    docs: Upload a CSV or plain-text dataset under the given name. The dataset can then be used as a lookup source in schemas
      via the Dataset Column type.
  - info:
      name: Delete A Dataset
      type: http
    http:
      method: DELETE
      url: https://api.mockaroo.com/api/datasets/:name
      params:
      - name: name
        value: ''
        type: path
        description: Name of the dataset.
    docs: Remove the dataset with the given name.
- info:
    name: Downloads
    type: folder
  items:
  - info:
      name: Get Background Download Status
      type: http
    http:
      method: GET
      url: https://api.mockaroo.com/api/downloads/:id
      params:
      - name: id
        value: ''
        type: path
        description: Identifier of the background download job.
    docs: Retrieve the status and progress of a background generation job initiated with background=true.
  - info:
      name: Cancel Background Download
      type: http
    http:
      method: DELETE
      url: https://api.mockaroo.com/api/downloads/:id
      params:
      - name: id
        value: ''
        type: path
        description: Identifier of the background download job.
    docs: Cancel or remove a background download job.
bundled: true