Skip to content
merran
GitHubInstall

Merran documentation API & integrations

What the list costs

GET
/api/stores/list-prices
curl --request GET \
--url http://localhost:3000/api/stores/list-prices \
--cookie merran.session_token=<merran.session_token>

What each thing left to get on the list for the household’s Kroger store costs, for the packages needed, and the real deals among them. From the product kept for each food and the last price seen for it, without a look at the store: nothing without a Kroger store. With an API key, it needs the list: read permission.

Its prices.

Media typeapplication/json
object
store
required

The household’s Kroger store’s banner, or null without one.

string | null
currency
required
string
items
required

By list item id, what’s left to get on every list, each at its store. Things with no product kept for them at a store, or no price, are left out.

object
key
additional properties
object
store
required

The store it’s priced at: where the household picked a product for it, newest first, else its Kroger store.

string
total
required

In cents, for the packages needed, at the sale price when there’s a sale.

integer
packages
required
integer
sure
required

How many is worked out from the product’s size, not a guess.

boolean
sale
required

A real deal on it today; one barely off is left out.

object
verdict
required
string
Allowed values: lowest sale
saved
required

What it takes off the packages needed, in cents.

integer
ends
required
string | null format: date
usual
required

What a package usually costs, in cents, when it’s on sale.

integer | null
product
required

The product priced.

string
seenOn
required

The day the price was seen.

string format: date

Example

{
"store": "Fry's",
"currency": "USD",
"items": {
"0199e8b0-5a10-7a01-8b00-00000000001d": {
"store": "Fry's",
"total": 598,
"packages": 2,
"sure": true,
"sale": {
"verdict": "sale",
"saved": 100,
"ends": "2026-10-21"
},
"usual": 349,
"product": "Kroger 2% Reduced Fat Milk",
"seenOn": "2026-10-17"
}
}
}

Not signed in.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

Not allowed.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

© 2026 Kyle Johnson. Documentation: CC BY 4.0. Merran: AGPL-3.0-or-later.