โ† All guides

๐Ÿ“ก We check GoRest (and 50+ other public mock/testing services) with a plain GET every 30 minutes โ€” see the live status page.

GoRest alternative โ€” the same testing API, without the access token or the 24-hour data wipe

GoRest (gorest.co.in) is one of the better-run services in this category, and that deserves saying first: it's been online for years, the seed data is realistic, it speaks both JSON and XML, the pagination headers are clean, and the docs are honest about what it is. A lot of API-testing courses and Postman tutorials build on it for good reason.

But it's designed around choices that fight you the moment you use it for your own project. All of this verified hands-on and against GoRest's own homepage/FAQ, September 4, 2026:

Mockbird does the same job โ€” free, no signup, no token for writes, and your data persists โ€” with your own schema and 10,000 requests/day per project.

The same users API in 60 seconds โ€” no sign-in

# 1. create a project (no account, no token)
curl -X POST https://mockbird.mockbird.workers.dev/api/projects \
  -H 'content-type: application/json' -d '{"name":"my api"}'
# โ†’ {"id":"xw5wscdsad","adminKey":"โ€ฆ"}  โ€” save both

# 2. add a GoRest-shaped users resource, seeded with 12 realistic records
curl -X POST https://mockbird.mockbird.workers.dev/api/projects/PROJECT_ID/resources \
  -H 'content-type: application/json' -H 'x-admin-key: ADMIN_KEY' \
  -d '{"name":"users","seed":12,"fields":[
        {"name":"name","type":"fullName"},
        {"name":"email","type":"email"},
        {"name":"gender","type":"oneOf","values":["male","female"]},
        {"name":"status","type":"oneOf","values":["active","inactive"]}]}'

Reads look exactly like GoRest's (list, single, filters, pagination with a total-count header):

curl "https://mockbird.mockbird.workers.dev/m/PROJECT_ID/users?page=1&limit=5"
# โ†’ 5 records, header x-total-count: 12

curl "https://mockbird.mockbird.workers.dev/m/PROJECT_ID/users?status=active"
# โ†’ only active users

And the part GoRest gates behind sign-in โ€” writes work with no token at all, and they persist:

curl -X POST https://mockbird.mockbird.workers.dev/m/PROJECT_ID/users \
  -H 'content-type: application/json' \
  -d '{"name":"Priya Sharma","email":"priya@example.test","gender":"female","status":"active"}'
# โ†’ 201 {"id":13,โ€ฆ}   โ€” no 401, no token

curl https://mockbird.mockbird.workers.dev/m/PROJECT_ID/users/13
# โ†’ still there โ€” today, tomorrow, next week (no 24-hour wipe)

curl -X PATCH https://mockbird.mockbird.workers.dev/m/PROJECT_ID/users/13 \
  -H 'content-type: application/json' -d '{"status":"inactive"}'

Nested routes work in both directions of the GoRest pattern โ€” list a user's posts, or create one with the foreign key auto-filled:

curl https://mockbird.mockbird.workers.dev/m/PROJECT_ID/users/2/posts
# โ†’ posts where userId = 2

curl -X POST https://mockbird.mockbird.workers.dev/m/PROJECT_ID/users/2/posts \
  -H 'content-type: application/json' -d '{"title":"Hello","body":"nested create"}'
# โ†’ 201 with userId: 2 filled in automatically

Every command above was run against a live project before this page was published.

Still want to test the 401 path? Simulate it on purpose

GoRest's token requirement is an obstacle when you don't want auth โ€” but sometimes your app's 401-handling is exactly what you're testing. Mockbird lets you have it both ways:

# force any endpoint to fail like GoRest does, on demand:
curl "https://mockbird.mockbird.workers.dev/m/PROJECT_ID/users?mock_status=401"
# โ†’ 401 {"error":"simulated 401 error (mock_status)"}

Or go further: mock JWT auth gives every project real /auth/login and /auth/register endpoints issuing signed JWTs (your seeded users are the accounts), and an optional protected mode that makes every endpoint require Authorization: Bearer โ€ฆ โ€” a working replica of GoRest's auth model, under your control, still free.

GoRest โ†’ Mockbird translation

GoRestMockbird
https://gorest.co.in/public/v2/users/m/PROJECT_ID/users โ€” your own project, one curl to create
Sign in โ†’ personal access token โ†’ Authorization: Bearer โ€ฆ on writesNo token needed; optional mock JWT auth + protected mode when you want auth
?page=2&per_page=10?page=2&limit=10 (aliases _page/_limit for json-server habits)
X-Pagination-Total headerX-Total-Count header (CORS-exposed)
Attribute filters ?status=activeSame, plus _like substring, _gte/_lte/_gt/_lt/_ne ranges, q= any-field search, ?select= projection
Nested GET/POST /users/:id/postsSame shapes, FK auto-filled on nested POST; plus ?_expand=user / ?_embed=posts joins
Fixed resources: users, posts, comments, todosAny resources, any fields (or one-click blog / e-commerce / SaaS presets)
All created records wiped every 24 hWrites persist; snapshots give you deliberate save/restore instead of a surprise nightly reset
90 requests/min per token (default)10,000 requests/day per project
v1 sunset 2 Jun 2027No versioned URLs to strand your tutorials
โ€”Extras GoRest doesn't do: GraphQL on the same data, OpenAPI/Postman/TypeScript+Zod exports, request inspector, mock_delay/mock_status/mock_chaos failure simulation

Where GoRest genuinely wins

Bias disclosed โ€” this page is written by the Mockbird maker. GoRest has real strengths: XML output via content negotiation (append .xml or set Accept โ€” Mockbird's resources are JSON; XML here means a fixed-payload custom route, not negotiation on live data), a large curated seed dataset that reads naturally, per-token rate limits you can tune yourself, and years of stable operation. If your course or tutorial specifically teaches token-based auth against a shared public API, GoRest is literally built for that lesson. The walls above only matter when the API is supposed to be yours.

Start now

# one curl โ€” a whole seeded backend (preset "blog" = posts/comments/authors shapes):
curl -X POST "https://mockbird.mockbird.workers.dev/api/projects" \
  -H 'content-type: application/json' -d '{"name":"my api","preset":"blog"}'

Or try the shared demo with zero setup: curl https://mockbird.mockbird.workers.dev/m/demo/products/1

Facts checked September 4, 2026: anonymous POST /public/v2/users answered HTTP 401 {"message":"Authentication failed"} (run live); the 24-hour wipe-and-reseed, 90 req/min default (range 1โ€“300), sign-in-for-token flow, public-sandbox warning, and the v1 sunset date of 2 June 2027 are all stated on gorest.co.in's own homepage and FAQ. If GoRest changes its policies, re-check their site.

Full API reference in the docs. More guides: JSONPlaceholder alternative ยท ReqRes alternative ยท DummyJSON alternative ยท Mock JWT auth. Create your API โ†’

โšก Skip the terminal: this link creates a live, seeded blog backend in the dashboard โ€” posts, comments, authors, real URL, no signup, no daily wipe.