Free, no key needed

A fake login and register API

Build and test login and signup forms without writing a backend. A successful login returns a token; a bad request returns a 400 with an error message.

POST /api/login with eve.holt@reqres.in and password cityslicka returns a token
POST /api/register with eve.holt@reqres.in and password pistol returns an id and token
Leave out the password to get a 400 with {"error": "Missing password"}

Try it live

Live response, no key needed Open in browser ↗
Loading when this comes into view…
curl
curl -X POST "https://reqres.in/api/login" \
  -H "Content-Type: application/json" \
  -d '{"email":"eve.holt@reqres.in","password":"cityslicka"}'
JavaScript
const res = await fetch("https://reqres.in/api/login", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({"email":"eve.holt@reqres.in","password":"cityslicka"}),
})
console.log(await res.json())
Python
import requests

res = requests.post("https://reqres.in/api/login", json={"email": "eve.holt@reqres.in","password": "cityslicka"})
print(res.json())

Questions

Which credentials work?

Login: eve.holt@reqres.in with cityslicka. Register: eve.holt@reqres.in with pistol.

How do I test a failed login?

Send an email without a password. You get a 400 and {"error": "Missing password"}.

Is this real authentication?

No, it is a fixed demo for front-end and test work. For real per-user sessions, ReqRes projects have app users with magic-link login.

Need data that saves?

A free project gives you an API key and collections where records persist, so your demo or tutorial keeps its data.

Start a free project

More: A free JSON API, no key needed · A fake users API for testing · A delayed response API for testing loading states · Test a REST API online · Docs