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. Generous fair-use rate limits per IP. Forever free.
Can I write data (POST / PATCH / DELETE)?
Yes. Writes persist within your session for 30 minutes 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