Home

Awesome

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.

<table> <tr> <th>Project name/link</th> <th>Database(s) supported</th> <th>API type</th> <th>Implementation language</th> <th>License</th> <th>GitHub stats</th> <th>Notes</th> </tr> <tr> <td><a href="https://www.apinizer.com/products/api-creator/">Apinizer API Creator</a></td> <td>Oracle, MySQL, PostgreSQL, MsSQL, IBM DB2, SAP Sybase ASE, Apache Impala, Apache Hive</td> <td>REST</td> <td>Java</td> <td>Proprietary (SaaS)</td> <td>n/a</td> <td>Generates OpenAPI Specifications.</td> </tr> <tr> <td><a href="https://github.com/arangodb/arangodb">ArangoDB</a></td> <td>ArangoDB</td> <td>REST</td> <td>C++</td> <td>Apache-2.0</td> <td>13479 ★; 51562 commits, latest 2024-08-30</td> <td>A database with a built-in REST API. <a href="https://hub.docker.com/r/arangodb/arangodb/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/apache/couchdb">CouchDB</a></td> <td>CouchDB</td> <td>REST</td> <td>Erlang</td> <td>Apache-2.0</td> <td>6156 ★; 13703 commits, latest 2024-08-18</td> <td>A database with a built-in REST API. <a href="https://hub.docker.com/r/_/couchdb/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/simonw/datasette">Datasette</a></td> <td>SQLite 3</td> <td>REST</td> <td>Python 3</td> <td>Apache-2.0</td> <td>9218 ★; 2648 commits, latest 2024-08-22</td> <td>Read-only. <a href="https://hub.docker.com/r/terranodo/datasette/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/kdhrubo/db2rest">DB2Rest</a></td> <td>PostgreSQL, MySQL, MariaDB, Oracle, CockroachDB</td> <td>REST</td> <td>Java</td> <td>Apache-2.0</td> <td>157 ★; 974 commits, latest 2024-08-30</td> <td><a href="https://hub.docker.com/r/kdhrubo/db2rest/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/dgraph-io/dgraph">Dgraph</a></td> <td>Dgraph</td> <td>GraphQL (since version 2.0.0-rc1)</td> <td>Go</td> <td>Apache-2.0</td> <td>20288 ★; 6168 commits, latest 2024-08-28</td> <td>A database with a built-in GraphQL API. <a href="https://hub.docker.com/r/dgraph/dgraph/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/directus/directus">Directus</a></td> <td>PostgreSQL, MySQL, SQLite, OracleDB, CockroachDB, MariaDB, MS SQL</td> <td>REST and GraphQL</td> <td>TypeScript</td> <td>Propretary (BUSL-1.1), GPL-3.0 (after three years)</td> <td>26966 ★; 12205 commits, latest 2024-08-30</td> <td><a href="https://hub.docker.com/r/directus/directus">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/dreamfactorysoftware/dreamfactory">DreamFactory</a></td> <td>MySQL, PostgreSQL, SQLite, MongoDB, CouchDB, and <a href="https://www.dreamfactory.com/products">others</a>.</td> <td>REST</td> <td>PHP 5</td> <td>Apache-2.0, proprietary (optional extras)</td> <td>1529 ★; 1140 commits, latest 2024-05-16</td> <td><a href="https://hub.docker.com/r/dreamfactorysoftware/df-docker/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/Softmotions/ejdb">EJDB2</a></td> <td>EJDB2</td> <td>REST</td> <td>C</td> <td>MIT</td> <td>1441 ★; 2833 commits, latest 2024-08-30</td> <td>A database with a built-in REST API. <a href="https://github.com/Softmotions/ejdb">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/pyeve/eve">Eve</a></td> <td>MongoDB; extensions for Elasticsearch, Neo4j, SQLAlchemy (SQL databases).</td> <td>REST</td> <td>Python 2/3</td> <td>BSD-3-Clause</td> <td>6681 ★; 3401 commits, latest 2024-08-30</td> <td>The SQLAlchemy extension isn't automatic. It requires the user to write SQLAlchemy mappings.</td> </tr> <tr> <td><a href="https://github.com/dosco/graphjin">GraphJin Service</a></td> <td>PostgreSQL, MySQL, Yugabyte</td> <td>GraphQL</td> <td>Go</td> <td>Apache-2.0</td> <td>2904 ★; 928 commits, latest 2024-07-13</td> <td><a href="https://graphjin.com/posts/service">Using GraphJin as a standlone service</a>. <a href="https://hub.docker.com/r/dosco/graphjin/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/ardatan/graphql-mesh">GraphQL Mesh</a></td> <td>PostgreSQL (PostGraphile), MongoDB (graphql-compose-mongoose), SQLite 3 (tuql), Neo4j (Neo4j GraphQL Library), MySQL</td> <td>GraphQL</td> <td>TypeScript (Node.js)</td> <td>MIT</td> <td>3245 ★; 7382 commits, latest 2024-08-29</td> <td>Provides a common GraphQL gateway for different APIs and databases.</td> </tr> <tr> <td><a href="https://github.com/hasura/graphql-engine">Hasura GraphQL Engine</a></td> <td>PostgreSQL</td> <td>GraphQL</td> <td>Haskell</td> <td>Apache-2.0</td> <td>31021 ★; 8729 commits, latest 2024-08-30</td> <td><a href="https://hub.docker.com/r/hasura/graphql-engine/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/prometheusresearch/htsql">HTSQL</a></td> <td>MySQL, PostgreSQL, SQLite (free); Oracle, MS SQL (proprietary)</td> <td>REST</td> <td>Python 3</td> <td>Apache-2.0, proprietary (Oracle and MS SQL support)</td> <td>22 ★; 1235 commits, latest 2020-08-11</td> <td></td> </tr> <tr> <td><a href="https://github.com/influxdata/influxdb">InfluxDB</a></td> <td>InfluxDB</td> <td>REST</td> <td>Go</td> <td>MIT</td> <td>28521 ★; 49304 commits, latest 2024-08-27</td> <td>A timeseries database with a built-in REST API. <a href="https://hub.docker.com/_/influxdb">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/neo4j-graphql/neo4j-graphql">neo4j-graphql</a></td> <td>Neo4j</td> <td>GraphQL</td> <td>Kotlin</td> <td>Apache-2.0</td> <td>450 ★; 164 commits, latest 2020-10-22</td> <td>Can generate a GraphQL API from an existing database or derive a new database model from a GraphQL schema and auto-generate the resolvers.</td> </tr> <tr> <td><a href="https://github.com/nocodb/nocodb">NocoDB</a></td> <td>MySQL, PostgreSQL, SQL Server, SQLite</td> <td>REST</td> <td>JavaScript (Node.js)</td> <td>MIT</td> <td>45812 ★; 23976 commits, latest 2024-08-30</td> <td><a href="https://hub.docker.com/r/markuman/xmysql/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/orientechnologies/orientdb">OrientDB</a></td> <td>OrientDB</td> <td>REST</td> <td>Java</td> <td>Apache-2.0</td> <td>4728 ★; 23222 commits, latest 2024-08-28</td> <td>A database with a built-in REST API. <a href="https://store.docker.com/images/orientdb">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/mevdschee/php-crud-api">PHP-CRUD-API</a></td> <td>MySQL, PostgreSQL, MS SQL Server.</td> <td>REST</td> <td>PHP 7</td> <td>MIT</td> <td>3575 ★; 2142 commits, latest 2024-07-29</td> <td>Supports GIS + automatic OpenAPI 3.0 docs.</td> </tr> <tr> <td><a href="https://github.com/graphile/postgraphile">PostGraphile</a></td> <td>PostgreSQL</td> <td>GraphQL</td> <td>TypeScript (Node.js)</td> <td>MIT</td> <td>12541 ★; 10811 commits, latest 2024-08-16</td> <td>Formerly &quot;PostGraphQL&quot;. <a href="https://hub.docker.com/r/postgraphql/postgraphql/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/PostgREST/postgrest">PostgREST</a></td> <td>PostgreSQL</td> <td>REST</td> <td>Haskell</td> <td>MIT</td> <td>23079 ★; 3787 commits, latest 2024-08-23</td> <td><a href="https://hub.docker.com/r/postgrest/postgrest/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/prest/prest">pREST</a></td> <td>PostgreSQL</td> <td>REST</td> <td>Go</td> <td>MIT</td> <td>4188 ★; 1993 commits, latest 2024-08-30</td> <td><a href="https://hub.docker.com/r/prest/prest/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/geekypedia/pRESTige">pRESTige</a></td> <td>MySQL</td> <td>REST</td> <td>PHP</td> <td>MIT</td> <td>108 ★; 1089 commits, latest 2024-05-31</td> <td></td> </tr> <tr> <td><a href="https://github.com/SoftInstigate/restheart">RESTHeart</a></td> <td>MongoDB</td> <td>REST</td> <td>Java</td> <td>AGPL-3.0</td> <td>799 ★; 4569 commits, latest 2024-08-30</td> <td><a href="https://hub.docker.com/r/softinstigate/restheart/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/restsql/restsql">restSQL</a></td> <td>MySQL, PostgreSQL</td> <td>REST</td> <td>Java</td> <td>MIT</td> <td>144 ★; 54 commits, latest 2018-10-18</td> <td><a href="https://hub.docker.com/r/restsql/service/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/jeffknupp/sandman2">sandman2</a></td> <td>All supported by SQLAlchemy (MySQL, PostgreSQL, SQLite, Oracle, MS SQL, and others).</td> <td>REST</td> <td>Python 2/3</td> <td>Apache-2.0</td> <td>1997 ★; 250 commits, latest 2020-12-21</td> <td><a href="https://hub.docker.com/r/jeffknupp/sandman2/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/DEAL-US/Silence">Silence</a></td> <td>MySQL, MariaDB</td> <td>REST</td> <td>Python 3</td> <td>MIT</td> <td>14 ★; 445 commits, latest 2024-02-14</td> <td>Automatically generates REST endpoints to do CRUD operations against the database, test studs, and JS files to access the API.</td> </tr> <tr> <td><a href="https://github.com/siodb/siodb">Siodb</a></td> <td>Siodb</td> <td>REST</td> <td>C++, Go</td> <td>AGPL-3.0</td> <td>45 ★; 278 commits, latest 2023-02-18</td> <td>A database with a built-in REST API. <a href="https://hub.docker.com/r/siodb/siodb/">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/thevahidal/soul">Soul</a></td> <td>SQLite 3</td> <td>REST</td> <td>JavaScript (Node.js)</td> <td>MIT</td> <td>1480 ★; 362 commits, latest 2024-06-19</td> <td>A RESTful SQLite server.</td> </tr> <tr> <td><a href="https://subzero.cloud">subZero</a></td> <td>PostgreSQL</td> <td>REST and GraphQL</td> <td>Haskell, Lua</td> <td>Proprietary</td> <td>n/a</td> <td></td> </tr> <tr> <td><a href="https://github.com/supabase/supabase">Supabase</a></td> <td>PostgreSQL</td> <td>REST and GraphQL</td> <td>TypeScript, Elixir (Realtime), Rust (pg_graphql), Go (GoTrue)</td> <td>Apache-2.0</td> <td>71011 ★; 28990 commits, latest 2024-08-30</td> <td>Uses PostgREST. <a href="https://supabase.com/docs/guides/self-hosting/docker">Guide to self-Hosting with Docker</a>.</td> </tr> <tr> <td><a href="https://github.com/bradleyboy/tuql">tuql</a></td> <td>SQLite 3 or SQL infile</td> <td>GraphQL</td> <td>JavaScript (Node.js)</td> <td>MIT</td> <td>1049 ★; 72 commits, latest 2021-06-06</td> <td></td> </tr> <tr> <td><a href="https://github.com/nicolasff/webdis">Webdis</a></td> <td>Redis</td> <td>REST</td> <td>C</td> <td>BSD-2-Clause</td> <td>2833 ★; 659 commits, latest 2024-05-20</td> <td>Supports pub/sub with chunked transfer encoding and WebSockets.</td> </tr> <tr> <td><a href="https://github.com/wundergraph/wundergraph">WunderGraph</a></td> <td>PostgreSQL, MySQL, SQLite, SQL Server, MongoDB + Atlas, PlanetScale, YugabyteDB, Neon.tech, FaunaDB</td> <td>GraphQL</td> <td>TypeScript, Go</td> <td>Apache-2.0</td> <td>2234 ★; 1919 commits, latest 2024-05-21</td> <td><a href="https://docs.wundergraph.com/">WunderGraph Docs</a>.</td> </tr> <tr> <td><a href="https://github.com/xtdb/xtdb">XTDB</a></td> <td>XTDB</td> <td>REST</td> <td>Clojure</td> <td>MIT</td> <td>2523 ★; 5736 commits, latest 2024-08-30</td> <td>A database with a built-in REST API. <a href="https://hub.docker.com/r/juxt/xtdb-standalone-rocksdb">Official Docker image</a>.</td> </tr> <tr> <td><a href="https://github.com/BjoernKW/ZenQuery">ZenQuery</a></td> <td>PostgreSQL, MySQL, IBM Db2, Oracle Database, Microsoft SQL Server and <a href="https://github.com/BjoernKW/ZenQuery#database">others</a></td> <td>REST</td> <td>Java</td> <td>Apache-2.0</td> <td>67 ★; 283 commits, latest 2018-10-16</td> <td>Read-only.</td> </tr> </table>

GitHub stats updated 2024-08-31. The commit count and the latest commit date are for the default branch.

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.