01-12-2025 09:22 PM
i want to write a python program that lists all items of a specific seller, regardless what it is.
my code looks like this:
.....
headers = {
'Authorization': f'Bearer {ACCESS_TOKEN}',
'X-EBAY-C-MARKETPLACE-ID': 'EBAY_DE',
'Content-Type': 'application/json',
}
# Query parameters
params = {
# 'q': 'D', q is somehow needed !? empty string does not work, without q i get an error, D is just for a test
'filter': 'sellers:{<sellername>}',
'limit': limit,
'sort': 'endingSoonest',
}
try:
response = requests.get(BASE_URL, headers=headers, params=params)
......
i just want to list all articles of a seller. this means the q parameter should be empty > match all articles.
but the problem is: the request call needs somehow a "q" query parameter. without q parameter i get an errorcode 12001. when q = "" (empty), i do not get an output. in the example above i set q to some value to test it.
how can i manage that?
01-30-2025 03:03 PM
The browse api is badly crippled when compared to the old APIs. I have been trying to find a way to rescue my ebay products that allowed stores to do product listing, store rating profiles, interactive feedback charts and so on on their homepage for months. But it's pretty much impossible without putting store owners at risk or hitting API limits. And I am not the only one, all of my competitors shut down as well due to the security problems that the new API introduces for store owners that want to list their products.
As for your question about q, you don't really need it. You can use category_ids (different for different country), charity_ids (useless for your task) or product numbers instead of "q".
Your best bet for getting all products of a store using Browse API would be doing many queries for the same store (until you filtered that store for ALL Level 1 categories) and then combine the results of all queries for a single store to a complete listing. Since different countries use different categories expect some overhead and extra logic.
01-31-2025 01:30 AM
I have found a workaround that makes it possible to enter all items of a seller: You use category ID 0:
/item_summary/search?filter=sellers:{sellername}&category_ids=0
This works.
The question now is whether this is a bug and the developers have to fear that this functionality will suddenly stop working at some point.
“The browse api is badly crippled when compared to the old APIs.”
I expressly agree with this sentence by “makorhimself”.
01-31-2025 10:32 AM - edited 01-31-2025 10:49 AM
Oh nice, didn't notice that one yet, even though I was testing with multiple category_ids. Thanks.
When I last tried to find a way to list products of a store you could also search for an q=[SPACE] ("q= ") which seemed to be working as if you were searching for "q=*". But since the documentation explicitly said that wildcards are not allowed on q, i decided that can only be an obvious bug in ebays API that I shouldn't abuse.
CategoryID=0 might be a better since the docs don't mention that wildcards or level 0 categories (?) aren't allowed. But I still have a bad feeling about actually using it since it's undocumented and has a sligthly fishy smell. eBay could change or fix this any day and then the whole project and 1000s of ebay stores listings/profiles etc would go offline from one day to the next.
Someone also suggested using "q=store:[STORENAME]" with STORENAME being urlencoded. I couldn't imagine this to actually work - but to my surprise that provided the user with an error message about the store not having any products. The error explicitly mentioning the store made me dig a bit deeper but i never got any products that way. Another dead end.
We tried some more things but we really found no way to be anywhere as secure and comfortable for the user as the older APIs. I feel sorry for our users, but it's not like we can force eBay to offer secure APIs for self promotion.
02-04-2025 11:29 AM - edited 02-04-2025 11:40 AM
Please ignore this comment. A typo led to the wrong conclusions and I can't delete this comment for some weird reason.