Contracts Appraisal - API for Pricing Data Based on Contracts


(Rihan Shazih) #1

I’m releasing a new pricing API based on item_exchange sell contracts (e.g. for researched BPOs a and BPCs): Swagger Spec

This API will also power the soon to be released JEveAssets 6 which adds pricing for researched blueprint originals and blueprint copies.

The tech stack is AWS Lambda (Python) with DynamoDB below, enabling endless horizontal scaling. Feel free to fire 10.000 requests in parallel if your machine can handle that. Non cached request times are stable around 1 second or less and caching drops that to around 300ms (including latency from Europe to us-east-1 where the datacenter is). Maximum caching is 3 hours, check the Expires header.

The database currently holds ~180k contracts and grows by ~400 contracts every hour. After refining the contracts we have data on ~5800 types (BPCs are considered different types than BPOs). That gives us a lot of data, but still not enough for every material/time efficiency combination. Therefore we apply linear regression for BPOs/BPCs where the material/time efficiency combinations are incomplete, results might be wonky.

Go try it out with Capital Remote Shield Booster I Blueprint (3617), Damage Control II Blueprint (2049, use the bpc filter!), Rhea (28844) or any other item you’d like to know more about. You can use ESI to get more typeIds.

Warning: Don’t use this API for abyssal items as it doesn’t check the attributes (yet). I focussed on BPOs/BPCs for now and will maybe later on look into abyssal pricing.