/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 9602 ★; 46388 commits, latest 2020-05-29 A database with a built-in REST API. Official Docker image.
CouchDB CouchDB REST Erlang Apache 2.0 4556 ★; 12323 commits, latest 2020-05-30 A database with a built-in REST API. Official Docker image.
Datasette SQLite 3 REST Python 3 Apache 2.0 3462 ★; 1040 commits, latest 2020-06-01 Read-only. Official Docker image.
Dgraph Dgraph GraphQL (since version 2.0.0-rc1) Go Apache 2.0 13279 ★; 4486 commits, latest 2020-06-01 A database with a built-in GraphQL API. Official Docker image.
DreamFactory MySQL, PostgreSQL, SQLite, MongoDB, CouchDB, and others. REST PHP 5 Apache 2.0, proprietary (optional extras) 1078 ★; 948 commits, latest 2020-05-18 Official Docker image.
Eve MongoDB; extensions for Elasticsearch, Neo4j, SQLAlchemy (SQL databases). REST Python 2/3 BSD (three-clause) 6105 ★; 3228 commits, latest 2020-05-16 The SQLAlchemy extension isn't automatic. It requires the user to write SQLAlchemy mappings.
Hasura GraphQL Engine PostgreSQL GraphQL Haskell GNU AGPLv3 16967 ★; 1845 commits, latest 2020-05-29 Official Docker image.
HTSQL MySQL, PostgreSQL, SQLite (free); Oracle, MS SQL (proprietary) REST Python 3 Apache 2.0, proprietary (Oracle and MS SQL support) 3 ★; 1234 commits, latest 2020-03-16
neo4j-graphql Neo4j GraphQL Kotlin Apache 2.0 402 ★; 163 commits, latest 2020-03-18 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 4150 ★; 19352 commits, latest 2020-05-30 A database with a built-in REST API. Official Docker image.
PHP-CRUD-API MySQL, PostgreSQL, MS SQL Server. REST PHP 7 MIT 2436 ★; 1732 commits, latest 2020-05-26 Supports GIS + automatic OpenAPI 3.0 docs.
PostGraphile PostgreSQL GraphQL TypeScript (Node.js) MIT 8967 ★; 1210 commits, latest 2020-05-12 Formerly "PostGraphQL", Official Docker image.
PostgREST PostgreSQL REST Haskell MIT 14458 ★; 1653 commits, latest 2020-05-28 Official Docker image.
pREST PostgreSQL REST Go MIT 2288 ★; 443 commits, latest 2020-04-16 Official Docker image.
pRESTige MySQL REST PHP MIT 49 ★; 1027 commits, latest 2020-04-29
RESTHeart MongoDB REST Java GNU AGPLv3 602 ★; 3025 commits, latest 2020-05-28 Official Docker image.
sandman2 All supported by SQLAlchemy (MySQL, PostgreSQL, SQLite, Oracle, MS SQL, and others). REST Python 2/3 Apache 2.0 1501 ★; 224 commits, latest 2020-05-19 Official Docker image.
subZero PostgreSQL REST and GraphQL Haskell, Lua Proprietary n/a
tuql SQLite 3 or SQL infile GraphQL JavaScript (Node.js) MIT 460 ★; 67 commits, latest 2019-09-14
Webdis Redis REST C BSD (two-clause) 2254 ★; 439 commits, latest 2020-06-01 Supports pub/sub with chunked transfer encoding and WebSockets.
xmysql MySQL REST JavaScript (Node.js) MIT 4085 ★; 288 commits, latest 2020-03-26 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 47 ★; 283 commits, latest 2018-10-16 Read-only.

GitHub stats updated 2020-06-01. 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.