> ## 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: Retrieve A Page

> Retrieve a page. Notion Retrieve A Page reference includes SDK V2 and CLI requests, input constraints, response fields, and Deepline cost.

Retrieve a page.

<Info>
  Tool ID: `notion_retrieve_a_page`
</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_retrieve_a_page',
  {
    "page_id": "page_123"
  },
);

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

### CLI

```bash theme={null}
deepline tools execute notion_retrieve_a_page --input '{
  "page_id": "page_123"
}' --json
```

## Example response

The SDK exposes this shape at `result.toolResponse.raw`. Values below are representative.

```json theme={null}
{
  "data": {
    "object": "page",
    "id": "123e4567-e89b-42d3-a456-426614174000"
  }
}
```

Use `deepline tools get notion_retrieve_a_page --json` for the latest machine-readable contract.

## Input reference

Retrieve a page

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.page_id` | `string` | Yes | — | — |
| `payload.filter_properties` | `array` | No | — | Supply a list of property IDs to filter properties in the response. Note that if a page doesn't have a property, it won't be included in the filtered response. Maximum items: 100. |

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Retrieve a page",
    "properties": {
      "page_id": {
        "type": "string"
      },
      "filter_properties": {
        "type": "array",
        "description": "Supply a list of property IDs to filter properties in the response. Note that if a page doesn't have a property, it won't be included in the filtered response.",
        "maxItems": 100,
        "items": {
          "type": "string"
        }
      }
    },
    "required": [
      "page_id"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

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

<Info>
  This output schema is too large to embed without slowing the page. Get the complete live contract with `deepline tools get notion_retrieve_a_page --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.