Bowmark AIdocs

NewAge Products

NewAge Products' own garage-cabinetry and outdoor-living catalogue — one product's real finish/color variants, exact live price, compare-at price and…

NewAge Products' own garage-cabinetry and outdoor-living catalogue — one product's real finish/color variants, exact live price, compare-at price and active status, plus a direct handoff link to complete checkout on-site.

Domain: newageproducts.com

Also known as: newageproducts, NewAge Products, NewAge Garage Cabinets

Call it directly

bowmark.providers.newageproducts.getNewageproductsProduct(handle: string): Promise<NewageproductsProduct>
bowmark.providers.newageproducts.searchNewageproductsCatalog(query: string): Promise<NewageproductsSearchResult[]>

Functions

FunctionWhat it does
getNewageproductsProductReads one NewAge Products garage-storage/outdoor-living product by its URL handle (from a URL like newageproducts.com/products/<handle>/) — every finish/color variant, its exact live price,…
searchNewageproductsCatalogRuns NewAge Products' own header-search box for a keyword (e.g. "garage cabinet", "outdoor kitchen") and returns up to 5 ranked matches — each row's handle feeds getNewageproductsProduct…

Types

interface NewageproductsSearchResult {
  handle: string;
  name: string;
  price: string;
  priceCa: string | null;
  active: boolean;
  imageUrl: string | null;
}
interface NewageproductsVariant {
  /** The store's own SKU — the only stable per-variant identifier this site publishes. */
  sku: string;
  /** String verbatim from the site, e.g. "799.99". */
  price: string;
  /** Same scale as price. Null when the variant carries no strike-through price. */
  compareAtPrice: string | null;
  /** The finish/color label, e.g. "Black Frame with Red Door". */
  option: string;
  /** True when the site's own is_active flag is truthy. */
  active: boolean;
}
interface NewageproductsProduct {
  /** The URL handle — the only stable identifier a caller has going in. */
  handle: string;
  title: string;
  vendor: string;
  /** The product's own page — the checkout handoff: pick the variant here and add to cart on-site. */
  url: string;
  variants: NewageproductsVariant[];
  priceRange: { min: string; max: string } | null;
  /** True if ANY variant's is_active flag is truthy. */
  inStock: boolean;
  images: string[];
}

Examples

// find a product by keyword, then read its full price/variant detail
const hits = await bowmark.providers.newageproducts.searchNewageproductsCatalog("garage cabinet");
const p = await bowmark.providers.newageproducts.getNewageproductsProduct(hits[0].handle);
log(`${p.title}: ${p.priceRange?.min}-${p.priceRange?.max}, ${p.variants.length} finishes. Buy: ${p.url}`);