Notion API Returns Incomplete Property Sets

When querying a Notion database via the REST API, only some properties appear. Why aren’t all 23 properties returned?

import yaml
from notion_client import Client

class NotionConnector:
    def __init__(self):
        self.client = None
        self.db_registry = {}

    def setup(self):
        with open('config.yaml', 'r') as file:
            config = yaml.safe_load(file)
        token = config.get('api_token', '')
        self.client = Client(auth=token)

    def load_databases(self):
        data = self.client.databases.list()
        for db in data.get('results', []):
            name = db['title'][0]['plain_text']
            self.db_registry[name] = db['id']
            print(f"Loaded: {name}")

haven’t found a solid answer but i think notion only shows a limited set for performance. try fetching the complete page details separately and recheck your permissions, sometimes missing properties are due to API config issues.

It appears that the Notion API may not return all properties in a single query as a built-in optimization. In my experience, the API often returns only a subset of the available data, requiring additional requests to fetch complete page details. I found that by checking the API documentation closely and reviewing the response structure, I could adjust my implementation to make supplementary calls for missing properties. This approach may require reviewing the guidelines for pagination or related linked properties, as Notion manages these fields separately.