diff --git a/src/Controller/SearchApiPageController.php b/src/Controller/SearchApiPageController.php
index 64969da..b81ea36 100644
--- a/src/Controller/SearchApiPageController.php
+++ b/src/Controller/SearchApiPageController.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\search_api_page\Controller;
 
+use Drupal\Component\Plugin\PluginBase;
 use Drupal\Core\Controller\ControllerBase;
 use Drupal\search_api\Entity\Index;
 use Drupal\search_api_page\Entity\SearchApiPage;
@@ -60,11 +61,16 @@ class SearchApiPageController extends ControllerBase {
       /* @var $search_api_index \Drupal\search_api\IndexInterface */
       $search_api_index = Index::load($search_api_page->getIndex());
 
+      // Load the search api display.
+      $display_plugin_manager = \Drupal::service('plugin.manager.search_api.display');
+      $display = $display_plugin_manager->createInstance('search_api_page' . PluginBase::DERIVATIVE_SEPARATOR . $search_api_page->id());
+
       // Create the query.
       $query = $search_api_index->query([
         'limit' => $search_api_page->getLimit(),
         'offset' => !is_null($request->get('page')) ? $request->get('page') * $search_api_page->getLimit() : 0,
         'search id' => 'search_api_page:' . $search_api_page->id(),
+        'search_api_display' => $display
       ]);
 
       $query->setParseMode('direct');
diff --git a/src/Plugin/search_api/display/SearchApiPageDisplay.php b/src/Plugin/search_api/display/SearchApiPageDisplay.php
new file mode 100644
index 0000000..4ebf8fc
--- /dev/null
+++ b/src/Plugin/search_api/display/SearchApiPageDisplay.php
@@ -0,0 +1,33 @@
+<?php
+
+namespace Drupal\search_api_page\Plugin\search_api\display;
+
+use Drupal\Core\Url;
+use Drupal\search_api\Display\DisplayPluginBase;
+
+/**
+ * Represents a search api page display.
+ *
+ * @SearchApiDisplay(
+ *   id = "search_api_page",
+ *   deriver = "Drupal\search_api_page\Plugin\search_api\display\SearchApiPageDisplayDeriver"
+ * )
+ */
+class SearchApiPageDisplay extends DisplayPluginBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getPath() {
+    return Url::fromUserInput('/' . $this->pluginDefinition['search_api_page']->getPath());
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function isRenderedInCurrentRequest() {
+    $url = \Drupal::request()->getPathInfo();
+    return $url == '/' . $this->pluginDefinition['search_api_page']->getPath();
+  }
+
+}
diff --git a/src/Plugin/search_api/display/SearchApiPageDisplayDeriver.php b/src/Plugin/search_api/display/SearchApiPageDisplayDeriver.php
new file mode 100644
index 0000000..e3e7721
--- /dev/null
+++ b/src/Plugin/search_api/display/SearchApiPageDisplayDeriver.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace Drupal\search_api_page\Plugin\search_api\display;
+
+use Drupal\Component\Plugin\PluginBase;
+use Drupal\search_api\Display\DisplayDeriverBase;
+
+/**
+ * Derives a display plugin definition for every Search API page.
+ *
+ * @see \Drupal\search_api_page\Plugin\search_api\display\SearchApiPageDisplay
+ */
+class SearchApiPageDisplayDeriver extends DisplayDeriverBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDerivativeDefinitions($base_plugin_definition) {
+    $base_plugin_id = $base_plugin_definition['id'];
+
+    if (!isset($this->derivatives[$base_plugin_id])) {
+      $plugin_derivatives = [];
+
+      $search_api_page_storage = $this->entityTypeManager->getStorage('search_api_page');
+      foreach ($search_api_page_storage->loadMultiple() as $search_api_page) {
+
+        $machine_name = $search_api_page->id();
+        $plugin_derivatives[$machine_name] = array(
+          'id' => $base_plugin_id . PluginBase::DERIVATIVE_SEPARATOR . $machine_name,
+          'label' => $search_api_page->label(),
+          'description' => $this->t('Represents the search api page %search_api_page_title.', array('%search_api_page_title' => $search_api_page->label())),
+          'index' => $search_api_page->getIndex(),
+          'search_api_page' => $search_api_page,
+        ) + $base_plugin_definition;
+      }
+      $this->derivatives[$base_plugin_id] = $plugin_derivatives;
+    }
+
+    return $this->derivatives[$base_plugin_id];
+  }
+}
