Need help with reindex-api?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

350 Stars 41 Forks MIT License 560 Commits 0 Opened issues


GraphQL backend as a service

Services available


Need anything else?

Contributors list

# 5,718
202 commits
# 678
React N...
129 commits


Note: This project is no longer maintained. The source code is released under the license specified in file LICENSE.

Circle CI

reindex-api is a multi-tenant, hosted GraphQL database solution. reindex-api converts a JSON based schema into a GraphQL API in addition to creating a database storage (MongoDB or RethinkDB) underneath. GraphQL API is fully Relay compatible and contains CRUD operations as entry points. Input is Relay-aware and declarative. Additionally, reindex-api provides Social Login with 5 providers (Auth0, Facebook, Google, Twitter and Github). Functionality of reindex-api can be extended by configuring hooks that call external web services. It also provides a rich permission system based on defining graph paths to the user type.

reindex-api was designed with scalability in mind, but so far doesn't have many possible performance improving tools, like e.g. cache or query optimizations.


  • schema creator - gets list of types and creates db independent GraphQL API
  • database connector - abstracts out RethinkDB and MongoDB specifics
  • database migration tool - abstracts out changes to the database after schema is updated
  • permission checker - checks permissions based on graph path traversal
  • multi-tenancy module - gets the api of correct user and manages apps
  • social login - manages third-party auth service integration
  • http server - manages request and JWT request authentication


  • Install MongoDB and optionally RethinkDB
  • Install dependencies
  npm install
  • Run tests
  npm test
  • Create admin app
  npm run create-admin-app
  • Create a test app (
  npm run create-app
  • Run server
  npm start
  • You can login into GraphiQL by passing the admin token in the
    query string argument:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.