Free API Servers - Open-source REST products: Django, Node JS, Flask
Tags: webdev, fullstack, api, rest
Published: 2021-07-26 19:39:21

---
title: Free API Servers - Open-source REST products: Django, Node JS, Flask 
published: true
description: A curated list with ope-source REST Servers that use a unified API interface across multiple frameworks: Django, Flask, Node JS.
tags: webdev, fullstack, api, rest
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fzwa43jum1vmnrdtzhm6.png
canonical_url: https://blog.appseed.us/api-servers-flask-django-fastapi-node-js/
---
Hello Coders!

This article presents a collection with simple REST Servers built with a unified API definition across multiple frameworks: Django, Node JS/ Express, Flask, and FastAPI (coming soon). The good part is the usability of any of these servers with React and Vue UI Kits with less effort. 

> *Thanks for reading!* - Content provided by **[App Generator](https://appseed.us/)**.

---

- (free) [API Server Django](https://docs.appseed.us/boilerplate-code/api-server/django) - built with **Django REST Framework**
- (free) [API Server Flask](https://docs.appseed.us/boilerplate-code/api-server/flask) - the API uses **flask_restx** to manage nodes
- (free) [API Server NodeJS](https://docs.appseed.us/boilerplate-code/api-server/node-js) - built with Typescript/Express/TypeORM
- [API Node JS PRO](https://github.com/app-generator/api-server-nodejs-pro) - built with Typescript/MongoDB/Mongoose

---

> **React products** enhanced with JWT authentication compatible with mentioned API Servers:

- [React Berry Dashboard](https://github.com/app-generator/react-berry-admin-template) - open-source sample
- [React Datta Dashboard](https://github.com/app-generator/react-datta-able-dashboard) - open-source sample
- [React Datta PRO](https://appseed.us/product/react-node-js-datta-able-pro) - commercial fullstack React dashboard

---

![React Datta PRO - Fullstack React Dashboard.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/utbaynmzqri9rt32x3fx.png)

---

## Why Using a [Unified API Interface](https://docs.appseed.us/boilerplate-code/api-server/api-unified-definition)

A while ago, based on our community feedback, we decided to implement a unified API definition across all supported servers (Flask, Django, Node JS) and let users decide the preferred backend framework without changing the UI once a backend migration occurs from Flask to Django or from Django to Node JS for instance. Using a common definition, basically all frontend products, despite the technology,  can be used without extra efforts with currently provided backends and stay compliant with the future ones: FastAPI, Koa, etc.

The current definition covers only a simple JWT authentication that manages users via the following methods:

- `/api/users/register`: create a new user
- `/api/users/login`: authenticate an existing user
- `/api/users/logout`: delete the associated JWT token
- `/api/users/checkSession`: check an existing JWT Token for validity
- `/api/users/edit` - edit the information associated with a registered user

All provided methods use a simple I/O interface and intuitive, beginner-friendly structures.

---

> **API Register** I/O Sample

```json
POST api/users/register
Content-Type: application/json

{
    "username":"test",
    "password":"pass", 
    "email":"test@appseed.us"
}
```

---

> **API Login** I/O Sample

```json
POST /api/users/login
Content-Type: application/json

{
    "password":"pass", 
    "email":"test@appseed.us"
}
```

For more information related to this concept, feel free to access the official documentation: [API Unified Definition](https://docs.appseed.us/boilerplate-code/api-server/api-unified-definition).

Now, back to our API servers, the next sections will present each server starting with the open-source ones.

---

## API Server Django

Simple starter built with Python / Django Rest / Sqlite3 and JWT Auth. The authentication flow is based on json web tokens. The product comes with a simple, intuitive codebase, DRF integration, SQLite for persistence JWT Authentication API, Docker, and unitary tests.

- [API Server Django](https://docs.appseed.us/boilerplate-code/api-server/django) - official documentation
- [API Server Django](https://github.com/app-generator/api-server-django) - source code (MIT License)

---

![API Server Django - Free REST server provided by AppSeed.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/opkmnxacxyl0gk7o2ded.jpg)

---

## API Server Flask

Simple Flask API Starter with JWT authentication, and SQLite persistence that provides "out-of-the-box" all the ready-to-use bare minimum essentials - Built on top of **flask_rextx** and **flask_jwt_extended** libraries.

- [API Server Flask](https://docs.appseed.us/boilerplate-code/api-server/flask) - official documentation
- [API Server Flask](https://github.com/app-generator/api-server-flask) - source code (MIT License)

---

![API Server Flask - Free REST server provided by AppSeed.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v81ieuxhxc62wvz6kj7z.jpg)

---

## API Server Node JS

Simple API server crafted in Node JS/Express/Typescript with SQLite for persistence and TypeORM as SQL interface. Authentication Flow uses json web tokens via Passport library - passport-jwt strategy.

- [API Server Node JS](https://docs.appseed.us/boilerplate-code/api-server/node-js) - official documentation
- [Nodejs API Server](https://github.com/app-generator/api-server-nodejs) - source code (MIT License)

---

![API Server Node JS - Free REST server provided by AppSeed.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iz2wjyaosas677e3w14e.png)

---

## API Server Node JS PRO

This commercial product contains two branches: the first one uses SQLite and TypeORM as SQL interface and the second branch handles the persistence via MongoDB and Mongoose.

- [Nodejs API Server PRO](https://github.com/app-generator/api-server-nodejs-pro) - the Github repository (used for bug tracking) 

---

To make this article more useful, I will mention a few **React Products** already coded to handle the JWT Authentication provided by all mentioned servers. Let's go!

---

## React Dashboard Berry

Berry is a creative React Dashboard build using the Material-UI. It is meant to be the best User Experience with highly customizable feature-riched pages. It is a complete game-changer React Dashboard Template with an easy and intuitive responsive design as on retina screens or laptops. The product comes with a simple JWT authentication flow: login/register/logout.

- [React Node JS Berry](https://appseed.us/product/react-node-js-berry-dashboard) - product page
- [React Node JS Berry](https://react-node-js-berry-dashboard.appseed-srv1.com/) - LIVE Demo

---

![React Dashboard Berry - Open-source Fullstack dashboard.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lnqjmezi2zllugjm2nq7.png)

---


## React Dashboard Datta Able

Datta Able is an open-source React Dashboard that provides a colorful and modern design. Datta Able React Free is the most stylized React Free Admin Template, around all other admin templates in the market. It comes with high feature-rich pages and components with fully developer-centric code. The product comes with a simple JWT authentication flow: login/register/logout.

- [React Node JS Datta Able](https://appseed.us/product/react-node-js-datta-able) - product page
- [React Node JS Datta Able](https://react-node-js-datta-able.appseed-srv1.com/) - LIVE Demo

---

![React Dashboard Datta Able - Open-source Fullstack dashboard.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47lnudhqq5ugq9fqaozl.png) 

---

## React Datta Able PRO

Datta Able PRO is a premium React Dashboard that provides a colorful and modern design. Datta Able React PRO is the most stylized React Free Admin Template, around all other admin templates in the market. It comes with high feature-rich pages and components with fully developer-centric code. The product comes with a simple JWT authentication flow: login/register/logout.

- [React Nodejs Datta Able PRO](https://appseed.us/product/react-node-js-datta-able-pro) - product page
- [React Nodejs Datta Able PRO](https://react-node-js-datta-able-pro.appseed-srv1.com/) - LIVE Demo

---

![React Datta Able PRO - Fullstack dashboard (commercial product).](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/klap8m805j76z6v8lk82.png)

---
 
> **Thanks for reading!** For more resources or support please access:

- 👉 [AppSeed](https://appseed.us/) - for LIVE support via Discord (registered users)
- 👉 [Open-source Dashboards](https://appseed.us/admin-dashboards/open-source) - a curated list with free starters
- 👉 Free [React Dashboards](https://dev.to/sm0ke/react-dashboards-open-source-apps-1c7j) - a curated list published on Dev.to