---
title: "Strapi Integration Guide"
url: "https://helpdesk.kontainer.com/article/strapi-integration-guide/"
type: "article"
category: ["Admin settings", "Integrations &amp; plugins"]
tags: ["Add-on Feature", "Premium+ plans", "DAM"]
language: "en"
published: "2026-07-23T06:39:07+00:00"
updated: "2026-08-10T10:51:57+00:00"
summary: "With Kontainer's Strapi integration, you can easily insert images, videos, and files directly from your DAM into Strapi's admin panel — without manually downloading and uploading."
---

# Strapi Integration Guide

With Kontainer's Strapi integration, your editors can select images, videos, and files directly from your DAM without uploading files to Strapi.\
 Strapi only stores a reference to the file; the actual asset stays in Kontainer and is delivered via CDN.

Go to the Kontainer [integration page](https://kontainer.com/integrations) to learn more about use cases, benefits and more.

## Requirements

- Strapi v5 (Strapi v4 is not supported)
- Node.js 18+
- A Kontainer account (https://yourcompany.kontainer.com)
- A developer with access to your Strapi codebase and the ability to deploy

## What Gets Stored Where?

Your files stay in Kontainer. Nothing is uploaded to Strapi's media library. Strapi stores only a JSON reference to the asset, which includes:

- `fileId, fileName, folderId`- identifiers for retrieving the asset
- `url` - the CDN URL, including the download template you picked
- `thumbnailUrl, type, extension, dimensions, size`
- `alt, description`and every Kontainer custom field

Because the alt text and all custom field values travel with the reference, editors do not retype metadata in Strapi, and your frontend can read them straight off the Strapi API response.

## Getting started

### 1. Install the plugin

In your Strapi project:

```
npm install @kontainer/strapi-plugin
```

Commit package.json and package-lock.json so the plugin ships with your deploy. Strapi discovers and enables the plugin automatically - no configuration file changes needed.

### 2. Add the Kontainer field to a content type

In the Content-Type Builder pick Custom fields → Kontainer media, or add it to the schema directly:

`"hero": {
"type": "customField",
"customField": "plugin::kontainer.media"
}`

The Content-Type Builder is read-only in production, so make this change in your development environment and deploy the schema change.

### 3. Build

The plugin's admin interface is compiled into the admin bundle. This step is required - without it, the "Choose from Kontainer" button will not appear.

`npm ci --omit=dev
npm run build
npm run start`

### 4. Connect to Kontainer

Go to Settings → Kontainer → Configuration and enter your Kontainer URL. That's the whole setup - there are no API keys or environment variables required.

Settings are stored in the Strapi database, so you'll need to set them once per environment (staging and production separately).

### 5. Select assets**\**

In the editor, click Choose from Kontainer on the field. Browse, search, and filter your Kontainer library, optionally apply a download template (crop, resize, format), and select the file. Strapi saves the reference; the CDN URL reflects the template you chose.

## Optional: file usage tracking

Kontainer can show you where each file is used in Strapi. Under Settings → Kontainer, click Generate to create a token, then register the displayed endpoint URL plus the token as an integration in Kontainer under Settings → Integrations. Kontainer then polls Strapi and reports usage across all content types, including drafts, locales, components, and dynamic zones.

## Using the reference in your frontend

The reference comes back unchanged from the Strapi content API:

`const page = await fetch(`${STRAPI_URL}/api/pages/${documentId}`).then((r) => r.json());
const { url, alt } = page.data.hero;`

Request the asset from `url` - it is served from Kontainer's CDN.

## Support

If you need help setting up or configuring the Strapi plugin, our support team is happy to assist.

Please contact: [support@kontainer.com](mailto:support@kontainer.com)

## Other languages

- [Deutsch](https://helpdesk.kontainer.com/de/article/strapi-integrationsleitfaden/index.md)

## Related articles

- [Semantic Search for DAM](https://helpdesk.kontainer.com/article/semantic-search-for-dam/index.md): Set up Kontainer's semantic search for DAM — the DAM Search Agent — so users can search by describing an asset instead of guessing keywords. Covers choosing an AI provider, the setup checklist and how…
- [Slack Notifications from Kontainer](https://helpdesk.kontainer.com/article/slack-notifications-from-kontainer/index.md): Bring Kontainer notifications directly into Slack and stay updated without monitoring multiple systems. The Slack integration lets you decide exactly which notifications you want to receive and whethe…
- [Multi-Brand Guide](https://helpdesk.kontainer.com/article/multi-brand-guide/index.md): The Multi-Brand feature allows you to create and manage multiple branded experiences within a single Kontainer account. Each brand can have its own logo, colors, fonts, styling, and login experience,…
- [WordPress Integration Guide](https://helpdesk.kontainer.com/article/wordpress-plugin-guide/index.md): With Kontainer’s WordPress integration, you can easily insert images, videos, and files directly from your DAM into WordPress—without manually downloading and uploading.
