Pagination
All list endpoints in the Repurai API return results in pages rather than all at once.
Pagination parameters
| Parameter | Type | Default | Max | Description |
|---|---|---|---|---|
page | integer | 1 | — | The page number to retrieve. |
pageSize | integer | 20 | 100 | How many results to return per page. |
Response format
Every list response wraps results in the same format:
{
"data": [...],
"page": 1,
"pageSize": 20,
"hasMore": true
}
| Field | Type | Description |
|---|---|---|
data | array | The results for this page. |
page | integer | Current page number. |
pageSize | integer | Number of results per page. |
hasMore | boolean | true if there are more results after this page. |
Fetching all pages
Request page 2 with 50 results per page:
curl "https://repurai.com/api/v1/posts?page=2&pageSize=50" \
-H "Authorization: Bearer rep_your_api_key"
To fetch everything, keep requesting the next page while hasMore is true:
async function* fetchAllPosts(apiKey) {
let page = 1
let hasMore = true
while (hasMore) {
const res = await fetch(
`https://repurai.com/api/v1/posts?page=${page}&pageSize=100`,
{ headers: { Authorization: `Bearer ${apiKey}` } }
)
const json = await res.json()
yield* json.data
hasMore = json.hasMore
page++
}
}