Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Platform · Web DevelopmentFree

Restful-booker

A free practice API built for learning API testing: a small hotel booking service with authentication and create, read, update and delete endpoints, deliberately seeded with bugs, that resets itself every 10 minutes. It is the standard target for practising Postman collections, scripted tests and code-based API tests.

Format

Platform

Topic

Web Development

Provider

Mark Winteringham

Level

Beginner

Access

Free

What it is

Restful-booker is an API playground created by Mark Winteringham, a tester and author, for people learning API testing and trying out testing tools. It is a create, read, update and delete web API for hotel bookings with a simple authentication endpoint, and it comes, in the author's words, loaded with a bunch of bugs for you to explore.

How it works

The API offers endpoints to create an authentication token, list and filter bookings, fetch one booking, create a booking, update or partially update one, and delete one. Updates and deletes require the token. The site links to API documentation describing every endpoint, its parameters and example responses. According to the official page, it starts with ten records and resets itself to that default state every 10 minutes, so you cannot break it permanently, and other people's changes disappear too.

Is it worth your time?

Yes, for anyone learning API testing. It is realistic enough to practise every core skill: sending requests by hand, organising a collection with environments, writing test scripts, chaining a token and a booking ID through a full flow, writing negative tests, validating responses against a JSON Schema, running a collection from the command line, and rebuilding the suite as code. The deliberate bugs make it good for writing API bug reports too.

How to use it well

  • Explore every endpoint by hand first and write down what you expect before you send each request.
  • Build a collection with folders for authentication, create, read, update and delete, and an environment for the base URL.
  • Write positive and negative tests: missing fields, wrong types, invalid dates, missing or wrong tokens.
  • Report the bugs you find with the request, response and expected behaviour.
  • Remember the 10-minute reset when a booking you created disappears.

Prerequisites

Basic HTTP and JSON. A client such as Postman or curl.

Free or paid?

Free. The source is on GitHub, so you can also run it locally.

Common questions

Is it OK to load test it? No. It is a shared public service for functional practice. Use a local copy or your own app for performance testing.

Where are the docs? Linked from the home page, with an example for each endpoint.

testingapibeginner friendlyopen source

Ready to start?

Opens on Mark Winteringham in a new tab.

Open resource
Link broken or out of date?

Report a problem

With "Restful-booker". Only Tauseef reads this.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.