import requests apiurl = "http://en.wikipedia.org/w/api.php" params = {'action': 'query', 'format': 'json', 'list': 'categorymembers', 'cmtitle': 'Category:Gastropods_described_in_1999', 'cmtype': 'page', 'cmlimit': 300, 'cmsort': 'sortkey', 'cmstartsortkeyprefix': 'H', 'cmendsortkeyprefix': 'I', } # Request with cmlimit big enough to accomodate all expected results rsponse = requests.get(url=apiurl, params=params) print('###### Everything beginning with H in one gulp ######') print(rsponse.json()) # reduce cmlimit and iterate with continue parameters print('###### Using cmlimit=20 ######') params['cmlimit'] = 20 complete = '' iteration = 1 while complete == '': rsponse = requests.get(url=apiurl, params=params) json = rsponse.json() print('>>>> iteration=' + str(iteration) + ' <<<<') print(json) if (json.get('continue')): for contkey, value in json['continue'].items(): params[contkey] = value else: complete = 'complete' iteration = iteration + 1