Endpoints
GET /api/v1/productsGET /api/v1/products/:slugGET /api/v1/products?category=power-bankGET /api/v1/compare?category=dehumidifier&minimum=20&priority=speciality&available=trueComparison query
category accepts portable-air-conditioner, dehumidifier, power-bank, air-fryer, cordless-vacuum, robot-vacuum, wireless-earbuds. minimum applies to that category’s primary metric. priority accepts balanced, value, speciality or evidence. available=true returns only offers observed in stock.
Freshness contract
Read checked_at on the relevant offer, image, review source or evidence receipt. generated_at remains null: API response time is not evidence freshness.
Ranking contract
Every collection record is verified and eligible for the current category-specific specification-led method. Scores and ordinal ranks are comparable only within a category. Preference queries may reorder eligible results, but they retain the original category score and rank.
Commercial contract
affiliate_state is explicit. It is inactive for this snapshot. Offer redirects are attributable, but commercial state cannot enter any eligibility gate, factor or rank.