There is even a blog post that describes how to use similar method to get all the vendors and product tags as it's impossible to do with API. His code for the vendors seems to be more complicate from the quoted above.
Well this solution likely works, and in one of the threads above it's been reported as the year-proof solution, but there is a problem in my case. The store is password protected so to access this page from within my app, I would need to write a separate authentication code just for this task. So I thought I could query the page through admin API. And I actually could, but page's body_html is empty, so it returns an uninterpreted page content and I haven't figured out how can you request the actual page content though the API.
4. As found on this stackoverflow thread you can also get this straight without the need to create any page templates by querying
Tragically, I do not think you can solve this "perfectly" (as desired in case 3)
First off: GREAT post here, I am dealing with a similar problem
Second: I was horrified to see Shopify does not treat "vendors" like a Taxonomy or a Collection, so I am in a situation where a vendor name needs to change, but seems like our only option is to use the bulk editor and copy/paste them all one.at.a.time
Lastly: I think your only 2 solutions for CASE 3 (as you describe it) is to
1- manually enter ALL the vendors you want on the server side of your system [yuk]
- or -
2- you COULD (in theory) scrape the page. For example, this may be absurd but might work: create a CUSTOM page template that spits out XML! then use that "page template" as your makeshift feed into your system to "access the contents of the generated page". In this case you need yet another page.
New Page Template: MyVendorsAPI = have that page spit out JSON or XML for your vendors, just code it up in liquid. Make sure that page does not render HTML (nor the template, nor header, nor anything) - then try to SCRAPE that page for your JSON or XML list of "all vendors". Once you have that then you can "do stuff" with it.
But yea... Its crazy to me there is no way to just "get all vendors" via the API.