Search method in Client has a wrong implementation for limit (my bad, since it's an implementation of mine)
The next response from packagist is an URL, like for example https://packagist.org/search.json?q=symfony&page=2 and not simply the page itself.
So, the current comparison response['next'] <= $limit is meaningless, and always false.