I guess you could use the item search endpoint for the retail version and apply the range feature to limit some results. Just keep in mind the classic is not 100% vanilla, some items like the wow token and some seasonal/promotional items have higher IDs.
Also keep in mind some item descriptions/stats (or any data in general) will not match the classic version.
This sample request will limit the response to include items with id between 1 and 1000:
A few important notes about this approach:
- The response payload is capped at 1000 items, no matter if you request 1 page with 1000 or 10 pages with 100 items.
- In order to get the next 1000 items you have to request the next range
id=[2001,3000] and so on.
- There are some gaps between item ids, so it is possible you’ll receive less than 1000 items in the response
Ideally you would create a back-end for your app and cache all items in a local database, but I guess this will get you close enough for a school project.
Edit: Since the search endpoint does not return stats you might just use the classic version and fetch the item data from retail. If you want to display useful data you’ll have to perform multiple requests anyway.