it’s strange that a company like eBay doesn’t make it easy for sellers to get the resources they need. have you tried getting a complete list of all eBay categories? maybe with the eBay category tree? – you will find that there’s not a convenient download location, albeit there should be!
the “trick” so I’ve learned is to get it yourself.
here is a very short python script that will get your categories:
#! /usr/bin/env python import tools as t import xmltodict as xml import requests url = 'http://open.api.ebay.com/Shopping?callname=GetCategoryInfo&appid={}&siteid={}&CategoryID={}&version=729&IncludeSelector=ChildCategories' app_id = 'XXXX' #get your own eBay app id site_id = '3' # 3 is UK to_get = [-1] # start at the top done = [] categories = {} if __name__ == "__main__": while len(to_get) > 0: cid = to_get.pop() re = requests.get(url.format(app_id, site_id, cid)) root = xml.parse(re.text) cats = root['GetCategoryInfoResponse']['CategoryArray']['Category'] for cat in cats: if cat['CategoryID'] not in categories: print(cat.get('CategoryName', 0)) c = {'category_id': cat.get('CategoryID', 0), 'category_level': cat.get('CategoryLevel', 0), 'category_name': cat.get('CategoryName', 0), 'category_parent_id': cat.get('CategoryParentID', 0), 'leaf_category': cat.get('LeafCategory', 0), 'category_name_path': cat.get('CategoryNamePath', 0)} categories[cat['CategoryID']] = c done.append(cid) if cat['CategoryID'] not in done and cat['LeafCategory'] == 'false' : to_get.append(cat['CategoryID']) with open('eBay_categories.tsv', 'w', encoding="utf-8") as of: of.write("category_idtcategory_leveltcategory_nametcategory_parent_idtleaf_categorytCategoryNamePathn") for k,v in categories.items(): of.write(str(v['category_id']) + "t" + str(v['category_level']) + "t" + str(v['category_name']) + "t" + str(v['category_parent_id']) + "t" + str(v['leaf_category']) + "t" + str(v['category_name_path']) + "n")
the above will then create a tab-delimited text file named ‘eBay_categories.tsv’.
please note you will need both the “requests” and the “xmltodict” modules. they can be easily obtained using pypi. this code is python 3