Scope of Cache-Timers

When I pull Market orders I do it for one Type ID at a time.
But I am pulling Order-data for 100+ Types in short order from here:

https://esi.evetech.net/latest/markets/10000002/orders/?datasource=tranquility&order_type=sell&page=1&type_id=34

The Cache timer is 300 seconds.

My question is, what exactly these 300 seconds refer to.
When I requested the data for one type-ID, do I have to wait 300s before doing any request to

markets/…/orders

or can i pull 100 types in short oder this way and have to wait 300s until I request the same type again ?

It’s related to the freshness of the data. I.e. future requests for the same items would return stale data until the cache timer expires in 300 seconds. IIRC you can use the last-modified and expires headers to figure out when exactly it’ll be fresh again.

Depending on the items you’re pulling, might just be faster to fetch all the pages, and handle all your items at once. Or if you only really care about min buy and max sell, could consider using an aggregate API like Fuzzwork Market Data. Assuming 30min cache timers are okay for your use case.

Just going to repeat a very important point: If you’re requesting more more than ~10 types. it will be a million time faster to omit the typeID parameter and get all orders. It’s simply a waste of requests, and I would advice against wasting ESI resources like that.

Other advice: Be sure to check the last-modified header to ensure all the pages are generated at the same time. If you send your requests as soon as the cache expires you may hit some pages still cached on the cloud side of ESI. The longer you wait the less chance there is of that happening (somewhere between a few hounded ms to 10s is my suggestion).

Also, read the docs:

At a minimum read the rules:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.