Kamarvo’s used prices as JSON. Read-only, and every figure is Kamarvo’s own, worked out from what shops list and sell. Access is by key; to ask for one, write to the address on the About page.
Send the key with every request, as Authorization: Bearer cp_… or
X-API-Key: cp_…. Keys are for servers: never put one in a web page.
Each key has a limit per minute (120 unless agreed otherwise); over it, the answer is
429 with Retry-After.
A model is addressed by its slug, the same one as its page:
/model/sony-a7-iv. Where the model is in
Sharply’s catalogue, the slug
is Sharply’s, so a Sharply slug can be used as it is. A slug a model had
before still answers, with the current one in slug.
One model. 404 if Kamarvo has no such model.
{
"currency": "EUR",
"rates_as_of": "2026-10-09",
"model": {
"slug": "sony-a7-iv",
"sharply_slug": "sony-a7-iv",
"url": "https://kamarvo.com/model/sony-a7-iv",
"name": "Sony A7 IV",
"brand": "Sony",
"kind": "camera",
"mount": "Sony E",
"estimate": {"cents": 159900, "basis": "sold", "sold_share": 0.74, "sample": 15,
"thin": false, "change_28d_pct": -2.4},
"asking": {"median_cents": 159900, "for_sale": 16},
"sales": {"total": 9, "last_30_days": 3, "median_days_to_sell": 11.0},
"updated_at": "2026-10-09T05:12:40Z"
}
}
Every model with at least one figure, in slug order, per_page at a time
(500 by default, at most 1000): page, pages, total
and models. ?sharply=1 keeps only models linked to a Sharply
item. Figures change once a night, so the answer carries an ETag; send it
back as If-None-Match and an unchanged page costs a 304.
Amounts are integers in cents (the currency’s minor unit). Every model takes
?currency= EUR (default), GBP, USD, PLN, CZK or DKK, converted at the
European Central Bank’s rate of rates_as_of.
estimate is the price Kamarvo would quote, or null:
recent sales blended with the median asking price (in which no shop counts for more
than a third). Each sale counts less the older it is; sold_share is the part
the sales carry, 0 with none recent, 0.5 with five. basis says which side
carries more, and sample how many units stand on that side; thin
is true under 5 — show it as a guide, not a market price. Parts-only and new units are never in it.
estimate.change_28d_pct: how the estimate moved in four weeks (only
when 10 or more units were for sale at both ends). asking: what is for
sale now. sales: units seen to sell, and the
median days they were listed.
Where a figure is shown, name Kamarvo and link the model’s url.