---
title: "Search by title"
method: POST
path: "/v1/search"
tags: ["Search"]
---

# Search by title

`POST /v1/search`

## Headers

- `Notion-Version` '2026-03-11', required

## Request body

- object
  - `sort` union
    - object
      - `timestamp` 'last_edited_time', required
      - `direction` 'ascending' | 'descending', required
    - object
      - `property` 'relevance', required
  - `query` string
  - `start_cursor` string, uuid
  - `page_size` number
  - `filter` union
    - object
      - `property` 'object', required
      - `value` 'page' | 'data_source', required
      - `in_trash` boolean
    - object
      - `in_trash` boolean, required

## Response `200`

- object
  - `type` 'page_or_data_source', required
  - `page_or_data_source` EmptyObject, required
  - `object` 'list', required
  - `next_cursor` string, nullable, required
  - `has_more` boolean, required
  - `results` union[], required
    - union
      - PageObjectResponse
        - `object` 'page', required — The page object type name.
        - `id` string, uuid, required
        - `created_time` string, date-time, required — Date and time when this page was created.
        - `last_edited_time` string, date-time, required — Date and time when this page was last edited.
        - `in_trash` boolean, required — Whether the page is in trash.
        - `is_archived` boolean, required — Whether the page has been archived.
        - `is_locked` boolean, required — Whether the page is locked from editing in the Notion app UI.
        - `url` string, required — The URL of the Notion page.
        - `public_url` string, nullable, required — The public URL of the Notion page, if it has been published to the web.
        - `parent` union, required
          - DatabaseParentResponse
            - `type` 'database_id', required — The parent type.
            - `database_id` string, uuid, required
          - DataSourceParentResponse
            - `type` 'data_source_id', required — The parent type.
            - `data_source_id` string, uuid, required
            - `database_id` string, uuid, required
          - PageIdParentForBlockBasedObjectResponse
            - `type` 'page_id', required — The parent type.
            - `page_id` string, uuid, required
          - BlockIdParentForBlockBasedObjectResponse
            - `type` 'block_id', required — The parent type.
            - `block_id` string, uuid, required
          - AgentIdParentForBlockBasedObjectResponse
            - `type` 'agent_id', required — The parent type.
            - `agent_id` string, uuid, required
          - WorkspaceParentForBlockBasedObjectResponse
            - `type` 'workspace', required — The parent type.
            - `workspace` true, required — Always true for workspace parent.
        - `properties` object, required — Property values of this page.
        - `icon` union, required
          - EmojiPageIconResponse
            - `type` 'emoji', required — Type of icon. In this case, an emoji.
            - `emoji` string, required
          - FilePageIconResponse
            - `type` 'file', required — Type of icon. In this case, a file.
            - `file` InternalFileResponse, required
              - …
          - ExternalPageIconResponse
            - `type` 'external', required — Type of icon. In this case, an external URL.
            - `external` object, required — The external URL for the icon.
              - …
          - CustomEmojiPageIconResponse
            - `type` 'custom_emoji', required — Type of icon. In this case, a custom emoji.
            - `custom_emoji` CustomEmojiResponse, required
              - …
          - IconPageIconResponse
            - `type` 'icon', required — Type of icon. In this case, a Notion native icon.
            - `icon` NoticonIconResponse, required
              - …
        - `cover` union, required
          - FilePageCoverResponse
            - `type` 'file', required — Type of cover. In this case, a file.
            - `file` InternalFileResponse, required
              - …
          - ExternalPageCoverResponse
            - `type` 'external', required — Type of cover. In this case, an external URL.
            - `external` object, required — The external URL for the cover.
              - …
        - `created_by` PartialUserObjectResponse, required
          - `id` string, uuid, required
          - `object` 'user', required — Always `user`
        - `last_edited_by` PartialUserObjectResponse, required
          - `id` string, uuid, required
          - `object` 'user', required — Always `user`
      - PartialPageObjectResponse
        - `object` 'page', required — The page object type name.
        - `id` string, uuid, required
      - PartialDataSourceObjectResponse
        - `object` 'data_source', required — The data source object type name.
        - `id` string, uuid, required
        - `properties` object, required — The properties schema of the data source.
      - DataSourceObjectResponse
        - `object` 'data_source', required — The data source object type name.
        - `id` string, uuid, required
        - `title` RichTextItemResponse[], required — The title of the data source.
          - union
            - object
              - …
            - object
              - …
            - object
              - …
        - `description` RichTextItemResponse[], required — The description of the data source.
          - union
            - object
              - …
            - object
              - …
            - object
              - …
        - `parent` union, required — The parent of the data source. This is typically a database (`database_id`), but for externally synced data sources, can be another data source (`data_source_id`).
          - DatabaseParentResponse
            - `type` 'database_id', required — The parent type.
            - `database_id` string, uuid, required
          - DataSourceParentResponse
            - `type` 'data_source_id', required — The parent type.
            - `data_source_id` string, uuid, required
            - `database_id` string, uuid, required
        - `database_parent` union, required
          - PageIdParentForBlockBasedObjectResponse
            - `type` 'page_id', required — The parent type.
            - `page_id` string, uuid, required
          - WorkspaceParentForBlockBasedObjectResponse
            - `type` 'workspace', required — The parent type.
            - `workspace` true, required — Always true for workspace parent.
          - DatabaseParentResponse
            - `type` 'database_id', required — The parent type.
            - `database_id` string, uuid, required
          - BlockIdParentForBlockBasedObjectResponse
            - `type` 'block_id', required — The parent type.
            - `block_id` string, uuid, required
        - `is_inline` boolean, required — Whether the data source is inline.
        - `in_trash` boolean, required — Whether the data source is in the trash.
        - `created_time` string, date-time, required — The time when the data source was created.
        - `last_edited_time` string, date-time, required — The time when the data source was last edited.
        - `created_by` PartialUserObjectResponse, required
          - `id` string, uuid, required
          - `object` 'user', required — Always `user`
        - `last_edited_by` PartialUserObjectResponse, required
          - `id` string, uuid, required
          - `object` 'user', required — Always `user`
        - `properties` object, required — The properties schema of the data source.
        - `icon` union, required
          - EmojiPageIconResponse
            - `type` 'emoji', required — Type of icon. In this case, an emoji.
            - `emoji` string, required
          - FilePageIconResponse
            - `type` 'file', required — Type of icon. In this case, a file.
            - `file` InternalFileResponse, required
              - …
          - ExternalPageIconResponse
            - `type` 'external', required — Type of icon. In this case, an external URL.
            - `external` object, required — The external URL for the icon.
              - …
          - CustomEmojiPageIconResponse
            - `type` 'custom_emoji', required — Type of icon. In this case, a custom emoji.
            - `custom_emoji` CustomEmojiResponse, required
              - …
          - IconPageIconResponse
            - `type` 'icon', required — Type of icon. In this case, a Notion native icon.
            - `icon` NoticonIconResponse, required
              - …
        - `cover` union, required
          - FilePageCoverResponse
            - `type` 'file', required — Type of cover. In this case, a file.
            - `file` InternalFileResponse, required
              - …
          - ExternalPageCoverResponse
            - `type` 'external', required — Type of cover. In this case, an external URL.
            - `external` object, required — The external URL for the cover.
              - …
        - `url` string, required — The URL of the data source.
        - `public_url` string, nullable, required — The public URL of the data source if it is publicly accessible.
  - `request_status` object
    - `type` 'complete' | 'incomplete', required
    - `incomplete_reason` 'query_result_limit_reached'

## Other responses

- `400`
- `401`
- `403`
- `404`
- `406`
- `409`
- `429`
- `500`
- `503`
- `504`
- `529`

---

[API](https://skmtc.net/notion/apis/notion-api.md) · [All operations](https://skmtc.net/notion/apis/notion-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/notion/notion-api/revisions/dee5763763b0/schema)
