Commerce CensusContactRequest access

API / Objects

The Listing object

The bridge between a canonical product and a seller's own world. One Listing per (product, seller) pair, carrying that seller's identifier, URL and — critically — how confident we are that the mapping is right.

Fields

FieldTypeNotes
listing_id ·alwaysstringStable.
product_id ·alwaysstringWhat it resolved to.
seller ·alwaysstringSeller id, e.g. bestbuy or allbirds.com.
seller_sku ·alwaysstringThe seller's own identifier.
urlstring | nullCanonical product link at that seller.
match.methodenumgtin_exact | mpn_exact | title_fuzzy | manual.
match.confidencefloat0–1. Below 0.7 the listing is flagged for review rather than silently trusted.
first_seen / last_seentimestampHow long this seller has carried it.
activeboolFalse once the seller stops carrying it. Rows are never deleted.
JSON
{
  "listing_id": "lst_2c81",
  "product_id": "prd_8Fk2xQ",
  "seller": "bestbuy",
  "seller_sku": "6505727",
  "url": "https://www.bestbuy.com/product/…",
  "match": { "method": "gtin_exact", "confidence": 1.0 },
  "first_seen": "2026-06-09T13:21:15Z",
  "last_seen":  "2026-09-08T14:02:11Z",
  "active": true
}

Nuances

Listings are never deleted

A seller dropping a product is information. The row goes inactive and its history stays queryable, because assortment change is one of the more useful signals in the dataset.

Match confidence decays

A mapping correct in March can be wrong in September when a seller relists under a new title or bundles the item. That produces a `match.degraded` event rather than a silent, ongoing comparison of two different products.

Related

Product · Offer · Event