# API Maker > The framework for AI era. API Maker connects to your databases and gives every table secure REST APIs at once. You add your own logic in TypeScript: custom APIs, pre and post hooks, schedulers and events. Caching, access control, logging, monitoring and Git deployment are built in, all run from one admin panel on your own servers. - Databases: MongoDB, MySQL, MariaDB, PostgreSQL, SQL Server, Oracle, TiDB and Percona XtraDB. - Generated APIs: 17 per MongoDB collection and 14 per SQL table under /api/gen, and the same again under /api/schema for tables with a schema. Every API needs a token unless you make it public. - Install: on a blank Ubuntu VPS with the install script, from npm (@sava-info-systems/api-maker), or on your computer with the API Maker Local Run desktop app for macOS, Windows and Linux (https://apimaker.dev/download). - Documentation: https://docs.apimaker.dev - Made by SAVA Info Systems. Contact: contact@apimaker.dev The full text of every feature page and deployment architecture, in one file: https://apimaker.dev/llms-full.txt ## Features: Database APIs Your tables become secure REST APIs, across 8 databases. - [Auto Generated APIs](https://apimaker.dev/auto-generated-apis-from-database): Connect a database and every table gets REST APIs: CRUD, queries, counts, distinct values and streams. - [Schema & Validation](https://apimaker.dev/schema-validation): Types, conversions, defaults, validations, unique keys, generated ids and field encryption on every write. - [Deep Populate](https://apimaker.dev/deep-populate): Replace ids with their related rows, from any of your databases, with one query per level. - [Find and Join](https://apimaker.dev/find-and-join): Filter on fields of related tables, even in other databases, in one request. - [Master Save](https://apimaker.dev/master-save): Save a tree of related objects to several tables and databases in one call. A failure reverts it. - [Multi-Tenant](https://apimaker.dev/multi-tenant): One set of APIs, a separate database for every customer, picked on each request. - [JSON, XML & YAML Output](https://apimaker.dev/get-output): Choose the response format, the case of the keys and flat objects with a header. ## Features: Your code Business logic in TypeScript, where your data is. - [Custom APIs](https://apimaker.dev/custom-api): Write a TypeScript function, save it, and the API is live. - [Pre & Post Hooks](https://apimaker.dev/hooks): Run your code before and after any API, to check, change or stop a request. - [Utility Classes & Initializers](https://apimaker.dev/utility-classes): Share code between all your APIs, and run setup code when a sandbox starts. - [System APIs](https://apimaker.dev/inbuilt-system): Ready APIs for encryption, hashing, secrets, Redis, cache resets, validation, tokens and events. - [Schedulers](https://apimaker.dev/schedule): Run code on intervals or cron expressions, once per cluster, with failover. - [Events & Listeners](https://apimaker.dev/events-management): Run TypeScript listeners after API calls, or emit events from any code, with loops stopped for you. - [WebSockets](https://apimaker.dev/websockets): Push live updates to web and mobile apps: subscribe to APIs, tables and your own events, with a condition. - [Internationalization](https://apimaker.dev/internationalization): Error messages in the language of each caller, from your own language packs. ## Features: Security Who can call what, which fields they see, and where secrets live. - [Access Management](https://apimaker.dev/access-management): Groups decide which APIs, tables and fields each user can read or write. - [APIs Security Report & Actions](https://apimaker.dev/api-security-report): Find where a person can read rows that are not theirs, and fix it in one click. The report stays in git. - [Single Sign-On](https://apimaker.dev/single-sign): Accept Google, Azure AD and AWS Cognito tokens, mapped to your own groups. - [Secrets Management](https://apimaker.dev/secrets-management): Keys and connection strings in encrypted secrets, one per environment. - [Secure Sandbox](https://apimaker.dev/secure-sandbox): Your code runs in Docker containers, apart from API Maker, with time limits. - [Security Features](https://apimaker.dev/security): Encrypted payloads, allowed origins, two-factor sign-in for the admin panel and package audits. ## Features: Performance Fast answers on small servers. - [Automatic Caching](https://apimaker.dev/automatic-caching): Redis caching you switch on per table or API, reset by writes through API Maker. No caching code. - [Low Memory Footprint](https://apimaker.dev/low-memory-footprint): Lazy drivers, streams and bounded queues keep memory low. Runs on 1 GB of RAM. ## Features: Team & delivery Work together, test, review and deploy with Git. - [Git Deployment](https://apimaker.dev/git-deployment): Work on branches from API Maker, review pull requests, deploy with a Git pull. - [Developer Accounts](https://apimaker.dev/developer-accounts): A workspace per developer on one server, with their own databases and secrets. - [Database Migrations](https://apimaker.dev/database-migrations): TypeScript scripts that run once, in order, when a deployment brings them. - [Testing Framework](https://apimaker.dev/inbuilt-testing): Test cases with mocks for your business logic, run in the sandbox. - [Developer Tools](https://apimaker.dev/developer-tools): Swagger per API user, TypeScript interfaces, code snippets, a debugger and code search. ## Features: Operations See every call and the health of every server. - [API Logging](https://apimaker.dev/logging-api): Choose what is logged, search every call and export CSV or JSON. - [Monitoring](https://apimaker.dev/monitoring): Calls, errors and p95 per API and server, health alerts and dashboards. ## Features: Extensions Part of API Maker + Extensions, installed with a license key. - [Index Maker](https://apimaker.dev/index-maker): Record the queries of your APIs, see which ones miss an index and create it. ## Deployment architectures Ways to deploy API Maker on plain VPS, from one server to a global fleet. - [All architectures](https://apimaker.dev/architectures): the list, with what each one is for - [All-in-one server](https://apimaker.dev/architectures/single-server): API Maker, its MongoDB, Redis and your database on a single VPS. - [Separate database server](https://apimaker.dev/architectures/separate-database): API Maker on one VPS, your databases on servers of their own. - [Dedicated data tier](https://apimaker.dev/architectures/dedicated-data-tier): A stateless API server, with the MongoDB, logs and Redis of API Maker on servers of their own. - [Environments with Git](https://apimaker.dev/architectures/environments): DEV, QA, UAT and PROD, each with its own servers and data. Git pull is the deployment. - [Load-balanced API servers](https://apimaker.dev/architectures/load-balanced): Several identical API Maker servers behind Caddy, which balances the load, sharing one data tier. - [Real-time events across servers](https://apimaker.dev/architectures/realtime-websockets): WebSocket clients on any server, changes made on any server: Redis connects them. - [Many projects, one platform](https://apimaker.dev/architectures/multi-project): One API Maker fleet hosts many projects, each with its own APIs, databases, sandboxes and Git. - [Multi-tenant: a database per customer](https://apimaker.dev/architectures/multi-tenant): One product and one set of APIs, with the data of every customer in a database of its own. - [Clustered Redis and databases](https://apimaker.dev/architectures/clustered-data): Redis Cluster, a MongoDB replica set and sharded data: a data tier with no single node to lose. - [High availability](https://apimaker.dev/architectures/high-availability): A spare for every tier: two Caddy load balancers on a floating IP, three API servers and replicated databases. - [Multi-cloud](https://apimaker.dev/architectures/multi-cloud): The same API Maker on VPS of several providers, joined by encrypted tunnels. No provider can take you down. - [Geo-routing: the nearest region](https://apimaker.dev/architectures/geo-routing): HTTP calls and WebSockets answered by the region nearest to each user, behind one address for the whole world. - [Global enterprise platform](https://apimaker.dev/architectures/global-enterprise): Every piece together: regions on several providers, customer data kept at home, shared state and one release flow. ## Get started - [Documentation](https://docs.apimaker.dev): installation, every API, query parameters, settings and examples - [Download API Maker Local Run](https://apimaker.dev/download): the desktop app that runs API Maker and its databases in Docker - [All features](https://apimaker.dev/features): every feature, by category ## Optional - [FAQ](https://apimaker.dev/faq): common questions - [Videos](https://apimaker.dev/video): short tutorials and deep dives - [Platform tree](https://apimaker.dev/platform-tree): the structure of the generated REST APIs - [About](https://apimaker.dev/about) and [Contact](https://apimaker.dev/contact)