> ## 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 by title. Notion Post Search reference includes SDK V2 and CLI requests, input constraints, response fields, and Deepline cost.

Search by title.

<Info>
  Tool ID: `notion_post_search`
</Info>

## Run this action

Use the TypeScript SDK for a single call. Put `ctx.tools.execute(...)` inside a Play when the call should be durable, scheduled, or run across a CSV.

```ts theme={null}
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={null}
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 exposes this shape at `result.toolResponse.raw`. Values below are representative.

```json theme={null}
{
  "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 tools get 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={null}
  {
    "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.

<Info>
  This output schema is too large to embed without slowing the page. Get the complete live contract with `deepline tools get notion_post_search --json`.
</Info>

## 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](/docs/providers/notion/guide)
* [SDK V2 quickstart](/docs/sdk-v2/quickstart)
* [SDK reference](/docs/sdk-v2/sdk-reference)
* [Run tools across a CSV](/docs/sdk-v2/batch-csv)


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