Skip to main content
POST
TypeScript SDK
Returns all pages or data_sources , excluding duplicated linked databases, that have titles that include the query param. If no query param is provided, then the response contains all pages or data_sources that have been shared with the connection. The results adhere to any limitations related to an connection’s capabilities. To limit the request to pages or data sources, use the filter parameter with property: "object" and a value of "page" or "data_source". To list content in the trash, set filter.in_trash to true. You can combine in_trash with the object filter or use it by itself.

Return fewer page properties

Use the filter_properties query parameter to return only the page properties you need. It works the same way as on Query a data source, with two differences. Search results come from many data sources, so if a name or ID doesn’t exist on a page, search skips it for that page instead of returning an error. Data source results always include their full property schema.

Errors

Each Public API endpoint can return several possible error codes. See the Error codes section of the Status codes documentation for more information.
The Search endpoint supports pagination. To learn more about working with paginated responses, see the pagination section of the Notion API Introduction.
To search a specific data_source — not all sources shared with the connection — use the Query a data_source endpoint instead.

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

Query Parameters

filter_properties
string[]

Property names or IDs to include in each page's properties object. Other properties are left out. Repeat the parameter to pass more than one value, for example filter_properties=title&filter_properties=Status. Pages that aren't in a data source always return only title. Search skips names or IDs that don't exist on a page.

Body

application/json
sort
object
query
string
start_cursor
string<uuid>
page_size
number
filter
object

Response

type
string
required
Allowed value: "page_or_data_source"
page_or_data_source
object
required
object
string
required
Allowed value: "list"
next_cursor
string | null
required
has_more
boolean
required
results
object[]
required
request_status
object