> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Notion: Post Search

> Search the Notion pages and databases shared with the connection by title. Includes SDK V2 examples, input constraints, response fields, and Deepline cost.

Search the Notion pages and databases shared with the connection by title.

> [!NOTE]
>
> Tool ID: `notion_post_search`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'notion_post_search',
  {
    "sort": {
      "timestamp": "last_edited_time",
      "direction": "ascending"
    },
    "query": "software companies hiring engineers",
    "start_cursor": "123e4567-e89b-42d3-a456-426614174000"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute notion_post_search --input '{
  "sort": {
    "timestamp": "last_edited_time",
    "direction": "ascending"
  },
  "query": "software companies hiring engineers",
  "start_cursor": "123e4567-e89b-42d3-a456-426614174000"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "type": "page_or_data_source",
    "page_or_data_source": {},
    "object": "list",
    "next_cursor": "cursor_123",
    "has_more": true,
    "results": [
      {
        "object": "page",
        "id": "123e4567-e89b-42d3-a456-426614174000"
      }
    ]
  }
}
```

Use `deepline describe notion_post_search --json` for the latest machine-readable contract.

## Input reference

Search by title

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.sort` | `object` | No | — | — |
| `payload.query` | `string` | No | — | — |
| `payload.start_cursor` | `string` | No | — | Format: `uuid`. |
| `payload.page_size` | `integer` | No | — | Minimum: 1. Maximum: 100. |
| `payload.filter` | `object` | No | — | — |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Search by title",
    "properties": {
      "sort": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "timestamp": {
                "type": "string",
                "enum": [
                  "last_edited_time"
                ]
              },
              "direction": {
                "type": "string",
                "enum": [
                  "ascending",
                  "descending"
                ]
              }
            },
            "required": [
              "timestamp",
              "direction"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "property": {
                "type": "string",
                "enum": [
                  "relevance"
                ]
              }
            },
            "required": [
              "property"
            ],
            "additionalProperties": false
          }
        ]
      },
      "query": {
        "type": "string"
      },
      "start_cursor": {
        "type": "string",
        "format": "uuid"
      },
      "page_size": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "filter": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "property": {
                "type": "string",
                "enum": [
                  "object"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "page",
                  "data_source"
                ]
              },
              "in_trash": {
                "type": "boolean"
              }
            },
            "required": [
              "property",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "in_trash": {
                "type": "boolean"
              }
            },
            "required": [
              "in_trash"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.type` | `"page_or_data_source"` | Yes | — | — |
| `result.data.page_or_data_source` | `object` | Yes | — | — |
| `result.data.object` | `"list"` | Yes | — | — |
| `result.data.next_cursor` | `string \| null` | Yes | — | — |
| `result.data.has_more` | `boolean` | Yes | — | — |
| `result.data.results` | `array` | Yes | — | — |
| `result.data.results[].object` | `"page"` | Yes | — | The page object type name. |
| `result.data.results[].id` | `string` | Yes | — | — |
| `result.data.results[].created_time` | `string` | Yes | — | Date and time when this page was created. |
| `result.data.results[].last_edited_time` | `string` | Yes | — | Date and time when this page was last edited. |
| `result.data.results[].in_trash` | `boolean` | Yes | — | Whether the page is in trash. |
| `result.data.results[].is_archived` | `boolean` | Yes | — | Whether the page has been archived. |
| `result.data.results[].is_locked` | `boolean` | Yes | — | Whether the page is locked from editing in the Notion app UI. |
| `result.data.results[].url` | `string` | Yes | — | The URL of the Notion page. |
| `result.data.results[].public_url` | `string \| null` | Yes | — | The public URL of the Notion page, if it has been published to the web. |
| `result.data.results[].parent` | `object` | Yes | — | — |
| `result.data.results[].parent.type` | `"database_id"` | Yes | — | The parent type. |
| `result.data.results[].parent.database_id` | `string` | Yes | — | — |
| `result.data.results[].parent.data_source_id` | `string` | Yes | — | — |
| `result.data.results[].parent.page_id` | `string` | Yes | — | — |
| `result.data.results[].parent.block_id` | `string` | Yes | — | — |
| `result.data.results[].parent.agent_id` | `string` | Yes | — | — |
| `result.data.results[].parent.workspace` | `true` | Yes | — | Always true for workspace parent. |
| `result.data.results[].properties` | `record` | Yes | — | Property values of this page. |
| `result.data.results[].icon` | `object \| null` | Yes | — | Page icon. |
| `result.data.results[].icon.type` | `"emoji"` | Yes | — | Type of icon. In this case, an emoji. |
| `result.data.results[].icon.emoji` | `string` | Yes | — | — |
| `result.data.results[].icon.file` | `object` | Yes | — | — |
| `result.data.results[].icon.file.url` | `string` | Yes | — | The URL of the file. |
| `result.data.results[].icon.file.expiry_time` | `string` | Yes | — | The time when the URL will expire. |
| `result.data.results[].icon.external` | `object` | Yes | — | The external URL for the icon. |
| `result.data.results[].icon.external.url` | `string` | Yes | — | The URL of the external file or resource. |
| `result.data.results[].icon.custom_emoji` | `object` | Yes | — | — |
| `result.data.results[].icon.custom_emoji.id` | `string` | Yes | — | — |
| `result.data.results[].icon.custom_emoji.name` | `string` | Yes | — | The name of the custom emoji. |
| `result.data.results[].icon.custom_emoji.url` | `string` | Yes | — | The URL of the custom emoji. |
| `result.data.results[].icon.icon` | `object` | Yes | — | — |
| `result.data.results[].icon.icon.name` | `string` | Yes | — | — |
| `result.data.results[].icon.icon.color` | `"gray" \| "lightgray" \| "brown" \| "yellow" \| "orange" \| "green" \| "blue" \| "purple" \| "pink" \| "red"` | Yes | — | — |
| `result.data.results[].cover` | `object \| null` | Yes | — | Page cover image. |
| `result.data.results[].cover.type` | `"file"` | Yes | — | Type of cover. In this case, a file. |
| `result.data.results[].cover.file` | `object` | Yes | — | — |
| `result.data.results[].cover.file.url` | `string` | Yes | — | The URL of the file. |
| `result.data.results[].cover.file.expiry_time` | `string` | Yes | — | The time when the URL will expire. |
| `result.data.results[].cover.external` | `object` | Yes | — | The external URL for the cover. |
| `result.data.results[].cover.external.url` | `string` | Yes | — | The URL of the external file or resource. |
| `result.data.results[].created_by` | `object` | Yes | — | — |
| `result.data.results[].created_by.id` | `string` | Yes | — | — |
| `result.data.results[].created_by.object` | `"user"` | Yes | — | Always `user` |

The table shows the first 50 fields. Use the live contract below for every field.

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe notion_post_search --json`.

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Notion provider guide](https://deepline.com/docs/providers/notion/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.