Slingshot Portal

Query Parameters

limit Integer • Default: 50 • Max: 200

The maximum number of records to return per request.

cursor String • Optional

Opaque cursor for pagination. Use the value from the previous response's page.nextCursor to request the next page.

Response Schema

{
  "data": [...],
  "page": {
    "limit": 50,
    "nextCursor": "dXNlcl9pZDoxMjM0NQ=="
  }
}

Implementation Guide

To iterate through all pages, follow this recursive pattern:

Make your initial request with only the limit parameter.

Check if the page.nextCursor attribute is non-null.

If present, include this cursor in your next request as the cursor query parameter.

Reuse a cursor only with the same filters and sort context. Changing filters requires starting a new pagination sequence without a cursor.

Repeat until page.nextCursor is null.

Example Cursor Implementation

async function fetchAllObjects() {
  let allData = [];
  let currentCursor = null;

do {
    const params = new URLSearchParams({ limit: 100 });
    if (currentCursor) params.append('cursor', currentCursor);

const response = await fetch(`https://api.portal.slingshot.space/v1/catalog?${params}`);
    const { data, page } = await response.json();

allData.push(...data);
    currentCursor = page.nextCursor;

} while (currentCursor !== null);

return allData;
}