Build Better APIs, Faster Than Ever

Build status

Feathers is built for developers that need to ship maintainable code, fast.

  • Get prototypes out in a matter of minutes and production ready in days. Seriously.

  • Only worry about your data and application logic. We take out the boilerplate with lightweight services and flexible plug-ins.

  • Less is more! Feathers is a razor thin wrapper on top of Express and Socket.io, the defacto technologies for building real-time web applications using NodeJS.

Ship It
At its core Feathers is a real-time, micro-service web framework for NodeJS that gives you control over your data via RESTful resources, sockets and flexible plug-ins.

How it works

Feathers uses small services that can be registered like an Express middleware. You can use services for different databases or write your own. Here is a REST and websocket real-time todo API with NEDB for data storage:

  // app.js
  var feathers = require('feathers');
  var nedb = require('feathers-nedb');
  var bodyParser = require('body-parser');

  // Initialize NEDB CRUD database service
  var todos = nedb('todos');
  // A Feathers app is the same as an Express app
  var app = feathers();

  // Add REST API support
  // Configure Socket.io real-time APIs
  // Parse HTTP JSON bodies
  // Register the todo service
  app.use('/todos', todos);
  // Start the server
Run the following commands
npm install feathers@^1.3.0 body-parser feathers-nedb@^1.2.0
node app
curl 'http://localhost:3000/todos/' -H 'Content-Type: application/json' --data-binary '{ "text": "Learn Feathers!" }'
Then go to http://localhost:3000/todos

Feathers Plays Nicely With Your Favorite Stack

We have plug-ins or guides for the most popular clients.

Not seeing yours? We pull requests

Battle Tested Core

Feathers is a very thin wrapper over top of Express and Socket.io, both of which have been used in production by thousands of companies.

Uber Flexible

Our plug-ins are small, easy to learn and extremely flexible. Giving you only what you need and then getting out of your way.

Minimal Configuration

Tired of massive JSON or YAML files? Feathers reduces complexity while staying explicit, not by hiding it behind generators and configuration files.


We support MongoDB, Postgres, MySQL and NeDB out of the box. If that's not for you, you can easily write your own service adapters.

Front End Agnostic

Use whatever client you want; Angular, React, Swift/ObjC, Android, it doesn't matter. We provide some helpful guides and plug-ins to make things easier.

Pure JavaScript

Because Feathers is 100% vanilla JavaScript on the backend, you get to use the same language all the way through your web stack. More productivity FTW!

See How Feathers Is Different

Feathers vs Meteor

"Once you go Meteor, you don't go back. And not in a good way."

Meteor has amassed a large community and a lot of venture backed funding. Our biggest complaint is that because of this funding, there is some serious lock in. Meteor has it's own package system, how you use npm modules can be inconsistent and it is a large codebase. There is also the risk that when investors start pushing for a return on their investment, it could negatively impact the community.

From a feature standpoint Feathers is pretty similar to Meteor. You get real-time API's from both. However, we let you use the defacto npm for managing dependencies, we let you choose whether you want to use Webpack, Gulp, Grunt, or any other tool for managing assets, and Feathers is completely client agnostic without any additional overhead. Everything is open, flexible and pluggable. You use only what you need.

Feathers vs Meteor

Feathers vs Sails

"If you love JSON config files, Sails is for you."

From a feature standpoint Feathers and Sails are probably the closest. Both provide real-time REST API's, multiple db support, and are client agnostic. Both frameworks also use Express, but Feathers supports Express 4, while Sails only supports Express 3.

Even though the features are very similar, Feathers achieves this with MUCH less code, which means less stuff to break and maintain making it easy to continuously upgrade to the latest version of Express. We also don't assume how you want to manage your assets by letting you use your build tool of choice. Feathers provides lightweight services and hooks instead of a full-blown ORM, and we let you write code instead of long config files to define relationships and security policies.

Feathers vs Sails

Feathers vs Express

"I like Express because I love flexibility and boilerplate!"

Express is awesome! It does much of the heavy lifting behind Feathers; routing, content-negotiation, middleware support, etc. In fact, you can simply replace Express with Feathers in any existing application and start adding new microservices.

Feathers eliminates a lot of the common boilerplate and gives you helpful plug-ins to make implementing common features easier, while also providing some convention. This includes stuff like managing permissions, CRUD for multiple databases, and real-time APIs using web sockets. Just like Express, Feathers gives you just enough to build your web app quickly but gets out of your way when you need to customize something.

Feathers vs Express

Alright, Take My Money

No need! Feathers is MIT licensed and totally FREE.