Skip to main content
When retrieving large datasets from the Kariz API, results are automatically paginated to optimize performance and response times. Pagination allows you to retrieve data in manageable chunks while providing a clear way to access subsequent records.

How Pagination Works

Kariz uses token-based pagination that’s consistent across all supported e-commerce channels. When a response contains more data than can be returned in a single request, Kariz will:
  1. Return a subset of the total results (default is 10 items per page)
  2. Include a `next_page_token` in the response to indicate more data is available
  3. Provide a `next_page_token_url` that can be used directly for the next request

Using the Next Page Token

A response that doesn’t include a `next_page_token` field indicates you’ve reached the last page of results or the entire dataset was small enough to be returned in a single response.

Example Pagination Flow

// Initial request
const initialResponse = await fetch('https://api.trykariz.com/api/KarizClientApp/Unified/Products?channel=shopify&tpUserId=user123');
const data = await initialResponse.json();

// Process the first page of results
processData(data.Output.result);

// Check if there are more pages
if (data.Output.next_page_token) {
  // Request the next page using the token
  const nextPageResponse = await fetch(
    'https://api.trykariz.com/api/KarizClientApp/Unified/Products?channel=shopify&tpUserId=user123&next_page_token=' + data.Output.next_page_token
  );
  const nextPageData = await nextPageResponse.json();
  
  // Process the next page of results
  processData(nextPageData.Output.result);
}

Response Structure

A paginated response will contain the following pagination-related fields:
{
  "Output": {
    "result": [
      // Array of products or orders
    ],
    "next_page_token": "eyJsYXN0X2lkIjo1OTU0NDYxMzM1ODI3LCJsYXN0X3ZhbHVlIjoiMjAyNC0wOS0xMyAxNDo0NzoxMy4xNDAwNTEiLCJkaXJlY3Rpb24iOiJuZXh0In0",
    "next_page_token_url": "https://api.trykariz.com/api/KarizClientApp/Unified/Products?channel=shopify&tpUserId=user123&next_page_token=eyJsYXN0X2lkIjo1OTU0NDYxMzM1ODI3LCJsYXN0X3ZhbHVlIjoiMjAyNC0wOS0xMyAxNDo0NzoxMy4xNDAwNTEiLCJkaXJlY3Rpb24iOiJuZXh0In0"
  }
}

Controlling Page Size

You can adjust the number of results per page by using the `limit` parameter in your request:
GET https://api.trykariz.com/api/KarizClientApp/Unified/Products?channel=shopify&tpUserId=user123&limit=25
The maximum limit value is 100 items per page. Some channels may limit responses to 50 items per page, in which case, we follow their limit. If you specify a higher value, it will be capped at 100.