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;
}