ExtraltExtralt

Exploring data

Explore reads the analytical entities published by Enrich. Explore is in beta. The current product provides navigable evidence and purpose-built views; the pre-built price, availability, and assortment Analyses described in the product direction are not implemented yet.

The current public v1 routes are:

  • GET /v1/explore/overview
  • GET /v1/explore/facets
  • GET /v1/explore/markets/current
  • GET /v1/explore/variants/{variant_id}

Explore being beta allows the product to grow; it does not weaken the response contract of routes already published under v1.

Overview

The Explore overview summarizes observed coverage across countries, taxonomy, brands, Stores, Variants, Listings, current Offers, availability, currencies, and latest observation time.

Filter choices

Facets return dataset-backed options for country, category, brand, Store, and Variant. Options are constrained by the organization's own observed dataset.

Current markets

The current-market view groups current comparable Offers by exact Variant, country, and currency. It exposes lowest, median, and highest price, price spread, available and total Offer counts, Store and seller counts, and latest observation time.

Available filters include country, category, brand, Store, and Variant; result limits are capped by the API.

Changes

The Explore changes view compares current and previous Offer evidence to show price and availability changes with Variant, Listing, Offer, Store, seller, Capture, Run, and observation context.

This is currently a dashboard/internal view, not a dedicated public v1 route. The dashboard AI flow can query the organization-scoped extralt.changes table through its machine-only bounded query service.

The generic dashboard agent can query the lower-level extralt.changes table, but it does not have a dedicated tool for every Explore view.

Variant detail and history

Variant detail combines canonical Product and Variant identity with current Offers and observed price history. Use it to inspect exactly what was matched, where it is listed, the source URLs, sellers, availability, and observation times behind a comparison.

See the generated OpenAPI document for the current Explore routes, filters, and response schemas.

Adding Analysis recipes without breaking v1

No public Analysis-recipe route exists yet. New recipes can therefore mature behind the dashboard's internal surface while their eligibility rules, formulas, evidence requirements, coverage, freshness, and limitations are still changing.

When a recipe is ready for public API use, its contract should include a stable recipe identifier and explicit recipe version. Adding a new recipe is additive. Changing the meaning of an existing formula, comparison scope, or output requires a new recipe version; it must not silently reinterpret a response that v1 clients already consume. Existing response fields, enum meanings, defaults, and route semantics remain supported for the life of v1.

This gives Explore room to add price-position, price-movement, availability-change, and assortment-overlap recipes without treating the beta label as permission to break current evidence routes.

Stock-level values

stock_level is an API-owned enum with unknown, oos, low, and in_stock. It is not a best-effort mapping of arbitrary strings. Source-specific values are normalized before they enter the analytical Offer table, whose column is closed to those four values. If storage ever returns anything else, the API fails closed instead of guessing or leaking a new string into v1.

Interpretation rules

  • Treat results as observed coverage, not a complete market census.
  • Keep countries and currencies explicit.
  • “Current” means the latest observation in the customer dataset.
  • Matching depends on the identifiers and product evidence available during Enrich.
  • Store currently means an organization-scoped host and country, not a retailer group or legal company.
  • Do not infer sales, revenue, traffic, market share, or demand from product observations.

See Query semantics for the complete analytical contract.