Lexxon.3147:

I want to make a crafting assistance utility, but the way the API is set-up makes things difficult for me. There’s the items and item_details repositories, but they make it incredibly difficult to mine the information I need to create my utility.

I have an enormous list of item ID’s over here, but I don’t know what items they go with until I make a call to the other repository. I tried to automate things, but I think I hit a rate limit because I’m required to make n+1 HTTP requests where n is the number of items in all of GW2.

Is there an API that makes things easier on me? Is there a way to go about this using the items and item_details lists better than I currently am?

As further explanation, I want to either collect information on all of the potential crafting materials and outputs (I’m focusing on cooking first) so I can form a database, or I want to be able to readily use information about an item or set of items as keys to refer to other items (essentially use the static API as it exists as my “database”, which I think is the point of its existence in the first place, but I can’t wrap my head around how it’s supposed to be useful as a pile of disembodied keys).

Thanks for any insight you can provide.

smiley.1438:

I think you may want to take a look at this: https://github.com/codemasher/gw2-database

Ryan.9387:

https://forum-en.guildwars2.com/forum/community/api/Guide-to-the-Black-Lion-Trading-Co-API/first#post2962070

You may try to look at this section of the guide.

?text=&levelmin=0&levelmax=80
This combination will return a list of all the items along with their buy and sell listings and prices. By default this only returns 10 items at a time, but this is adjustable by the count= parameter. If count=0 it will return all of the items in the list. The offset= parameter starts the listing based on that number in the list (1 is the first item) The text= can be filled in to filter by the item name, but leaving it blank is still valid. levelmin and levelmax require valid numbers to be entered. Other filters that are optional are removeunavailable=true, rarity=, type=, and subtype= (these last 3 require their numeric representation, not characters). WARNING: This can pull in ALL ITEMS and can take a long time to run and take a great deal of memory to process

I haven’t used it myself, but if it is true you could just pull all data and deal with the filtering on your end rather than filtering before pulling data.