Skip to main content
GET
/
v1
/
views
/
{view_id}
/
queries
/
{query_id}
TypeScript SDK
import { Client } from "@notionhq/client"

const notion = new Client({ auth: process.env.NOTION_API_KEY })

const response = await notion.views.queries.results({
  view_id: "a3f1b2c4-5678-4def-abcd-1234567890ab",
  query_id: "b4e2c3d5-6789-4abc-def0-1234567890cd"
})
{
  "object": "<string>",
  "next_cursor": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "has_more": true,
  "results": [
    {
      "object": "<string>",
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ],
  "type": "<string>",
  "page": {},
  "request_status": {
    "type": "complete",
    "incomplete_reason": "<string>"
  }
}
Returns a page of results from a previously created view query. Use start_cursor and page_size to paginate through the cached result set. Cached results expire after 15 minutes from the time the query was created. If the cache has expired, this endpoint returns a 404.
Connection capabilitiesThis endpoint requires a connection to have read content capabilities. For more information on connection capabilities, see the capabilities guide.

Truncated queries

If the underlying view query matched more rows than the server-side pagination limit, the response will include a request_status field:
{
  "object": "list",
  "type": "page",
  "results": [...],
  "next_cursor": null,
  "has_more": false,
  "request_status": {
    "type": "incomplete",
    "incomplete_reason": "query_result_limit_reached"
  }
}
The request_status field is surfaced on every page of paginated results for a truncated query, so your connection can detect it regardless of which page it is on. When this field is present, there are additional rows matching the view’s configuration that are not returned. See Create a view query for guidance on working around the pagination limit (narrower view filters, connection webhooks).

Errors

Returns a 404 HTTP response if the query doesn’t exist, has expired, or the view_id doesn’t match. Returns a 400 or 429 HTTP response if the request exceeds the request limits.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Notion-Version
enum<string>
required

The API version to use for this request. The latest version is 2026-03-11.

Available options:
2026-03-11

Path Parameters

view_id
string
required

The ID of the view.

query_id
string
required

The ID of the query.

Query Parameters

start_cursor
string

If supplied, this endpoint will return a page of results starting after the cursor provided.

page_size
integer

The number of results to return per page. Maximum: 100

Required range: 1 <= x <= 100

Response

object
string
required

Always list

Allowed value: "list"
next_cursor
string<uuid> | null
required
has_more
boolean
required
results
object[]
required
type
string
required

Always page

Allowed value: "page"
page
object
required
request_status
object