Pagination
Pagination
The search API supports offset-based pagination using the offset and limit
query parameters. Marker-based pagination is not supported.
API Pagination
To fetch the first page of search results, the API needs to be called
either without the offset parameter, or with the offset set to 0. The
limit field is optional.
curl https://api.box.com/2.0/search?query=sales&offset=0&limit=100 \
-H "authorization: Bearer ACCESS_TOKEN"
To fetch the next page of entries the API needs to be called with
an offset parameter that's equals the sum of the previous offset value and
limit returned in the previous result, previous_offset + previous_limit.
curl https://api.box.com/2.0/search?query=sales&offset=100&limit=100 \
-H "authorization: Bearer ACCESS_TOKEN"
The final page of items has been requested when the next offset value exceeds
the total_count value in the response object. At this point there are no more
items to fetch.
Learn more about offset-based pagination
SDK Pagination
Each of our SDKs has built-in support for API pagination. The following code samples show how to use pagination in the search API.
long offsetValue = 0;
long limitValue = 50;
BoxSearch boxSearch = new BoxSearch(api);
BoxSearchParameters searchParams = new BoxSearchParameters();
searchParams.setQuery("sales");
PartialCollection<BoxItem.Info> page1 = boxSearch.searchRange(offsetValue, limitValue, searchParams);
offsetValue += 50;
PartialCollection<BoxItem.Info> page2 = boxSearch.searchRange(offsetValue, limitValue, searchParams);
BoxCollection<BoxItem> page1 = await client.SearchManager
.QueryAsync("sales", limit: 50);
BoxCollection<BoxItem> page2 = await client.SearchManager
.QueryAsync("sales", limit: 50, offset: 50);
page1 = client.search().query(query='sales', limit=50)
page2 = client.search().query(query='sales', limit=50, offset=50)
const page1 = await client.search.query('sales', {
limit: 50
})
const page2 = await client.search.query('sales'. {
limit: 50,
offset: 50
})