---
url: 'https://dxpr.com/hc/documentation/learn-dxpr-builder/getting-started/installation'
title: 'Install DXPR Builder on your Drupal site | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2023-11-06T06:21:39+00:00'
updated: '2026-10-23T14:31:17+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: 'Install the module and configure your product key'
tags:
  - 'Install and update'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-23T14:31:17+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 'Install DXPR Builder on your Drupal site'
      description: 'Install the module and configure your product key'
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2023-11-06T06:21:39+0000'
      dateModified: '2026-10-23T14:31:17+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/hc/documentation/learn-dxpr-builder/getting-started/installation'
      articleSection: 'Install and update'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/hc/documentation/learn-dxpr-builder/getting-started/installation'
      description: 'Install the module and configure your product key'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: Home
            item: 'https://dxpr.com/'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: en
---
[Help Center](/hc)/[Documentation](/hc/documentation) /[Learn DXPR Builder](/hc/documentation/learn-dxpr-builder) /[Start here](/hc/documentation/learn-dxpr-builder/start-here) /[Install and update](/hc/documentation/learn-dxpr-builder/start-here/install) # Install DXPR Builder on your Drupal site.

Install the module and configure your product key

 Learn DXPR BuilderStart hereInstall and update

   ## In this guide

 Related guides

- [Your first page](/hc/documentation/learn-dxpr-builder/getting-started/first-page)
- [Installing on existing content types](/hc/documentation/learn-dxpr-builder/getting-started/installing-on-existing-content-types)
- [Updating](/hc/documentation/learn-dxpr-builder/getting-started/updating)

Install DXPR Builder on a Drupal site you already run, add your product key and switch one content type to the builder. At the end you have a saved page that shows the builder, ready for your first element. Starting a new site instead? [Installing DXPR CMS](/hc/documentation/learn-dxpr-builder/getting-started/installing-dxpr-cms)sets up the builder, theme and content types in one go.

The video on [Installing on existing content types](/hc/documentation/learn-dxpr-builder/getting-started/installing-on-existing-content-types)walks through steps 2 to 8 of the check at the end of this page.

## Before you start

- Drupal 10.2 or later, including Drupal 11, with PHP 8.1 or later. [Requirements](/hc/documentation/learn-dxpr-builder/getting-started/requirements) lists the rest.
- Composer and Drush in your project.
- A product key. DXPR Builder needs one to work; find yours at [dxpr.com/getting-started](/getting-started).

## Install the module

1. Download DXPR Builder 3.x with Composer. Version 3 is published as beta releases, so allow them:

    ```bash
    composer require 'drupal/dxpr_builder:^3.0@beta'

    ```

    A plain `composer require drupal/dxpr_builder` installs the stable 2.x series instead.
2. Enable the module:

    ```bash
    drush en dxpr_builder

    ```

    Drush also enables the Key module and the core modules DXPR Builder needs: Field, Field UI, Views, Image and Block.

## Add your product key

1. Go to **DXPR Studio** &gt; **DXPR Builder** &gt; **General Settings**(`/admin/dxpr_studio/dxpr_builder/settings`).
2. In the **License** section, choose a **Storage method**.
3. For **Configuration storage**, paste the key into **Product key**. For **Key module**, pick your key under **Key**.
4. Click **Save settings**.

**Configuration storage** keeps the key in the site configuration, so it ends up in configuration exports. **Key module** reads it from a key you create first at `/admin/config/system/keys`. Give that key the **File**or **Environment** provider to keep it out of exports as well.

## Add submodules (optional)

DXPR Builder ships three submodules. Enable one with `drush en` and its name.

| Submodule | What it adds | Needs |
|---|---|---|
| `dxpr_builder_page` | The **Drag and drop Page** content type, already set to the builder | The [Field Group](https://www.drupal.org/project/field_group) module |
| `dxpr_builder_block` | The **Drag and Drop Block** block type, for builder content in block regions | The core **Block Content** module, enabled first |
| `dxpr_builder_media` | A legacy media browser built on Entity Browser; hidden on the **Extend** page | Entity Browser and Inline Entity Form |

Most sites need no media submodule. When core **Media Library** is enabled at install time, the builder uses it. Otherwise choose it later under **Media** &gt; **Browser type** on the settings page. [Submodule architecture](/hc/documentation/learn-dxpr-builder/development/submodules) has the details.

## Turn on AI features (optional)

AI page creation, AI text and AI images run through the [AI](https://www.drupal.org/project/ai) module and the [DXPR AI Provider](https://www.drupal.org/project/ai_provider_dxpr).

1. Download both modules:

    ```bash
    composer require drupal/ai drupal/ai_provider_dxpr

    ```
2. Enable them:

    ```bash
    drush en ai ai_provider_dxpr

    ```
3. Go to `/admin/config/ai/providers/dxpr`, pick the key that holds your product key under **DXPR API Key**, and save.
4. Go to `/admin/dxpr_studio/dxpr_builder/ai_settings`. Under **AI Features**, all three boxes are ticked by default. Untick any feature you do not want.

The [AI features guide](/hc/documentation/learn-dxpr-builder/ai) explains each setting.

## Verify the installation

The builder shows on content whose text field uses the **DXPR Builder**formatter. These steps set it on a content type with a **Body** field. The **Drag and drop Page** type from `dxpr_builder_page` is already set, so there you can skip steps 2 to 5.

1. Go to **DXPR Studio** &gt; **DXPR Builder** &gt; **General Settings** and check the **License** section for your product key.
2. Go to **Structure** &gt; **Content types**. Open the menu beside a content type with a **Body** field and click **Manage display**.
3. If an overview of view modes opens, click **Manage** for **Default**.
4. Change the Body **Format** to **DXPR Builder**.
5. Click **Save**.
6. Create content of that type and type a **Title**.
7. Click **Save**.
8. Hover over the content area. The DXPR Builder toolbar appears.

## What you see

The saved page shows an empty builder where the body text would be. It offers an AI prompt, greyed out until AI is set up, plus **Choose a template** and **Add Elements**. Click **Add Elements**: the element picker opens with its **Layout** and **Content** tabs. DXPR Builder is working.

## If you don't see the builder

- **The page shows the body text, but no builder.** The field still uses another formatter. Set its **Format** to **DXPR Builder** on the **Default** view mode under **Structure** &gt; **Content types** &gt; **Manage display**.
- **The edit form shows a plain text area.** DXPR Builder works on the saved page, not on the edit form. Save the content and open its page.
- **The builder shows for the administrator only.** Other roles lack the **Edit with DXPR Builder** permission. Grant it at **People** &gt; **Permissions** (`/admin/people/permissions`).
- **A second editor sees "Only one account can use DXPR Builder on the DXPR Free tier".** The free tier allows one editor. Enter a product key from a paid subscription under **License**.
- **An error says "Your product key is not valid".** The DXPR CDN rejected the key. Paste the complete key again under **License** at `/admin/dxpr_studio/dxpr_builder/settings`.
- **An error says "DXPR Builder cloud assets could not be loaded".** The browser cannot reach `cdn2.dxpr.com` or `cdn.dxpr.com`. Allow both hosts, as [Firewall and data residency](/hc/documentation/learn-dxpr-builder/getting-started/behind-a-firewall) explains.
- **The AI prompt says "AI features require the AI module".** The AI modules are not set up yet. Follow [Turn on AI features](#turn-on-ai-features-optional), or untick the features under **AI Features** at `/admin/dxpr_studio/dxpr_builder/ai_settings`.
- **Save settings reports "Invalid product key".** The pasted text is not a whole key, or it is a key made for DXPR Builder 1.x. Copy your current key again, without spaces or line breaks.

[The editor does not appear](/hc/documentation/learn-dxpr-builder/troubleshooting/editor-not-loading)covers more causes.

## What's next?

- [Your first page](/hc/documentation/learn-dxpr-builder/getting-started/first-page): build a page from sections, rows and elements.
- [Installing on existing content types](/hc/documentation/learn-dxpr-builder/getting-started/installing-on-existing-content-types): switch more content types, or add a builder field.
- [Updating DXPR Builder](/hc/documentation/learn-dxpr-builder/getting-started/updating): keep the module current and run `drush updatedb` after every update.
- [Test variations](/hc/documentation/learn-dxpr-builder/integrations/ab-testing-overview): A/B testing with the [Reinforcement Learning](https://www.drupal.org/project/rl) module.