/automatic-api

A list of software that turns your database into a REST/GraphQL API

Primary LanguageGo

The following is a list of tools that automatically expose a REST, GraphQL, or another kind of API for your database, as well as databases with a built-in HTTP API.

Project name/link Database(s) supported API type Implementation language License GitHub stats Notes
ArangoDB ArangoDB REST C++ Apache 2.0 6645 ★; 43790 commits, latest 2018-11-05 A database with a built-in REST API. Official Docker image.
CouchDB CouchDB REST Erlang Apache 2.0 3907 ★; 11333 commits, latest 2018-10-29 A database with a built-in REST API. Official Docker image.
Datasette SQLite 3 REST Python 3 Apache 2.0 2072 ★; 565 commits, latest 2018-11-05 Read-only. Official Docker image.
Dgraph Dgraph GraphQL+-, a GraphQL derivative Go Apache 2.0 6687 ★; 2687 commits, latest 2018-11-06 A database with a built-in GraphQL-like API. Official Docker image.
DreamFactory MySQL, PostgreSQL, SQLite, MongoDB, CouchDB, and others. REST PHP 5 Apache 2.0, proprietary (optional extras) 859 ★; 813 commits, latest 2018-09-19 Official Docker image.
Eve MongoDB; extensions for Elasticsearch, Neo4j, SQLAlchemy (SQL databases). REST Python 2/3 BSD (three-clause) 5316 ★; 2910 commits, latest 2018-10-11 The SQLAlchemy extension isn't automatic. It requires the user to write SQLAlchemy mappings.
Hasura GraphQL Engine PostgreSQL GraphQL Haskell GNU AGPLv3 4830 ★; 406 commits, latest 2018-11-04 Official Docker image.
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 247 ★; 129 commits, latest 2018-05-16 Can generate a GraphQL API from an existing database or derive a new database model from a GraphQL schema and auto-generate the resolvers.
OrientDB OrientDB REST Java Apache 2.0 3651 ★; 17526 commits, latest 2018-11-05 A database with a built-in REST API. Official Docker image.
PHP-CRUD-API MySQL, PostgreSQL, MS SQL Server. REST PHP 7 MIT 1763 ★; 1279 commits, latest 2018-11-04 Supports GIS + automatic OpenAPI 3.0 docs.
PostGraphile PostgreSQL GraphQL TypeScript (Node.js) MIT 6239 ★; 988 commits, latest 2018-11-02 Formerly "PostGraphQL", Official Docker image.
PostgREST PostgreSQL REST Haskell MIT 11464 ★; 1432 commits, latest 2018-10-21 Official Docker image.
pREST PostgreSQL REST Go MIT 1863 ★; 440 commits, latest 2018-09-04 Official Docker image.
RESTHeart MongoDB REST Java GNU AGPLv3 503 ★; 1540 commits, latest 2018-10-19 Official Docker image.
sandman2 All supported by SQLAlchemy (MySQL, PostgreSQL, SQLite, Oracle, MS SQL, and others). REST Python 2/3 Apache 2.0 844 ★; 142 commits, latest 2018-10-29
subZero PostgreSQL REST and GraphQL Haskell, Lua Proprietary n/a
tuql SQLite 3 or SQL infile GraphQL JavaScript (Node.js) MIT 281 ★; 52 commits, latest 2018-02-16
Webdis Redis REST C BSD (two-clause) 2059 ★; 399 commits, latest 2018-08-11 Supports pub/sub with chunked transfer encoding and WebSockets.
xmysql MySQL REST JavaScript (Node.js) MIT 3356 ★; 266 commits, latest 2018-09-28 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 34 ★; 283 commits, latest 2018-10-16 Read-only.

GitHub stats updated 2018-11-06. 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.