diff --git a/singer_sdk/streams/rest.py b/singer_sdk/streams/rest.py index 378b32c732..532006e1b4 100644 --- a/singer_sdk/streams/rest.py +++ b/singer_sdk/streams/rest.py @@ -395,7 +395,14 @@ def request_records(self, context: dict | None) -> t.Iterable[dict]: resp = decorated_request(prepared_request, context) request_counter.increment() self.update_sync_costs(prepared_request, resp, context) - yield from self.parse_response(resp) + records = iter(self.parse_response(resp)) + try: + first_record = next(records) + except StopIteration: + self.logger.info("No records found in response") + break + yield first_record + yield from records paginator.advance(resp)