{"uid":"cap_2LeH5yuNFEjaBUewwIGk-","slug":"forest-commerce-product-change-detection-06cb1456","name":"Forest Commerce - Product Change Detection","description":"Cheaply detect material public product changes in price, availability, selected variant or seller using a deterministic hash. Timestamps, images and analytics noise are excluded. Base mainnet USDC","url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/changed?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","pattern":"^https?://","maxLength":2048,"description":"Public HTTP(S) URL to inspect, resolve, or compare."},"previous_hash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Earlier result hash used to detect a material change."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_GnlLplDkYidDlTp682-_a","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Detects material changes in a public product page (price, availability, variant, or seller) using a deterministic SHA-256 hash, excluding noise like timestamps and analytics.","exampleAgentPrompt":"Check if there have been any material changes to this product page since my last check — the URL is https://www.bestbuy.com/product/12345 and my previous hash was sha256:a1b2c3d4e5f6...0000.","exampleUseCases":[{"title":"Price drop alert for electronics","prompt":"Has the price or availability changed on https://www.amazon.com/dp/B09XYZ1234 since my last check? My previous hash was sha256:deadbeef1234567890abcdef1234567890abcdef1234567890abcdef12345678."},{"title":"Restock monitoring for sold-out item","prompt":"I want to know if this product is back in stock — check https://www.nike.com/product/air-max-2024 for any material changes and compare it to my stored hash sha256:cafebabe0000111122223333444455556666777788889999aaaabbbbccccdddd."},{"title":"Seller change detection on marketplace listing","prompt":"Can you check whether the seller or price has changed on this marketplace listing https://www.walmart.com/ip/98765432 since my previous hash was sha256:f0f0f0f0a1a1a1a1b2b2b2b2c3c3c3c3d4d4d4d4e5e5e5e5f6f6f6f6a7a7a7a7?"}],"resultDescription":"Returns a boolean indicating whether a material change was detected, the new deterministic SHA-256 hash of the normalized product state, and details about which fields changed (price, availability, variant, seller). Timestamps, images, and analytics noise are excluded from the hash computation.","failureModes":["URL is not a recognized product page — returns error or empty change data","Product page behind login/paywall — cannot access content","URL returns non-200 status — fetch fails with origin error","Previous hash format invalid — validation error on sha256: pattern","Product page uses heavy JavaScript rendering — static fetch may miss dynamic content","Rate limiting or bot detection by the commerce site — request blocked"],"whenToPreferThis":"Choose this endpoint when you need lightweight, noise-free change detection on a specific public product URL and already have a previous hash to compare against. It is ideal for polling loops, price-drop alerts, restock monitors, and seller-change detection where you want to avoid false positives from analytics, timestamps, or image URL rotations. Prefer it over full scraping endpoints when you only need to know *if* something changed, not extract all product data fresh every time.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-02T02:46:05.523Z","isFirstParty":false,"canonicalSlug":"forest-commerce-product-change-detection-06cb1456"}