Q4API Docs
Q4 APISign inGet API key
DocumentationAPI Reference
Overview
API reference
Companies
GETList companiesGETRetrieve a companyGETList sectors
Market data
GETRetrieve a quoteGETList quotesGETRetrieve price historyGETRetrieve index historyGETRetrieve market summaryGETList market moversGETList sector performanceGETList tradesGETRetrieve order book depth
WebSocket
WSQuotes streamWSTrades streamWSDepth stream
Fundamentals
GETRetrieve standardised statementsGETRetrieve as-reported statementsGETList figuresGETRetrieve ratiosGETCompare companiesGETList dividendsGETList corporate actionsGETList stock eventsGETSearch notes
Documents
GETList documentsGETRetrieve a documentGETList document pagesGETRetrieve document textGETRetrieve document summaryGETList notesGETRetrieve a noteGETList sectionsGETRetrieve a sectionGETSearch board report sections
Earnings calls
GETList earnings callsGETRetrieve an earnings callGETRetrieve a transcriptGETRetrieve call audio
Announcements
GETList announcementsGETRetrieve an announcement
Economic data
GETList seriesGETList observations
Webhooks & alerts
POSTCreate a webhookGETList webhooksDELDelete a webhookPOSTCreate an alert ruleGETList alert rulesDELDelete an alert rule
Account
GETRetrieve usage
Documents

List document pages

GEThttps://api.q4.sa/v1/documents/{id}/pages
Returns the extracted text of each page, with detected tables.
Starter+

Authorization

x-api-keyheaderrequired
Your API key. See Authentication.

Path parameters

idstringrequired
Document ID, e.g. doc_7Hk2pQ.

Query parameters

pagesstring
Page numbers or ranges, e.g. 1-5,14.
limitinteger
Results per page.
Default: 20 · Range: 1–100
cursorstring
The next_cursor from the previous page. Omit it for the first page.

Response

dataobject[]
The result.
pageinteger
textstring
tablesobject[]
titlestring
Title.
rowsinteger
columnsinteger
paginationobject
Paging details. See Pagination.
next_cursornull
Pass as cursor to get the next page. null on the last page.
limitinteger
Page size used.

Errors

400, 401, 403, 404, 429. Every error has the same shape: see Errors.
← Previous
Retrieve a document
Next →
Retrieve document text
Request
curl "https://api.q4.sa/v1/documents/doc_7Hk2pQ/pages?pages=14" \
  -H "x-api-key: $Q4_API_KEY"
Response
{
  "data": [
    {
      "page": 14,
      "text": "CONSOLIDATED STATEMENT OF INCOME\nFor the year ended 31 December 2025\n(SAR’000)…",
      "tables": [
        {
          "title": "Consolidated statement of income",
          "rows": 28,
          "columns": 3
        }
      ]
    }
  ],
  "pagination": {
    "next_cursor": null,
    "limit": 50
  }
}