Endpoints
GET /api/v2/catalogueGET /api/v2/catalogue/exportGET /api/v1/productsGET /api/v1/products/:slugGET /api/v1/products/:slug/evidence-reportGET /api/v1/identity-exclusionsGET /api/v1/products/:slug/decision-traceGET /api/v1/products/:slug/review-analysisGET /api/v1/readinessGET /api/v1/products/:slug/readinessGET /api/v1/categories/:category/recommendation-readinessGET /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, air-purifier. minimum applies to that category’s primary metric and must be no greater than 100000. room_m2 remains a deprecated alias for minimum. priority accepts balanced, value, speciality or evidence. available=true returns only offers observed in stock inside the 48-hour presentation window.
Freshness contract
Read checked_at on the relevant offer, image or ranked evidence link. The review-led earbud comparison exposes one hands_on_documents_checked_at snapshot time; individual review publication dates are not yet normalized. generated_at remains null: API response time is not evidence freshness. Collection metadata exposes separate ranked and identity snapshot times. Ranked API v2 offers are withheld after 48 hours or for a future-dated observation. Open identity records have separate source-modified and export-retrieved times and contain no offer.
Ranking contract
Every API v1 product record is verified and eligible for ranked comparison under its category-specific method. API v2 identity-index records stop before this gate and return null score and rank. Neither scoped status is purchase advice. Scores and ordinal ranks are comparable only within a category.
Open identity layer
The 3,000 identity-only records are a deterministic, valid-GTIN13 selection from the global Open Products Facts community export. Names, brands, countries, categories and attributes remain source-reported. They do not establish manufacturer model, current market availability, retailer offer, price or stock. The full projected layer is available under ODbL 1.0 at /api/v2/catalogue/export; individual contents are covered by DbCL 1.0.
Claim-level trace pilot
Two product records expose a Phase 1 decision-trace bundle with source artefacts, atomic claims, typed relations, contextual assessments, cruxes and explicit missing capabilities. Anker retains criterion contributions; Meaco explicitly declares that ledger missing. Other products return the trace-not-modelled problem type with trace_status: not_modelled; the API does not manufacture an empty or inferred claim ledger.
Full-catalogue recommendation readiness
The readiness endpoint retains all 20 candidates in each category and publishes a profile for every one of the 160 ranked products. Those records expose field-level normalized input receipts, method sensitivity, two explicit retailer slots, buying-constraint gaps and review status. Source-access time and field-observation time are separate, so configured values are not made fresh by a page check. A missing second retailer or human review remains missing and cannot be inferred from build success.
Product evidence reports
Every ranked product has a product-evidence-report-v1.0 record. It combines a category-specific critical-topic profile with retained source coverage, specification-rank sensitivity, open blockers and an explicit hands-on state. Review synthesis is optional and appears only where exact-model sources pass the gate. not_collected means no qualifying synthesis is published; it is not a negative product judgement. Reports do not expose a numeric LLM review score and cannot alter the catalogue rank, offer or purchase-advice gate. Two earlier non-earbud syntheses are explicitly marked as legacy contextual evidence and do not populate current category-topic coverage.
Hands-on review synthesis
The wireless-earbud category now has a coverage record for every product. Products with at least three hands-on sources across two publisher groups expose a repeated, independently judged synthesis. Qualitative findings and their source links lead. Products below the gate return insufficient_review_evidence, never an invented average. Historic experimental numeric estimates remain confined to their review-analysis records and are not used by product reports. Two earlier cross-category pilots remain available. These per-product synthesis outputs are shadow-only and cannot change specification scores, ranks or purchase-advice status.
Wireless earbuds also have a separate published, bounded cross-brand quality comparison. It uses seven premium or ecosystem-focused models plus one travel specialist, preserves current editorial disagreements and exposes its missing candidates. It has no universal numeric score. Price, stock and commercial data join only after the quality order is frozen.
Identity exclusions
Unresolved model and GTIN conflicts stay outside the ranking. The exclusion endpoint preserves each observed identity, market, source and checked time, plus the evidence required to resolve the conflict.
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.
lowest_checked_offer is the purchase-action projection. It chooses the lowest fresh price among the tracked exact-product retailer observations and reports the comparison count. It is not a whole-market lowest-price claim.