diff --git a/airbyte-integrations/connectors/source-shopify/source_shopify/source.py b/airbyte-integrations/connectors/source-shopify/source_shopify/source.py index a03aafabd445..d64fe153175d 100644 --- a/airbyte-integrations/connectors/source-shopify/source_shopify/source.py +++ b/airbyte-integrations/connectors/source-shopify/source_shopify/source.py @@ -44,6 +44,9 @@ def __init__(self, config: Dict): super().__init__(authenticator=config["authenticator"]) self._transformer = DataTypeEnforcer(self.get_json_schema()) self.config = config + page_size = self.config.get("page_size", None) + if page_size: + self.limit = page_size @property def url_base(self) -> str: diff --git a/airbyte-integrations/connectors/source-shopify/source_shopify/spec.json b/airbyte-integrations/connectors/source-shopify/source_shopify/spec.json index bb4bc3dea3d3..a486f14ddede 100644 --- a/airbyte-integrations/connectors/source-shopify/source_shopify/spec.json +++ b/airbyte-integrations/connectors/source-shopify/source_shopify/spec.json @@ -40,6 +40,15 @@ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$", "format": "date", "order": 3 + }, + "page_size": { + "type": "integer", + "title": "Page Size", + "description": "The number of records to fetch per API call. The default is 250.", + "default": 250, + "minimum": 50, + "maximum": 250, + "order": 4 } } }