Skip to content

List All Bundles

Fresh

GET /v1/bundles

Returns a paginated array of all bundles in your account.

Query Parameters

ParameterTypeDefaultMaxDescription
limitinteger10100Number of bundles per page
offsetinteger0Number of bundles to skip

Code Example

js
const axios = require('axios');

const apiClient = axios.create({
  baseURL: 'https://api.rss.app/v1',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY:YOUR_API_SECRET',
  },
});

// First page
const response = await apiClient.get('/bundles');
console.log(`Got ${response.data.length} bundles`);

// Specific page
const page2 = await apiClient.get('/bundles', {
  params: { limit: 20, offset: 20 },
});

Response

HTTP 200 with a JSON array of bundle objects. Returns an empty array [] when no bundles exist or the offset exceeds the total count.

json
[
  {
    "id": "bundle_xyz789",
    "name": "Technology News",
    "description": "Aggregated tech coverage",
    "icon": null,
    "rss_feed_url": "https://rss.app/feeds/bundle-id.xml",
    "feeds": ["feed_abc123", "feed_def456"],
    "items": [ ... ]
  },
  {
    "id": "bundle_uvw456",
    "name": "Science News",
    "description": null,
    "icon": null,
    "rss_feed_url": "https://rss.app/feeds/bundle2-id.xml",
    "feeds": ["feed_ghi789"],
    "items": [ ... ]
  }
]

Retrieve All Bundles

js
async function getAllBundles() {
  const allBundles = [];
  const limit = 100;
  let offset = 0;

  while (true) {
    const response = await apiClient.get('/bundles', {
      params: { limit, offset },
    });

    const bundles = response.data;
    allBundles.push(...bundles);

    if (bundles.length < limit) break;
    offset += limit;
  }

  return allBundles;
}

const bundles = await getAllBundles();
console.log(`Total bundles: ${bundles.length}`);

// Find all bundles containing a specific feed
const feedId = 'feed_abc123';
const bundlesWithFeed = bundles.filter((b) => b.feeds.includes(feedId));
console.log(`Feed is in ${bundlesWithFeed.length} bundle(s)`);

Error Responses

StatusMeaning
401Authentication failed
429Rate limit exceeded

RSS.app API Documentation