diff --git a/core/modules/rest/lib/Drupal/rest/Plugin/views/display/RestExport.php b/core/modules/rest/lib/Drupal/rest/Plugin/views/display/RestExport.php
index b8d7f3b..d957148 100644
--- a/core/modules/rest/lib/Drupal/rest/Plugin/views/display/RestExport.php
+++ b/core/modules/rest/lib/Drupal/rest/Plugin/views/display/RestExport.php
@@ -41,7 +41,7 @@ class RestExport extends PathPluginBase {
   /**
    * Overrides \Drupal\views\Plugin\views\display\DisplayPluginBase::$usesPager.
    */
-  protected $usesPager = FALSE;
+  protected $usesPager = TRUE;
 
   /**
    * Overrides \Drupal\views\Plugin\views\display\DisplayPluginBase::$usesMore.
diff --git a/core/modules/rest/lib/Drupal/rest/Plugin/views/style/Serializer.php b/core/modules/rest/lib/Drupal/rest/Plugin/views/style/Serializer.php
index 605006a..c6cf608 100644
--- a/core/modules/rest/lib/Drupal/rest/Plugin/views/style/Serializer.php
+++ b/core/modules/rest/lib/Drupal/rest/Plugin/views/style/Serializer.php
@@ -112,10 +112,54 @@ public function submitOptionsForm(&$form, &$form_state) {
   }
 
   /**
+   * Builds an array with the links for pagination.
+   *
+   * @return array
+   *   An array containing links to the first, last, previous, next and current
+   *   page.
+   */
+  public function generatePagerItems() {
+    // We have to calculate Since views can have different types of pager which may or may not have
+    // pages
+    $pager = $this->view->getPager();
+    $url = $this->view->getUrl() . '?page=';
+
+    $page_links = array(
+      '_links' => array(
+        '_self' => array(
+          'href' => $url . $pager->getCurrentPage(),
+        ),
+      ),
+    );
+
+    // Calculate the maximum number of pages, starting counting with 0.
+    $max = ceil(($pager->getTotalItems())/$pager->getItemsPerPage() - 1);
+    $max = $max < 0 ? 0 : $max;
+
+    $page_links['_links']['_first']['href'] = $url . '0';
+    $page_links['_links']['_last']['href'] = $url . $max;
+
+    if ($pager->getCurrentPage() < $max) {
+      $page_links['_links']['_next']['href'] = $url . ($pager->getCurrentPage() + 1);
+    }
+
+    if ($pager->getCurrentPage() > 0) {
+      $page_links['_links']['_prev']['href'] = $url . ($pager->getCurrentPage() - 1);
+    }
+
+    return $page_links;
+  }
+
+  /**
    * {@inheritdoc}
    */
   public function render() {
     $rows = array();
+
+    if ($this->view->getPager()->usePager()) {
+      $rows[] = $this->generatePagerItems();
+    }
+
     // If the Data Entity row plugin is used, this will be an array of entities
     // which will pass through Serializer to one of the registered Normalizers,
     // which will transform it to arrays/scalars. If the Data field row plugin
