Skip to main content
Use the comparison endpoint after an application has exact product IDs. It reads one published Nektir database revision and returns product, store, and plan information together. It never calls Utah DABS while the user waits.
The default purchase_eligibility=eligible requires both a reported-positive observation and Nektir’s ordinary-consumer eligibility classification. Use purchase_eligibility=any only when the application wants all reported-positive observations and can explain restrictions itself.

Choose a strategy

Omit strategies to calculate all five options in one request:
  • best_single_store returns the store covering the most requested products, using distance as the tie-breaker.
  • closest_store_with_any returns the nearest store covering at least one requested product.
  • closest_complete_store returns the nearest single store covering every requested product, or an explicit no-solution result.
  • fewest_stores_complete minimizes stops, then the farthest store’s distance, then total origin distance.
  • best_partial_plan maximizes covered products within max_stops, then prefers fewer and closer stores.
max_stops is bounded from one to three in v1. Every distance is straight-line distance from the supplied coordinates. Nektir does not claim driving distance, route order, travel time, or that a product will still be purchasable on arrival. Request only the plans an interface needs:

Render an actionable plan

Each plan embeds store summaries. assigned_product_ids assigns each covered product to one selected store, even if multiple selected stores report it. reported_product_ids and eligible_product_ids keep reported stock separate from purchase eligibility.
The example is illustrative. Actual store summaries include address, coordinates, status, services, and detail timestamps.

Handle incomplete knowledge

result_state: no_solution means no plan satisfied that strategy inside the requested radius, retrieval policy, eligibility mode, and stop limit. It does not necessarily mean the products are unavailable. Inspect meta.coverage before presenting a conclusion:
  • uncovered_product_ids are not covered under the selected eligibility mode anywhere in scope.
  • uncertain_product_ids are uncovered and have at least one unchecked product-store pair.
  • restricted_product_ids were reported positive as restricted somewhere in scope but nowhere as purchase-eligible.
  • unchecked_pair_count is the precise number of missing observations in the product-by-store denominator.
  • retrieved_at_min and retrieved_at_max are Nektir retrieval times. Upstream data age remains unknown.
Prefer inventory_age=within_policy. any_age can help investigations or graceful fallback, but the response may describe old observations and still does not establish current upstream stock.