def search(self, filters=None, start_index=<NUM_LIT:0>, limit=<NUM_LIT:100>):
assert filters is None or isinstance(filters, Filter), '<STR_LIT>'<EOL>if filters:<EOL><INDENT>filter_string = filters.search_string()<EOL><DEDENT>else:<EOL><INDENT>filter_string = '<STR_LIT:default>'<EOL><DEDENT>payload = {<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': filter_string,<EOL>'<STR_LIT>': start_index,<EOL>'<STR_LIT>': limit<EOL>}<EOL>response = self.session.post('<STR_LIT>', data=payload)<EOL>json_response = response.json()<EOL>if self.session.json_success(json_response):<EOL><INDENT>results = json_response['<STR_LIT>']<EOL>for loan in results['<STR_LIT>']:<EOL><INDENT>loan['<STR_LIT>'] = int(loan['<STR_LIT>'])<EOL><DEDENT>if filters is not None:<EOL><INDENT>filters.validate(results['<STR_LIT>'])<EOL><DEDENT>return results<EOL><DEDENT>return False<EOL>
Search for a list of notes that can be invested in.
(similar to searching for notes in the Browse section on the site)

Parameters
----------
filters : lendingclub.filters.*, optional
    The filter to use to search for notes. If no filter is passed, a wildcard search
    will be performed.
start_index : int, optional
    The result index to start on. By default only 100 records will be returned at a time, so use this
    to start at a later index in the results. For example, to get results 200 - 300, set `start_index` to 200.
    (default is 0)
limit : int, optional
    The number of results to return per request. (default is 100)

Returns
-------
dict
    A dictionary object with the list of matching loans under the `loans` key.