ProductPage - itsManeka/amazing-scraper GitHub Wiki
amazing-scraper / ProductPage
Defined in: src/domain/entities/ProductPage.ts:7
Represents the data extracted from a single Amazon product detail page.
asin:
string
Defined in: src/domain/entities/ProductPage.ts:9
The product's ASIN identifier.
optionalcontributors:string[]
Defined in: src/domain/entities/ProductPage.ts:66
List of contributors with roles (e.g. ["Author Name (Autor)", "Translator (Tradutor)"]).
couponInfo:
CouponInfo|null
Defined in: src/domain/entities/ProductPage.ts:33
Coupon promotion details, or null when no coupon is present.
couponInfos:
CouponInfo[]
Defined in: src/domain/entities/ProductPage.ts:40
Array of all coupons discovered on the product page.
Populated via extractAllCoupons to capture multiple PSP/individual coupons
on the same PDP. Empty array [] when no coupons are present.
Aditivo field (F08, Opcao C) — does not break legacy couponInfo singular.
optionalformat:string
Defined in: src/domain/entities/ProductPage.ts:62
Product format/binding (e.g. "Capa dura", "Capa Comum", "Kindle").
hasCoupon:
boolean
Defined in: src/domain/entities/ProductPage.ts:31
Whether a coupon promotion was found on this page.
optionalimageUrl:string
Defined in: src/domain/entities/ProductPage.ts:58
High-resolution product image URL from the landing image.
optionalindividualCouponInfo:IndividualCouponInfo|null
Defined in: src/domain/entities/ProductPage.ts:50
Inline "individual" coupon details discovered on the product page when no
PSP-style coupon was found. Populated only when couponInfo is null and
the page renders a PromotionsDiscovery block with a "Termos" popover.
null when no individual coupon is present.
Individual coupons do not vinculate to any product and are never used for price calculation — they are persisted as standalone coupons (see F17).
inStock:
boolean
Defined in: src/domain/entities/ProductPage.ts:56
Whether the product is currently in stock.
isPreOrder:
boolean
Defined in: src/domain/entities/ProductPage.ts:60
Whether the product is available for pre-order only.
optionalofferId:string
Defined in: src/domain/entities/ProductPage.ts:54
Merchant ID from the buy-box seller (e.g. "A1ZZFT5FULY4LN" for Amazon BR).
originalPrice:
string|null
Defined in: src/domain/entities/ProductPage.ts:23
Original/list price before discounts (e.g. "R$ 149,90"), or null when the selector
did not find a value on the page.
price:
string|null
Defined in: src/domain/entities/ProductPage.ts:18
Current selling price as a formatted string (e.g. "R$ 99,90"), or null when the
price selector did not find any value on the page.
null means the scraper could not determine a price — it does NOT mean the product is
free. A string value of 'R$ 0,00' represents a legitimately free product (e.g. ebooks).
prime:
boolean
Defined in: src/domain/entities/ProductPage.ts:25
Whether the product is eligible for Amazon Prime shipping.
optionalproductGroup:string
Defined in: src/domain/entities/ProductPage.ts:68
Product group label following PA API DisplayValue convention (e.g. "Book", "DVD", "Video Games").
optionalpublisher:string
Defined in: src/domain/entities/ProductPage.ts:64
Publisher name (e.g. "Intrínseca", "Panini").
rating:
number
Defined in: src/domain/entities/ProductPage.ts:27
Average customer rating (0–5).
reviewCount:
number
Defined in: src/domain/entities/ProductPage.ts:29
Total number of customer reviews.
title:
string
Defined in: src/domain/entities/ProductPage.ts:11
Product title extracted from the page.
url:
string
Defined in: src/domain/entities/ProductPage.ts:52
Canonical URL used to fetch this page.