Mock API Generator

A fake REST API with realistic data in one click, so the front end does not wait for the back end.

Create a free mock APISee limits by plan

From schema to endpoint

  1. In your workspace, choose New → Mock API. It starts with a users table; change the fields or add related tables.
  2. Press Save and get the URL.
  3. Call it from your app. The first request generates the records from your schema, and they stay until you reset them.
const res = await fetch('https://rndgen.com/mock/YOUR_TOKEN/users?limit=2');
const total = res.headers.get('X-Total-Count'); // "1000"
const users = await res.json();
[
  {
    "id": 1,
    "first_name": "Colton",
    "last_name": "Wintheiser",
    "email": "[email protected]",
    "age": 39,
    "city": "Boyerburgh",
    "state": "ND"
  },
  ...
]

Behaves like a real API

RequestWhat it does
GET /usersA page of records, with the total in X-Total-Count
GET /users?page=2&limit=20Paging
GET /users?sort=age&order=descSorting by any field
GET /users?q=smithFull-text search across fields
GET /users?state=CAFiltering by field value
GET /users/42One record
GET /users/42/ordersChild records of a related table
POST /usersAdds a record and returns it with its id
PUT / PATCH /users/42Replaces or merges a record
DELETE /users/42Removes a record

Made for front-end work

  • Realistic records from 240+ field types: names, emails, addresses, products, prices, dates and more, consistent within each record.
  • Related tables such as users, orders and order lines, with ids that match.
  • Delays and errors on demand, to build loading states and retry logic.
  • Open CORS for local development servers, Storybook and preview deployments.
  • Reset and new URL in one click.

Need a static file instead of an endpoint? Download the same schema as JSON,CSV or SQL.

FAQ

Do I need a back end or a server?

No. RNDGen hosts the endpoint. You describe the tables in the workspace, save, and get a URL that answers GET, POST, PUT, PATCH and DELETE.

Are changes stored?

Yes. A POST adds a record, PUT and PATCH change it, DELETE removes it, and the next request sees the change. Reset the data at any time to start from freshly generated records.

Can I call it from localhost or a preview deployment?

Yes. CORS is open, so any origin can call it. The URL itself is the key: share it only with your team, and make a new URL if it leaks.

How do I test loading states and errors?

Set a delay of up to 5 seconds for every response, and a share of requests that answer with HTTP 500, so you can see spinners and retries without touching the code.

What are the limits?

Free accounts get 3 mock APIs, 100 records per table and 1,000 requests a day per API. Pro: 25 APIs, 1,000 records and 100,000 requests a day per API. Team: 100 APIs for each member, 5,000 records and 500,000 requests a day per API.

Can I put real data into a mock API?

Please do not. Anyone with the URL can read the records. Use the generated data, which is fictional.