The following is a list of open source tools that automatically expose a REST, GraphQL, or another kind of API for your database.
Project name/link | Database(s) supported | API type | Implementation language | License | GitHub stats | Notes |
---|---|---|---|---|---|---|
ArangoDB | ArangoDB | REST | C++ | Apache 2.0 | 4819 ★; 41637 commits, latest 2017-12-28 | A database with a built-in REST API. Official Docker image. |
CouchDB | CouchDB | REST | Erlang | Apache 2.0 | 3384 ★; 10943 commits, latest 2017-12-21 | A database with a built-in REST API. Official Docker image. |
Datasette | SQLite 3 | REST | Python 3 | Apache 2.0 | 1110 ★; 253 commits, latest 2017-12-15 | Read-only. Official Docker image. |
DreamFactory | MySQL, PostgreSQL, SQLite, MongoDB, CouchDB, and others. | REST | PHP 5 | Apache 2.0, proprietary (optional extras) | 742 ★; 760 commits, latest 2017-11-16 | Official Docker image. |
Eve | MongoDB; extensions for Elasticsearch, Neo4j, SQLAlchemy (SQL databases). | REST | Python 2/3 | BSD (three-clause) | 4650 ★; 2706 commits, latest 2017-12-06 | The SQLAlchemy extension isn't automatic. It requires the user to write SQLAlchemy mappings. |
HTSQL | MySQL, PostgreSQL, SQLite (free); Oracle, MS SQL (proprietary) | REST | Python 2 | GNU AGPLv3, proprietary (Oracle and MS SQL support) | n/a | |
neo4j-graphql | Neo4j | GraphQL | Kotlin | Apache 2.0 | 150 ★; 108 commits, latest 2017-09-23 | Can generate a GraphQL API from an existing database or derive a new database model from a GraphQL schema and auto-generate the resolvers. |
PHP-CRUD-API | MySQL, PostgreSQL, MS SQL Server 2012. Limited support for SQLite 3. | REST | PHP 5 | MIT | 1241 ★; 1004 commits, latest 2017-11-19 | |
PostGraphQL | PostgreSQL | GraphQL | TypeScript (Node.js) | MIT | 4651 ★; 666 commits, latest 2017-12-25 | Official Docker image. |
PostgREST | PostgreSQL | REST | Haskell | MIT | 10114 ★; 1351 commits, latest 2017-12-12 | Official Docker image. |
pREST | PostgreSQL | REST | Go | MIT | 1583 ★; 400 commits, latest 2017-12-20 | Official Docker image. |
RESTHeart | MongoDB | REST | Java | GNU AGPLv3 | 414 ★; 1333 commits, latest 2017-12-17 | Official Docker image. |
sandman2 | All supported by SQLAlchemy (MySQL, PostgreSQL, SQLite, Oracle, MS SQL, and others). | REST | Python 2/3 | Apache 2.0 | 668 ★; 129 commits, latest 2017-03-06 | |
tuql | SQLite 3 | GraphQL | JavaScript (Node.js) | MIT | 204 ★; 34 commits, latest 2017-11-22 | Read-only. |
xmysql | MySQL | REST | JavaScript (Node.js) | MIT | 1701 ★; 205 commits, latest 2017-12-07 | Official Docker image. |
ZenQuery | PostgreSQL, MySQL, IBM Db2, Oracle Database, Microsoft SQL Server and others | REST | Java (JavaScript for the front-end) | Apache 2.0 | 30 ★; 282 commits, latest 2017-01-31 | Read-only. |
GitHub stats updated 2017-12-28. The commit count and the latest commit date are for the default branch (usually master
).
Related projects
For projects that depend on or enhance those on the list see the Related projects wiki page. Feel free to add yours.
Contributing
Your contributions are welcome! Please submit a pull request or create an issue to add a new project to the list or to update an existing one. See CONTRIBUTING for the details.
License
This document and the data in data/
are licensed under the Creative Commons Attribution 4.0 International License. By contributing you agree to release your contribution under this license.