List the pages and documents Silktide tested
/v1/results/contentsLists every page and document Silktide tested on a website or one of its sections, a page of rows at a time. See Content for what counts as each.
The list is more than the pages a visitor would browse to. It includes error
pages (look at httpCode), documents linked from the website but hosted on
another domain, and the pages user flows reached, which have a flowId above
0. The same URL can appear once crawled and once more for each flow step
that visited it.
Leave out websiteId to list the content of every website the API key's user
can see, together.
This query takes page and rowsPerPage (see
Pagination) but none of the table arguments:
columns, sort and search are ignored. The rows come in no useful order;
sort by defaultOrder to list them the way Silktide does.
A page or rowsPerPage that is not a whole number of at least 1 is an
InvalidRequest error whose properties.field names the argument. It comes
with status 200, like every results error, so check for error before
reading result.
curl "https://api.eu.silktide.com/v1/results/contents?websiteId=3&rowsPerPage=2" \
-H "Authorization: silktide token=$SILKTIDE_API_KEY"{
"result": {
"contents": {
"page": 1,
"minPage": 1,
"maxPage": 28,
"numRows": 56,
"rowsPerPage": 2,
"rows": [
{
"acId": "0106ed17299002688a08a0f794aa8eae",
"url": "https://fakewinebarrel.com/wines-are-confusing/",
"title": "Wines: easily confused with hamburgers - Wine Barrel",
"contentType": "html",
"httpCode": 200,
"mimeType": "text/html",
"downloaded": 1791424671,
"discovered": 1790223215,
"defaultOrder": "202-047-047",
"flowId": 0,
"stepNo": 0,
"isFailedStep": false
},
{
"acId": "1f3c0a9d5b7e4c2a8d6f0b1e3a5c7d9f",
"url": "https://example.com/files/wine-list-2026.pdf",
"title": "Wine list 2026",
"contentType": "pdf",
"httpCode": 200,
"mimeType": "application/pdf",
"downloaded": 1790222921,
"discovered": 1790222921,
"defaultOrder": "207-065-085",
"flowId": 0,
"stepNo": 0,
"isFailedStep": false
}
]
}
},
"selector": "/v1/results/contents",
"duration": 0.005
}Request
Query parameters
websiteIdintegerat least 1The website. Left out, every website the API key's user can see.
sectionIdintegerWith
websiteId, a section of the website. Defaults to0, the whole website.pageintegerat least 1The page of rows to return, from
1. Defaults to1.rowsPerPageintegerat least 1How many rows a page holds. Defaults to
100. Must be at least1.
Response
200JSON.
resultobjectrequiredThe answer.
Show 1 fieldsHide fields
contentsobjectrequiredOne page of the website's pages and documents.
Show 6 fieldsHide fields
pageintegerrequiredat least 1The page returned. A page past the last returns the last, so this is not always the page asked for.
minPageintegerrequiredat least 1The first page. Always
1.maxPageintegerrequiredat least 1The last page at this
rowsPerPage.1when there are no rows.numRowsintegerrequiredHow many rows there are across every page.
rowsPerPageintegerrequiredat least 1How many rows a page holds.
rowslist of objectsrequiredThe rows on this page.
Show 12 fieldsHide fields
acIdstringrequiredIts id in the account. It stays the same while the website and URL do.
urlstringrequiredIts URL. A document linked from the website can be on another domain.
titlestringrequiredIts title: a page's
<title>, or a document's title or file name.Untitledwhen a document has neither.contentTypestringrequiredWhat it is:
htmlfor a page,pdffor a PDF document. Silktide tests no other kind today.One of
htmlpdftextwordexcelpowerpointotherhttpCodeintegerrequiredcan be nullThe HTTP status it answered with when last downloaded. Null when none was recorded.
mimeTypestringrequiredIts content type as the server sent it, such as
text/html.downloadedintegerrequiredWhen Silktide last downloaded it.
discoveredintegerrequiredWhen Silktide first downloaded it.
defaultOrderstringrequiredSort by this, ascending, to list content in the order Silktide does. Its format can change; only compare it.
flowIdintegerrequiredThe user flow it was reached by, or
0when it was crawled.stepNointegerrequiredIn a user flow, its step, from
0.0when it was crawled.isFailedStepbooleanrequiredTrue when it is the step at which its user flow failed.
selectorstringrequiredThe query that answered, as its path:
/v1/results/scores.durationnumberrequiredSeconds Silktide took to answer.
Errors
| Status | Type | When |
|---|---|---|
| 404 | ModelNotFound | No website or section with that id exists in the account, or the API key's user cannot see it. |
| 200 | InvalidRequest | page is not a whole number of at least 1. The error's own status is 400 and properties.field is page. The body is an error despite the status. |
| 200 | InvalidRequest | rowsPerPage is not a whole number of at least 1. The error's own status is 400 and properties.field is rowsPerPage. The body is an error despite the status. |
| 401 | NotLoggedIn | No API key was sent, or it is not a key for this region.(any operation) |
| 429 | TooManyRequests | Too many requests to this path in five seconds. Retry after the number of seconds in the Retry-After header, which properties.retryAfter repeats.(any operation) |
| 503 | - | Silktide is busy. Retry after the number of seconds in the Retry-After header.(any operation) |
Every error has the same body. See Errors.
Access
- Permission
- Any user of the account
- Plan feature
- None
- Edition
- Silktide 4 and Silktide 5
- Cost
- Free
- Available since
- v1.0.0
Try it
Sends a real request to your account from this browser. Your key stays in this tab and goes only to the Silktide API.