node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »



Important: For Feathers v3.0.0 and later, feathers-rest is has been replaced by framework specific adapters. Use @feathersjs/express and @feathersjs/express/rest provided in that module instead.

Greenkeeper badge

Build Status Code Climate Test Coverage Dependency Status Download Status Slack Status

The Feathers REST API provider


This provider exposes Feathers services through a RESTful API using Express that can be used with Feathers 1.x and 2.x as well as client support for Fetch, jQuery, Request, Superagent, axios and angular2+'s HTTP Service.

Note: For the full API documentation go to

Quick example

import feathers from 'feathers';
import bodyParser from 'body-parser';
import rest from 'feathers-rest';
const app = feathers()
  .use(bodyParser.urlencoded({ extended: true }))
  .use(function(req, res, next) { = 'Hello world';
app.use('/:app/todos', {
  get: function(id, params) {
    console.log(; // -> 'Hello world'
    console.log(; // will be `my` for GET /my/todos/dishes
    return Promise.resolve({
      description: `You have to do ${name}!`

Client use

import feathers from 'feathers/client';
import rest from 'feathers-rest/client';
import jQuery from 'jquery';
import request from 'request';
import superagent from 'superagent';
import axios from 'axios';
import {Http, Headers} from '@angular/http';
const app = feathers()
  // or
  // or
  // or
  // or
  // or (using injected Http instance)
    .configure(rest('http://baseUrl').angular(http, { Headers }))


Copyright (c) 2015

Licensed under the MIT license.