code: def get_homes(self, query=None, gps_lat=None, gps_lng=None, offset=0, items_per_grid=8):
          
          params = {
              'is_guided_search': 'true',
              'version': '1.3.9',
              'section_offset': '0',
              'items_offset': str(offset),
              'adults': '0',
              'screen_size': 'small',
              'source': 'explore_tabs',
              'items_per_grid': str(items_per_grid),
              '_format': 'for_explore_search_native',
              'metadata_only': 'false',
              'refinement_paths[]': '/homes',
              'timezone': 'Europe/Lisbon',
              'satori_version': '1.0.7'
          }
  
          if not query and not (gps_lat and gps_lng):
              raise MissingParameterError("Missing query or gps coordinates")
  
          if query:
              params['query'] = query
  
          if gps_lat and gps_lng:
              params['gps_lat'] = gps_lat
              params['gps_lng'] = gps_lng
  
          r = self._session.get(API_URL + '/explore_tabs', params=params)
          r.raise_for_status()
  
          return r.json()
docs: Search listings with
              * Query (e.g. query="Lisbon, Portugal") or
              * Location (e.g. gps_lat=55.6123352&gps_lng=37.7117917)