The following is a list of 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 | 4808 ★; 41636 commits, latest 2017-12-27 | A database with a built-in REST API. |
CouchDB | CouchDB | REST | Erlang | Apache 2.0 | 3380 ★; 10943 commits, latest 2017-12-21 | A database with a built-in REST API. |
Datasette | SQLite 3 | REST | Python 3 | Apache 2.0 | 1108 ★; 253 commits, latest 2017-12-15 | Read-only. |
DreamFactory | MySQL, PostgreSQL, SQLite, MongoDB, CouchDB, and others. | REST | PHP 5 | Apache 2.0, proprietary (optional extras) | 739 ★; 760 commits, latest 2017-11-16 | |
Eve | MongoDB; extensions for Elasticsearch, Neo4j, SQLAlchemy (SQL databases). | REST | Python 2/3 | BSD (three-clause) | 4646 ★; 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 | 148 ★; 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 | 1238 ★; 1004 commits, latest 2017-11-19 | |
PostGraphQL | PostgreSQL | GraphQL | TypeScript (Node.js) | MIT | 4637 ★; 666 commits, latest 2017-12-25 | |
PostgREST | PostgreSQL | REST | Haskell | MIT | 10109 ★; 1351 commits, latest 2017-12-12 | |
pREST | PostgreSQL | REST | Go | MIT | 1580 ★; 400 commits, latest 2017-12-20 | |
RESTHeart | MongoDB | REST | Java | GNU AGPLv3 | 411 ★; 1333 commits, latest 2017-12-17 | |
sandman2 | All supported by SQLAlchemy (MySQL, PostgreSQL, SQLite, Oracle, MS SQL, and others). | REST | Python 2/3 | Apache 2.0 | 665 ★; 129 commits, latest 2017-03-06 | |
tuql | SQLite 3 | GraphQL | JavaScript (Node.js) | MIT | 201 ★; 34 commits, latest 2017-11-22 | Read-only. |
xmysql | MySQL | REST | JavaScript (Node.js) | MIT | 1696 ★; 205 commits, latest 2017-12-07 | |
ZenQuery | PostgreSQL, MySQL, IBM Db2, Oracle Database, Microsoft SQL Server and others | REST | Java (JavaScript for the front-end) | Apache 2.0 | 28 ★; 282 commits, latest 2017-01-31 | Read-only. |
GitHub stats updated 2017-12-27. The commit count and the latest commit date are for the default branch (usually master
).
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.