Req | Res

Test your front-end against a real API

Fake data

No more tedious sample data creation, we've got it covered.

Real responses

Develop with real response codes. GET, POST, PUT & DELETE supported.


24/7 free access in your development phases. Go nuts.

A hosted REST-API ready to respond to your AJAX requests.

Give it a try

  • List users
  • Single user
  • Single user not found
  • List <resource>
  • Single <resource>
  • Single <resource> not found
  • Create
  • Update
  • Update
  • Delete
  • Register - successful
  • Register - unsuccessful
  • Login - successful
  • Login - unsuccessful
  • Delayed response





It’s all in the details

  • Hosted on Digital Ocean

    Which means 99.99% Uptime SLA.
    All you need is the base URL, and you're away:

    The API is CORS enabled, so you can make requests right from the browser, no matter what domain, or even from somewhere like JSFiddle or JSBin.

  • Language agnostic

    A generic API that conforms to REST principles and accepts a content type of


    Any endpoint that contains "<resource>" can be substituted with anything you supply, ie. "products", "accounts", etc..the API will just respond with various Pantone colours (defined in data.json under the "unknown" key)

  • Open-source on GitHub

    A tool for developers to use, so it makes sense that you should have a say in how it works.

    Submit a pull request to propose changes and add more data/endpoints! Just remember to mirror changes in the documentation...

Getting started


If you, for example, want to create a fake user:

    url: "",
    type: "POST",
    data: {
        name: "paul rudd",
        movies: ["I Love You Man", "Role Models"]
    success: function(response){

For which the response to this request will be...

    "name":"paul rudd",
        "I Love You Man",
        "Role Models"

You can see that the API has sent us back whatever user details we sent it, plus an id & createdAt key for our use.

Native JavaScript

If you've already got your own application entities, ie. "products", you can send them in the endpoint URL, like so:

var xhr = new XMLHttpRequest();"GET", "", true);
xhr.onload = function(){

It would be impossible for Reqres to know your application data, so the API will respond from a sample set of Pantone colour data

        "name":"true red",

It's entirely possible to get sample data into your interface in seconds!

Still don't really get it...

  • Reqres is a real API

    Reqres simulates real application scenarios. If you want to test a user authentication system, Reqres will respond to a successful login/register request with a token for you to identify a sample user, or with a 403 forbidden response to an unsuccessful login/registration attempt.

    A common front-end scenario that's easily forgotten is loading states, which can be easily simulated through Reqres by appending
    ?delay=<a number of seconds> to any endpoint URL, which will delay the API response time. Animated loading GIFs & SVGs at the ready!

  • Technical demos and tutorials

    If you're trying to demonstrate a front-end (JavaScript-based) concept, you don't really want the hassle of setting up an API, or even a server (especially during a live workshop or demo).

    You can just write your HTML, CSS & JavaScript as usual and send Reqres AJAX requests, which will respond with the expected response codes and output.

  • Rapid prototyping of interfaces

    When prototyping a new interface, you just want an API there, with minimal setup effort involved. Normally, I'd point people, who aren't too familiar with backend programming, to Sailsjs which can auto-generate a REST-API for you from the command line.

    However, you will need Node.js installed and some familiarity of how Node.js works. If that sounds like too much hassle and way too daunting, Reqres is just a URL. Sending it an AJAX request is step 1...there is no step 2.

Peace of mind

It might seem pretty weird to be sending your data to a 3rd party API, but I can assure you, Reqres does not store any of your data at all. Once you send it to us, we just send it straight back...and then it's gone!

All of the source code is open on GitHub, so do feel free to go check out the functionality yourself, for your own peace of mind.