Skip to main content

Document Service API: Sorting and paginating results

The Document Service API offers the ability to sort and paginate query results.

Sort

To sort results returned by the Document Service API, include the sort parameter with queries.

Sort on a single field

To sort results based on a single field:

Example request
const documents = await strapi.documents("api::article.article").findMany({
sort: "title:asc",
});
Example response
[
{
"documentId": "cjld2cjxh0000qzrmn831i7rn",
"title": "Test Article",
"slug": "test-article",
"body": "Test 1"
// ...
},
{
"documentId": "cjld2cjxh0001qzrm5q1j5q7m",
"title": "Test Article 2",
"slug": "test-article-2",
"body": "Test 2"
// ...
}
// ...
]

Sort on multiple fields

To sort on multiple fields, pass them all in an array:

Example request
const documents = await strapi.documents("api::article.article").findMany({
sort: [{ title: "asc" }, { slug: "desc" }],
});
Example response
[
{
"documentId": "cjld2cjxh0000qzrmn831i7rn",
"title": "Test Article",
"slug": "test-article",
"body": "Test 1"
// ...
},
{
"documentId": "cjld2cjxh0001qzrm5q1j5q7m",
"title": "Test Article 2",
"slug": "test-article-2",
"body": "Test 2"
// ...
}
// ...
]

Pagination

To paginate results, pass the limit and start parameters:

Example request
const documents = await strapi.documents("api::article.article").findMany({
limit: 10,
start: 0,
});
Example response
[
{
"documentId": "cjld2cjxh0000qzrmn831i7rn",
"title": "Test Article",
"slug": "test-article",
"body": "Test 1"
// ...
},
{
"documentId": "cjld2cjxh0001qzrm5q1j5q7m",
"title": "Test Article 2",
"slug": "test-article-2",
"body": "Test 2"
// ...
}
// ... (8 more)
]