The pricing API can be accessed at

An optional URL parameter can be attached to get either the stored original prices or only AristanderAI prices:

One parameter is required: 'format', however this value must be set to 'csv' for large numbers of products (greater than 10).

By default returns the AristanderAI optimized prices

The API will return a gzipped, headered, UTF-8 encoded CSV containing two columns: product_id, price

Additionally, the API will return three header values:

  • price_mode - this value is to be set by your system to either 'split', 'timeseries', or 'fixed'

  • pricelist_source - will be set to 'original', or 'aristander' - indicates where the pricelist came from

  • model_params - a string that is used internally for tracking model performance

It is vital that the pricelist_source parameter is tied to the returned prices. For example, if you call the /prices API - as soon as you update your system to reflect the recommended prices, all pricelist_source parameters should be set to the newly returned one in new events.

If you are doing split testing, then each event should have the pricelist_source parameter match the pricelist that the user was assigned.

An example curl call demonstrating this:

curl --header "Content-Type: application/json"
-d '{
        "format" : "csv"
-u demo:

The format parameter determines the return type. The available options are: "json" and "csv".

Example JSON response:

"prices" : {
    "product_id1" : 10.47,
    "product_id2" : 10.30,
    "product_id3" : 5.00,
    "product_id4" : 1.00

Example CSV response:


We recommend the price API is called once per hour.

General Workflow

  1. Set the 'price_mode' variable internally to your preferred mode: timeseries, fixed, or split.

  2. Call once per hour and update your internal AristanderAI list with the new prices and new model params

  3. If using timeseries: after getting the new pricelist, randomly select a pricelist: AristanderAI or original. For the next hour, assign all new sessions this pricelist. If using split: assign 50% of sessions the AristanderAI pricelist, and 50% the original pricelist (your own prices).

  4. Attach price_mode, pricelist_source, and model_params to all new events.

Last updated