def text_search(self, text, sort=None, offset=100, page=1):
        assert page >= 1, f'Invalid page value {page}. Required page >= 1.'
        payload = {"text": text, "sort": sort, "offset": offset, "page": page}
        response = self.requests_session.get(
            f'{self.url}/query',
            params=payload,
            headers=self._headers
        )
        if response.status_code == 200:
            return self._parse_search_response(response.content)
        else:
            raise Exception(f'Unable to search for DDO: {response.content}')