Skip to main content

Notion full reference

This is the full reference documentation for the Notion agent connector.

Supported entities and actions

The Notion connector supports the following entities and actions.

EntityActions
UsersList, Get, Search
PagesList, Get, Search
Data SourcesList, Get, Search
BlocksList, Get, Search
CommentsList

Users

Users List

Returns a paginated list of users for the workspace

Python SDK

await notion.users.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
start_cursorstringNoPagination cursor for next page
page_sizeintegerNoNumber of items per page (max 100)
Response Schema

Records

Field NameTypeDescription
idstring
objectstring | null
typestring | null
namestring | null
avatar_urlstring | null
personobject | null
botobject | null
request_idstring | null

Meta

Field NameTypeDescription
next_cursorstring | null
has_moreboolean | null

Users Get

Retrieves a single user by ID

Python SDK

await notion.users.get(
user_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "get",
"params": {
"user_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
user_idstringYesUser ID
Response Schema

Records

Field NameTypeDescription
idstring
objectstring | null
typestring | null
namestring | null
avatar_urlstring | null
personobject | null
botobject | null
request_idstring | null

Search and filter users records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await notion.users.search(
query={"filter": {"eq": {"avatar_url": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "search",
"params": {
"query": {"filter": {"eq": {"avatar_url": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
avatar_urlstringURL of the user's avatar
botobjectBot-specific data
idstringUnique identifier for the user
namestringUser's display name
objectobjectAlways user
personobjectPerson-specific data
typeobjectType of user (person or bot)
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].avatar_urlstringURL of the user's avatar
data[].botobjectBot-specific data
data[].idstringUnique identifier for the user
data[].namestringUser's display name
data[].objectobjectAlways user
data[].personobjectPerson-specific data
data[].typeobjectType of user (person or bot)

Pages

Pages List

Returns pages shared with the integration using the search endpoint

Python SDK

await notion.pages.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pages",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
filterobjectNo
filter.propertystringNo
filter.valuestringNo
sortobjectNo
sort.directionstringNo
sort.timestampstringNo
start_cursorstringNoPagination cursor
page_sizeintegerNo
Response Schema

Records

Field NameTypeDescription
idstring
objectstring | null
created_timestring | null
last_edited_timestring | null
created_byobject | null
last_edited_byobject | null
coverobject | null
iconobject | null
parentobject | any
archivedboolean | null
in_trashboolean | null
is_lockedboolean | null
propertiesobject | null
urlstring | null
public_urlstring | null
request_idstring | null

Meta

Field NameTypeDescription
next_cursorstring | null
has_moreboolean | null

Pages Get

Retrieves a page object using the ID specified

Python SDK

await notion.pages.get(
page_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pages",
"action": "get",
"params": {
"page_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
page_idstringYesPage ID
Response Schema

Records

Field NameTypeDescription
idstring
objectstring | null
created_timestring | null
last_edited_timestring | null
created_byobject | null
last_edited_byobject | null
coverobject | null
iconobject | null
parentobject | any
archivedboolean | null
in_trashboolean | null
is_lockedboolean | null
propertiesobject | null
urlstring | null
public_urlstring | null
request_idstring | null

Search and filter pages records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await notion.pages.search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pages",
"action": "search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates whether the page is archived or not.
coverobjectURL or reference to the page cover image.
created_byobjectUser ID or name of the creator of the page.
created_timestringDate and time when the page was created.
iconobjectURL or reference to the page icon.
idstringUnique identifier of the page.
in_trashbooleanIndicates whether the page is in trash or not.
last_edited_byobjectUser ID or name of the last editor of the page.
last_edited_timestringDate and time when the page was last edited.
objectobjectType or category of the page object.
parentobjectID or reference to the parent page.
propertiesarrayCustom properties associated with the page.
public_urlstringPublicly accessible URL of the page.
urlstringURL of the page within the service.
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates whether the page is archived or not.
data[].coverobjectURL or reference to the page cover image.
data[].created_byobjectUser ID or name of the creator of the page.
data[].created_timestringDate and time when the page was created.
data[].iconobjectURL or reference to the page icon.
data[].idstringUnique identifier of the page.
data[].in_trashbooleanIndicates whether the page is in trash or not.
data[].last_edited_byobjectUser ID or name of the last editor of the page.
data[].last_edited_timestringDate and time when the page was last edited.
data[].objectobjectType or category of the page object.
data[].parentobjectID or reference to the parent page.
data[].propertiesarrayCustom properties associated with the page.
data[].public_urlstringPublicly accessible URL of the page.
data[].urlstringURL of the page within the service.

Data Sources

Data Sources List

Returns data sources shared with the integration using the search endpoint

Python SDK

await notion.data_sources.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "data_sources",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
filterobjectNo
filter.propertystringNo
filter.valuestringNo
sortobjectNo
sort.directionstringNo
sort.timestampstringNo
start_cursorstringNoPagination cursor
page_sizeintegerNo
Response Schema

Records

Field NameTypeDescription
idstring
objectstring | null
created_timestring | null
last_edited_timestring | null
created_byobject | null
last_edited_byobject | null
titlearray | null
title[].typestring | null
title[].textobject | null
title[].annotationsobject | null
title[].plain_textstring | null
title[].hrefstring | null
descriptionarray | null
description[].typestring | null
description[].textobject | null
description[].annotationsobject | null
description[].plain_textstring | null
description[].hrefstring | null
iconobject | null
coverobject | null
propertiesobject | null
parentobject | any
database_parentobject | any
urlstring | null
public_urlstring | null
archivedboolean | null
in_trashboolean | null
is_inlineboolean | null
is_lockedboolean | null
request_idstring | null

Meta

Field NameTypeDescription
next_cursorstring | null
has_moreboolean | null

Data Sources Get

Retrieves a data source object using the ID specified

Python SDK

await notion.data_sources.get(
data_source_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "data_sources",
"action": "get",
"params": {
"data_source_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
data_source_idstringYesData Source ID
Response Schema

Records

Field NameTypeDescription
idstring
objectstring | null
created_timestring | null
last_edited_timestring | null
created_byobject | null
last_edited_byobject | null
titlearray | null
title[].typestring | null
title[].textobject | null
title[].annotationsobject | null
title[].plain_textstring | null
title[].hrefstring | null
descriptionarray | null
description[].typestring | null
description[].textobject | null
description[].annotationsobject | null
description[].plain_textstring | null
description[].hrefstring | null
iconobject | null
coverobject | null
propertiesobject | null
parentobject | any
database_parentobject | any
urlstring | null
public_urlstring | null
archivedboolean | null
in_trashboolean | null
is_inlineboolean | null
is_lockedboolean | null
request_idstring | null

Search and filter data sources records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await notion.data_sources.search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "data_sources",
"action": "search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates if the data source is archived or not.
coverobjectURL or reference to the cover image of the data source.
created_byobjectThe user who created the data source.
created_timestringThe timestamp when the data source was created.
database_parentobjectThe grandparent of the data source (parent of the database).
descriptionarrayDescription text associated with the data source.
iconobjectURL or reference to the icon of the data source.
idstringUnique identifier of the data source.
is_inlinebooleanIndicates if the data source is displayed inline.
last_edited_byobjectThe user who last edited the data source.
last_edited_timestringThe timestamp when the data source was last edited.
objectobjectThe type of object (data_source).
parentobjectThe parent database of the data source.
propertiesarraySchema of properties for the data source.
public_urlstringPublic URL to access the data source.
titlearrayTitle or name of the data source.
urlstringURL or reference to access the data source.
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates if the data source is archived or not.
data[].coverobjectURL or reference to the cover image of the data source.
data[].created_byobjectThe user who created the data source.
data[].created_timestringThe timestamp when the data source was created.
data[].database_parentobjectThe grandparent of the data source (parent of the database).
data[].descriptionarrayDescription text associated with the data source.
data[].iconobjectURL or reference to the icon of the data source.
data[].idstringUnique identifier of the data source.
data[].is_inlinebooleanIndicates if the data source is displayed inline.
data[].last_edited_byobjectThe user who last edited the data source.
data[].last_edited_timestringThe timestamp when the data source was last edited.
data[].objectobjectThe type of object (data_source).
data[].parentobjectThe parent database of the data source.
data[].propertiesarraySchema of properties for the data source.
data[].public_urlstringPublic URL to access the data source.
data[].titlearrayTitle or name of the data source.
data[].urlstringURL or reference to access the data source.

Blocks

Blocks List

Returns a paginated list of child blocks for the specified block

Python SDK

await notion.blocks.list(
block_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "blocks",
"action": "list",
"params": {
"block_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
block_idstringYesBlock or page ID
start_cursorstringNoPagination cursor for next page
page_sizeintegerNoNumber of items per page (max 100)
Response Schema

Records

Field NameTypeDescription
idstring
objectstring | null
typestring | null
created_timestring | null
last_edited_timestring | null
created_byobject | null
last_edited_byobject | null
has_childrenboolean | null
archivedboolean | null
in_trashboolean | null
parentobject | any
paragraphobject | null
heading_1object | null
heading_2object | null
heading_3object | null
bulleted_list_itemobject | null
numbered_list_itemobject | null
to_doobject | null
toggleobject | null
codeobject | null
child_pageobject | null
child_databaseobject | null
calloutobject | null
quoteobject | null
dividerobject | null
table_of_contentsobject | null
bookmarkobject | null
imageobject | null
videoobject | null
fileobject | null
pdfobject | null
embedobject | null
equationobject | null
tableobject | null
table_rowobject | null
columnobject | null
column_listobject | null
synced_blockobject | null
templateobject | null
link_previewobject | null
link_to_pageobject | null
breadcrumbobject | null
unsupportedobject | null
request_idstring | null

Meta

Field NameTypeDescription
next_cursorstring | null
has_moreboolean | null

Blocks Get

Retrieves a block object using the ID specified

Python SDK

await notion.blocks.get(
block_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "blocks",
"action": "get",
"params": {
"block_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
block_idstringYesBlock ID
Response Schema

Records

Field NameTypeDescription
idstring
objectstring | null
typestring | null
created_timestring | null
last_edited_timestring | null
created_byobject | null
last_edited_byobject | null
has_childrenboolean | null
archivedboolean | null
in_trashboolean | null
parentobject | any
paragraphobject | null
heading_1object | null
heading_2object | null
heading_3object | null
bulleted_list_itemobject | null
numbered_list_itemobject | null
to_doobject | null
toggleobject | null
codeobject | null
child_pageobject | null
child_databaseobject | null
calloutobject | null
quoteobject | null
dividerobject | null
table_of_contentsobject | null
bookmarkobject | null
imageobject | null
videoobject | null
fileobject | null
pdfobject | null
embedobject | null
equationobject | null
tableobject | null
table_rowobject | null
columnobject | null
column_listobject | null
synced_blockobject | null
templateobject | null
link_previewobject | null
link_to_pageobject | null
breadcrumbobject | null
unsupportedobject | null
request_idstring | null

Search and filter blocks records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await notion.blocks.search(
query={"filter": {"eq": {"archived": True}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "blocks",
"action": "search",
"params": {
"query": {"filter": {"eq": {"archived": True}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
archivedbooleanIndicates if the block is archived or not.
bookmarkobjectRepresents a bookmark within the block
breadcrumbobjectRepresents a breadcrumb block.
bulleted_list_itemobjectRepresents an item in a bulleted list.
calloutobjectDescribes a callout message or content in the block
child_databaseobjectRepresents a child database block.
child_pageobjectRepresents a child page block.
codeobjectContains code snippets or blocks in the block content
columnobjectRepresents a column block.
column_listobjectRepresents a list of columns.
created_byobjectThe user who created the block.
created_timestringThe timestamp when the block was created.
dividerobjectRepresents a divider block.
embedobjectContains embedded content such as videos, tweets, etc.
equationobjectRepresents an equation or mathematical formula in the block
fileobjectRepresents a file block.
has_childrenbooleanIndicates if the block has children or not.
heading_1objectRepresents a level 1 heading.
heading_2objectRepresents a level 2 heading.
heading_3objectRepresents a level 3 heading.
idstringThe unique identifier of the block.
imageobjectRepresents an image block.
last_edited_byobjectThe user who last edited the block.
last_edited_timestringThe timestamp when the block was last edited.
link_previewobjectDisplays a preview of an external link within the block
link_to_pageobjectProvides a link to another page within the block
numbered_list_itemobjectRepresents an item in a numbered list.
objectobjectRepresents an object block.
paragraphobjectRepresents a paragraph block.
parentobjectThe parent block of the current block.
pdfobjectRepresents a PDF document block.
quoteobjectRepresents a quote block.
synced_blockobjectRepresents a block synced from another source
tableobjectRepresents a table within the block
table_of_contentsobjectContains information regarding the table of contents
table_rowobjectRepresents a row in a table within the block
templateobjectSpecifies a template used within the block
to_doobjectRepresents a to-do list or task content
toggleobjectRepresents a toggle block.
typeobjectThe type of the block.
unsupportedobjectRepresents an unsupported block.
videoobjectRepresents a video block.
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].archivedbooleanIndicates if the block is archived or not.
data[].bookmarkobjectRepresents a bookmark within the block
data[].breadcrumbobjectRepresents a breadcrumb block.
data[].bulleted_list_itemobjectRepresents an item in a bulleted list.
data[].calloutobjectDescribes a callout message or content in the block
data[].child_databaseobjectRepresents a child database block.
data[].child_pageobjectRepresents a child page block.
data[].codeobjectContains code snippets or blocks in the block content
data[].columnobjectRepresents a column block.
data[].column_listobjectRepresents a list of columns.
data[].created_byobjectThe user who created the block.
data[].created_timestringThe timestamp when the block was created.
data[].dividerobjectRepresents a divider block.
data[].embedobjectContains embedded content such as videos, tweets, etc.
data[].equationobjectRepresents an equation or mathematical formula in the block
data[].fileobjectRepresents a file block.
data[].has_childrenbooleanIndicates if the block has children or not.
data[].heading_1objectRepresents a level 1 heading.
data[].heading_2objectRepresents a level 2 heading.
data[].heading_3objectRepresents a level 3 heading.
data[].idstringThe unique identifier of the block.
data[].imageobjectRepresents an image block.
data[].last_edited_byobjectThe user who last edited the block.
data[].last_edited_timestringThe timestamp when the block was last edited.
data[].link_previewobjectDisplays a preview of an external link within the block
data[].link_to_pageobjectProvides a link to another page within the block
data[].numbered_list_itemobjectRepresents an item in a numbered list.
data[].objectobjectRepresents an object block.
data[].paragraphobjectRepresents a paragraph block.
data[].parentobjectThe parent block of the current block.
data[].pdfobjectRepresents a PDF document block.
data[].quoteobjectRepresents a quote block.
data[].synced_blockobjectRepresents a block synced from another source
data[].tableobjectRepresents a table within the block
data[].table_of_contentsobjectContains information regarding the table of contents
data[].table_rowobjectRepresents a row in a table within the block
data[].templateobjectSpecifies a template used within the block
data[].to_doobjectRepresents a to-do list or task content
data[].toggleobjectRepresents a toggle block.
data[].typeobjectThe type of the block.
data[].unsupportedobjectRepresents an unsupported block.
data[].videoobjectRepresents a video block.

Comments

Comments List

Returns a list of comments for a specified block or page

Python SDK

await notion.comments.list(
block_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "list",
"params": {
"block_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
block_idstringYesBlock or page ID to retrieve comments for
start_cursorstringNoPagination cursor for next page
page_sizeintegerNoNumber of items per page (max 100)
Response Schema

Records

Field NameTypeDescription
idstring
objectstring | null
parentobject | any
discussion_idstring | null
created_timestring | null
last_edited_timestring | null
created_byobject | null
rich_textarray | null
rich_text[].typestring | null
rich_text[].textobject | null
rich_text[].annotationsobject | null
rich_text[].plain_textstring | null
rich_text[].hrefstring | null

Meta

Field NameTypeDescription
next_cursorstring | null
has_moreboolean | null