Free Public REST API for Testing
A live, fully-featured public REST API you can call from Postman, curl, or any HTTP client — full CRUD on users, products, orders and more. No API key, no signup, no rate-limit surprises.
Why use this REST API?
Most "free public APIs" are read-only or rate-limited into uselessness. This one isn't. You get real CRUD — POST creates persist within your session, PATCH actually patches, DELETE actually deletes — across multiple resources, with realistic pagination, filtering and error simulation built in.
- No API key, no signup — call any endpoint right now.
- Full CRUD on
users,products,orders,postsand more. - Session-scoped data — your changes are isolated to your client, perfect for parallel testing.
- Error simulation — append
?error=500,?delay=2000, or?random_fail=trueto test retry logic. - Swagger / OpenAPI 3.0 spec at /docs — import into Postman in one click.
Quick start — one curl command
curl https://demo.totalshiftleft.ai/api/v1/users
Try it in Postman, Insomnia, Bruno or any HTTP client
Import the OpenAPI spec to auto-generate a collection of every endpoint:
https://demo.totalshiftleft.ai/openapi.json
Sample endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /api/v1/users | List users with pagination |
| POST | /api/v1/users | Create a user |
| GET | /api/v1/users/:id | Get one user |
| PATCH | /api/v1/users/:id | Update user fields |
| DELETE | /api/v1/users/:id | Delete a user |
| GET | /api/v1/products?category=books&page=2 | Filter + paginate |
| POST | /api/v1/orders | Create an order (cross-resource) |
JavaScript fetch example
const r = await fetch('https://demo.totalshiftleft.ai/api/v1/users', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ name: 'Ada Lovelace', email: 'ada@example.com' })
});
console.log(await r.json());
Use cases this REST API is built for
- Practicing REST calls while learning Postman, Insomnia or Bruno
- Wiring up a frontend (React, Vue, Svelte) before the real backend exists
- QA / automation training — RestAssured, Karate, Cypress, Playwright
- Load testing rehearsal with k6, JMeter or Locust
- Workshop / classroom demos of REST fundamentals
Frequently asked questions
Is this REST API really free?
Yes. No signup, no API key, no credit card. No rate limit, fair use. Forever free.
Can I write data (POST / PATCH / DELETE)?
Yes. Writes persist within your session (30 minutes of inactivity) so multiple users do not collide. Re-run a scenario any time.
How is this different from JSONPlaceholder?
JSONPlaceholder fakes writes — POST returns 201 but nothing is stored. This sandbox actually persists data, supports filtering and pagination, and exposes the same data over GraphQL and SOAP too.
Where is the OpenAPI / Swagger spec?
At /docs (Swagger UI) and /openapi.json (raw JSON). Import either into Postman to auto-generate a full collection.
Other free public APIs in this sandbox
Open the live sandbox — REST, GraphQL, SOAP and auth in one place. No signup, no API key.
Open the API Sandbox →Topics: free REST API · public REST API · REST API for testing · REST sandbox · JSONPlaceholder alternative · DummyJSON alternative · ReqRes alternative · REST API for Postman practice · sample REST endpoints · free APIs for QA automation · REST API tutorial 2026