
Template details
Nuxt Strapi
Official Nuxt module that connects Nuxt 3 apps to a Strapi backend with auth, REST methods, and TypeScript support.
About this template
Nuxt Strapi is an open-source Nuxt module that acts as a client-side integration layer between a Nuxt 3 application and a separately hosted Strapi CMS backend.
What is Nuxt Strapi?
Nuxt Strapi is a Nuxt module developed by the nuxt-modules organization on GitHub, published on npm as @nuxtjs/strapi. It functions purely as a client: it takes a Nuxt application and connects it to a Strapi server that you run and host separately, exposing Strapi's content and authentication to your frontend. It does not install, run, or bundle Strapi itself, and it is built for Nuxt 3 while maintaining compatibility with Strapi v5, v4, and v3. The module also offers TypeScript support and is released under the MIT License, with full documentation at strapi.nuxtjs.org.
Key Features
- Nuxt 3 ready — Built specifically for Nuxt 3, the module integrates with Nuxt's composables and module system.
- Strapi v5/v4/v3 compatible — Works across the three latest major Strapi versions, so your existing backend can be connected without upgrading.
- Authentication support — Provides methods to handle user login and session management through Strapi's auth endpoints.
- RESTful methods — Exposes REST helpers to fetch, create, update, and delete content from your Strapi API.
- Handle errors with hooks — Lets you centralize error handling by hooking into module events, reducing repetitive try/catch logic.
- TypeScript support — Includes TypeScript types for a typed development experience when working with your Strapi data.
Who is it for?
- Nuxt developers building Strapi-powered sites — Connect a Nuxt 3 frontend to a self-hosted Strapi CMS to manage content, authentication, and API calls from one client module.
- Teams separating frontend and backend — Since the module only acts as a client, you can keep Strapi on its own server and scale it independently of the Nuxt app.
- Developers already on Strapi v4 or v5 — The compatibility with multiple Strapi majors makes it a drop-in integration for projects that can't upgrade Strapi right away.
What can you do with Nuxt Strapi?
- Fetch and display content — Use the RESTful methods to query Strapi collections and single types in a Nuxt 3 app, then render the results in pages or components.
- Authenticate users — Wire up login and registration flows against Strapi's built-in users-permissions plugin using the module's auth support.
- Handle API errors consistently — Set up hooks to catch and respond to failed Strapi requests across the whole application from one place.
- Maintain typed data access — With TypeScript support, you can define and reuse types for your Strapi content to catch mismatches at compile time.
Pricing
Free — the module is open source under the MIT License, and there are no paid tiers or subscription plans associated with the package itself. You only pay for hosting Strapi and your Nuxt app separately.
FAQ
Is Nuxt Strapi free to use?
Yes, Nuxt Strapi is free and open source, released under the MIT License. You can use it in personal and commercial projects without licensing fees, and the source code is available on GitHub under the nuxt-modules organization.
Does Nuxt Strapi include Strapi itself?
No. Nuxt Strapi is a client-only module. It connects your Nuxt application to a Strapi server that you must install and host separately. The module does not install, run, or bundle Strapi.
Which Strapi versions does Nuxt Strapi support?
Nuxt Strapi is compatible with Strapi v5, v4, and v3. If you are using an older Strapi setup, you can still integrate it with Nuxt 3 through this module.
Does Nuxt Strapi work with Nuxt 2?
The current version of the module targets Nuxt 3. For Nuxt 2 projects, the maintainers point to the documentation of the v0 version, available at strapi-v0.nuxtjs.org.
What kind of API methods does Nuxt Strapi provide?
The module exposes RESTful methods for interacting with your Strapi backend, plus authentication support. It also provides hooks for centralized error handling and TypeScript types for a typed development experience.
















