| name | notion-api-2-query-databases |
| description | Sub-skill of notion-api: 2. Query Databases. |
| version | 1.0.0 |
| category | business |
| type | reference |
| scripts_exempt | true |
2. Query Databases
2. Query Databases
Basic Query:
curl -s -X POST "https://api.notion.com/v1/databases/DATABASE_ID/query" \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{}' | jq '.results'
curl -s -X POST "https://api.notion.com/v1/databases/DATABASE_ID/query" \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"property": "Status",
"select": {
"equals": "In Progress"
}
}
}' | jq '.results'
curl -s -X POST "https://api.notion.com/v1/databases/DATABASE_ID/query" \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{
"sorts": [
{
"property": "Due Date",
"direction": "ascending"
}
]
}' | jq '.results'
Python - Query Operations:
results = notion.databases.query(database_id="your-database-id")
for page in results["results"]:
props = page["properties"]
name = props["Name"]["title"][0]["plain_text"] if props["Name"]["title"] else "Untitled"
print(f"- {name}")
results = notion.databases.query(
database_id="your-database-id",
filter={
"property": "Status",
"select": {
"equals": "In Progress"
}
}
)
results = notion.databases.query(
database_id="your-database-id",
filter={
"and": [
{
"property": "Status",
"select": {"equals": "In Progress"}
},
{
"property": "Priority",
"select": {"equals": "High"}
}
]
}
)
results = notion.databases.query(
database_id="your-database-id",
filter={
"or": [
{"property": "Status", : {: }},
{: , : {: }}
]
}
)
results = notion.databases.query(
database_id=,
sorts=[
{: , : },
{: , : }
]
)
():
all_results = []
has_more =
start_cursor =
has_more:
response = notion.databases.query(
database_id=database_id,
=,
start_cursor=start_cursor,
page_size=
)
all_results.extend(response[])
has_more = response[]
start_cursor = response.get()
all_results
all_items = query_all_pages()
()