Add Registry Items with the Browser Extension

Use the XYZ.am Chrome or Firefox extension to save products in one click, then bulk-import them into a gift registry. Learn which fields auto-populate and which sites work best.

The Fastest Way to Build a Registry

Building a registry by hand means copying URLs, pasting titles, hunting for prices, and saving images one product at a time. The browser extension turns that into a one-click flow:

  1. Browse normally on any retailer's site.
  2. Click the XYZ.am icon on a product page to save it as a bookmark.
  3. Open Build from Bookmarks, tick the items you want, choose a registry, and click Add to Registry.
  4. Behind the scenes, we visit each product page and pull out the title, image, price, currency and store automatically.

Which Fields Auto-Populate?

For every bookmark you import, we fetch the product page and try to fill in these registry-item fields automatically:

FieldAuto-filled fromFallback
Title Product schema name → OpenGraph og:title<title> tag Bookmark title
Image Product schema imageog:imageitemprop="image"link rel="image_src" None — card shows without image
Price Product schema offers.price / lowPriceproduct:price:amountitemprop="price" None — leave blank or edit by hand
Currency Product schema offers.priceCurrencyproduct:price:currency USD
Store og:site_name meta tag Domain name (e.g. amazon, etsy)
Product URL The bookmark URL itself (always preserved)
Notes Always taken from the bookmark's note field — your own annotation, never overwritten by the scraper.
Amazon links get a small bit of extra love — we use Amazon's main product image (instead of the social-share logo that og:image sometimes returns) and apply your affiliate tag if one is configured.

How the Auto-Fill Works

We don't scrape page layouts — that breaks the moment a store changes its theme. Instead we read the standard product metadata almost every retailer publishes for SEO, social sharing and Google Shopping. The scraper checks four sources in order:

JSON-LD Product schema

Machine-readable JSON the site embeds for Google Shopping. Most accurate by far — title, image, price, currency, all in one place.

<script type="application/ld+json">{ "@type": "Product", "name": "...", "offers": { "price": "29.99", "priceCurrency": "USD" } }</script>
OpenGraph product tags

Facebook share metadata. Used by most retailers to control how their products look when posted to social media.

<meta property="og:title" content="...">
<meta property="product:price:amount" content="29.99">
Microdata itemprop

Older HTML annotations like <span itemprop="price">29.99</span>. Still common on independent shops and older Magento/WooCommerce themes.

Page <title> + hostname

Last-resort fallback when none of the above are present. You'll get a usable name and the store domain — you can polish the title and add a price by hand.

The scraper uses an 8-second timeout and follows redirects. It never logs in, submits forms, or bypasses paywalls — only public, anonymously-visible product pages can be parsed.

Which Stores Work Best?

Anywhere a Google Shopping listing or rich Facebook share preview already shows up correctly, our scraper will too. In practice, that's almost everywhere:

Excellent results
  • Amazon (any region)
  • Etsy
  • Shopify-powered stores
  • Target, Walmart, Best Buy
  • IKEA, Wayfair, West Elm, Crate & Barrel
  • eBay product (Buy It Now) listings
  • ASOS, Nordstrom, Zara, Uniqlo
Partial results — expect to edit
  • Sites behind a region/age gate (no price visible)
  • Independent stores without product schema
  • Pages that load price via JavaScript only
  • Auction-style listings (price ranges)
  • Login-walled retailers (Costco member-only items)
If a particular store consistently fails to fill in a price or image, just edit the item after import — every field is editable from My Registries → Manage Items.

Tips & Workflow

  • Use bookmark notes for personal context — "for the kitchen", "my size is M", "Sam's birthday pick". Notes always carry over to the registry item and are never overwritten by the scraper.
  • Save the canonical product URL, not a search-results link. Search pages don't have product schema, so titles and prices won't auto-fill.
  • Save while logged out where possible — pages behind a personalized account view sometimes hide the price from anonymous fetches.
  • Build in batches. Save 10–20 bookmarks while you shop, then convert them all at once instead of one-at-a-time.
  • Re-importing is safe — if a price wasn't picked up the first time and the merchant fixes their meta tags later, you can edit the item and paste the URL back in to refresh.
  • Mix your own additions in. Imported items live alongside any items you add manually — there's no separate "imported" section on the public page.

Frequently Asked Questions

Three common reasons: the page renders price via JavaScript after load (we read static HTML); the price is hidden until you sign in or pick a region; or the store doesn't publish product metadata at all. You can always type the price in by hand from the registry item's edit dialog.

Yes. Build from Bookmarks works on any bookmark in your account, regardless of how it got there — extension, manual paste, or import.

No. The bookmark stays where it is — the import creates a separate registry item. Delete the bookmark afterwards from My Bookmarks if you don't want both.

Yes — run Build from Bookmarks again and pick a different target registry. Each registry item is independent, so editing one won't affect the others.

No. The extension only sends a page's URL to your account when you explicitly click the XYZ.am icon to save it. Pages you visit without clicking the icon are never seen by us.

Of course. Open the registry from My Registries, click Manage Items, and edit any field — title, image URL, price, currency, notes — at any time.