Index: src/services/ActivityPubService.js
===================================================================
--- src/services/ActivityPubService.js	(revision 732272a320793693be207b1b67af729b1feca30f)
+++ src/services/ActivityPubService.js	(revision e1da6a16a466f007f29eb214c6484d2737adf481)
@@ -1200,8 +1200,8 @@
 // these as the "Featured" tab (pinned to the profile). Posts come ordered by pin
 // rank; embedded as full Notes so a remote server doesn't need extra fetches.
-export function buildFeatured(base, site, posts) {
+export function buildFeatured(base, site, posts, { page = false } = {}) {
   const id = `${actorId(base, site.slug)}/featured`;
   const items = (posts || []).map((p) => buildNote(base, site, p));
-  return pagedCollection(id, items);
+  return pagedCollection(id, items, { page });
 }
 
Index: src/services/music/index.js
===================================================================
--- src/services/music/index.js	(revision 732272a320793693be207b1b67af729b1feca30f)
+++ src/services/music/index.js	(revision e1da6a16a466f007f29eb214c6484d2737adf481)
@@ -247,9 +247,10 @@
  * ooit een besloten variant, dan hoort daar het Follow/Accept-werk bij.
  */
-export function buildLibrary(base, site, rows) {
+export function buildLibrary(base, site, rows, { page = false } = {}) {
   const id = libraryId(base, site);
   const hostPosts = site.id ? trackHostPosts(site.id) : null;
   const items = (rows || []).map((r) => buildTrackAudio(base, site, r, { hostPosts }));
   return pagedCollection(id, items, {
+    page,
     extra: {
       type: 'Library',
@@ -265,9 +266,9 @@
 
 /** De collectie van alle open tracks van een site (shaer-0nh, stap 3). */
-export function buildTrackCollection(base, site, rows) {
+export function buildTrackCollection(base, site, rows, { page = false } = {}) {
   // Eén zoekopdracht voor alle rijen samen; zie trackHostPosts.
   const posts = site.id ? trackHostPosts(site.id) : null;
   const items = (rows || []).map((r) => buildTrackAudio(base, site, r, { hostPosts: posts }));
-  return pagedCollection(`${actorId(base, site.slug)}/tracks`, items, { extra: { attributedTo: actorId(base, site.slug) } });
+  return pagedCollection(`${actorId(base, site.slug)}/tracks`, items, { page, extra: { attributedTo: actorId(base, site.slug) } });
 }
 
@@ -314,5 +315,5 @@
 // collectie zelf, want ook een lijst mag niet verklappen wat er achter de
 // poort staat.
-export function listPlaylistsAP(base, site, enriched) {
+export function listPlaylistsAP(base, site, enriched, { page = false } = {}) {
   const rows = db.prepare(
     'SELECT id, title, artist, year, cover_url FROM playlists WHERE site_id = ? ORDER BY created_at, id'
@@ -327,5 +328,5 @@
     return stub;
   });
-  return pagedCollection(colId, items, { extra: { attributedTo: actorId(base, site.slug) } });
+  return pagedCollection(colId, items, { page, extra: { attributedTo: actorId(base, site.slug) } });
 }
 
