Strapi
An open-source headless CMS written in JavaScript and TypeScript that generates REST and GraphQL APIs from content models you design.
- GitHub stars
- 73k
- Last commit
- today
- Latest release
- v5.56.0
- Self-hosted
- Yes
- Hosted version
- Available

Strapi is a headless content management system. Developers define content models, and Strapi generates a complete API that a website, mobile app or other client can consume, while editors get a friendly admin interface for writing and managing content. It is written entirely in JavaScript and TypeScript on Node.js.
A visual Content-Type Builder lets you design structures without code, and every content type gets REST and GraphQL endpoints automatically. Granular roles and permissions, a media library, internationalization and draft and publish workflows are built in. It works with SQLite, PostgreSQL, MySQL and MariaDB, and offers a plugin system and a customizable admin dashboard. Requests pass through routes, middlewares, controllers and services, which is where backend customization happens. Strapi AI adds help with content modeling, media alt text and translations.
You can self-host Strapi on your own infrastructure or use Strapi Cloud, the managed service. Its license is listed as 'Other' in the repository metadata, so confirm the terms for any enterprise features. It suits teams building Jamstack or multi-channel sites that want a flexible, developer-first backend.
Key features
- Visual Content-Type Builder
- Auto-generated REST and GraphQL APIs
- Granular roles and permissions
- Media library with internationalization
- Draft and publish workflow
- Plugin system and customizable admin panel
- SQLite, PostgreSQL, MySQL and MariaDB support
Pricing: Strapi Cloud has no free tier on this page: Starter is $35, Pro $90 and Business $450 per project per month. Custom limits go through sales.







