/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
Apinizer API Creator Oracle, MySQL, PostgreSQL, MsSQL, IBM DB2, SAP Sybase ASE, Apache Impala, Apache Hive REST Java Proprietary (SaaS) n/a Generates OpenAPI Specifications.
ArangoDB ArangoDB REST C++ Apache 2.0 11497 ★; 47767 commits, latest 2021-08-13 A database with a built-in REST API. Official Docker image.
CouchDB CouchDB REST Erlang Apache 2.0 5027 ★; 13129 commits, latest 2021-06-23 A database with a built-in REST API. Official Docker image.
Crux Crux REST Clojure MIT 1435 ★; 6832 commits, latest 2021-08-11 A database with a built-in REST API. Official Docker image.
Datasette SQLite 3 REST Python 3 Apache 2.0 5327 ★; 1739 commits, latest 2021-08-13 Read-only. Official Docker image.
Dgraph Dgraph GraphQL (since version 2.0.0-rc1) Go Apache 2.0 16473 ★; 5730 commits, latest 2021-08-12 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) 1178 ★; 980 commits, latest 2021-06-15 Official Docker image.
EJDB2 EJDB2 REST C MIT 1229 ★; 2512 commits, latest 2021-08-12 A database with a built-in REST API. Official Docker image.
Eve MongoDB; extensions for Elasticsearch, Neo4j, SQLAlchemy (SQL databases). REST Python 2/3 BSD (three-clause) 6370 ★; 3303 commits, latest 2021-03-14 The SQLAlchemy extension isn't automatic. It requires the user to write SQLAlchemy mappings.
Hasura GraphQL Engine PostgreSQL GraphQL Haskell Apache 2.0 23786 ★; 3331 commits, latest 2021-08-13 Official Docker image.
HTSQL MySQL, PostgreSQL, SQLite (free); Oracle, MS SQL (proprietary) REST Python 3 Apache 2.0, proprietary (Oracle and MS SQL support) 8 ★; 1235 commits, latest 2020-08-11
neo4j-graphql Neo4j GraphQL Kotlin Apache 2.0 439 ★; 164 commits, latest 2020-10-22 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 4334 ★; 20555 commits, latest 2021-08-13 A database with a built-in REST API. Official Docker image.
PHP-CRUD-API MySQL, PostgreSQL, MS SQL Server. REST PHP 7 MIT 2804 ★; 1922 commits, latest 2021-06-28 Supports GIS + automatic OpenAPI 3.0 docs.
PostGraphile PostgreSQL GraphQL TypeScript (Node.js) MIT 10561 ★; 1308 commits, latest 2021-08-12 Formerly "PostGraphQL", Official Docker image.
PostgREST PostgreSQL REST Haskell MIT 17432 ★; 1907 commits, latest 2021-04-25 Official Docker image.
pREST PostgreSQL REST Go MIT 2766 ★; 1343 commits, latest 2021-08-12 Official Docker image.
pRESTige MySQL REST PHP MIT 66 ★; 1076 commits, latest 2020-10-30
RESTHeart MongoDB REST Java GNU AGPLv3 683 ★; 3531 commits, latest 2021-08-13 Official Docker image.
restSQL MySQL, PostgreSQL REST Java MIT 126 ★; 54 commits, latest 2018-10-18 Official Docker image.
sandman2 All supported by SQLAlchemy (MySQL, PostgreSQL, SQLite, Oracle, MS SQL, and others). REST Python 2/3 Apache 2.0 1726 ★; 250 commits, latest 2020-12-21 Official Docker image.
Siodb Siodb REST C++, Go GNU AGPLv3 36 ★; 250 commits, latest 2021-08-12 A database with a built-in REST API. Official Docker image.
subZero PostgreSQL REST and GraphQL Haskell, Lua Proprietary n/a
tuql SQLite 3 or SQL infile GraphQL JavaScript (Node.js) MIT 559 ★; 72 commits, latest 2021-06-06
Webdis Redis REST C BSD (two-clause) 2417 ★; 567 commits, latest 2021-08-05 Supports pub/sub with chunked transfer encoding and WebSockets.
XgeneCloud MySQL, PostgreSQL, MS SQL, SQLite, MariaDB, Amazon Aurora REST and GraphQL JavaScript (Node.js) Apache 2.0 1540 ★; 66 commits, latest 2021-05-16
xmysql MySQL REST JavaScript (Node.js) MIT 30 ★; 3 commits, latest 2021-05-27 Official Docker image.
ZenQuery PostgreSQL, MySQL, IBM Db2, Oracle Database, Microsoft SQL Server and others REST Java Apache 2.0 56 ★; 283 commits, latest 2018-10-16 Read-only.

GitHub stats updated 2021-08-15. 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.