{"uid":"cap_QBGOWvDKso3uW0J335POr","slug":"shop-app-product-review-scraper-3114fae5","name":"Shop.app Product Review Scraper","description":"Pay-per-call structured web data. Failed or empty runs are not charged.","url":"https://api.scrapeforagents.tech/v1/app?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"dateTo":{"type":"string","description":"Keep reviews submitted on or before this date (YYYY-MM-DD)."},"sortBy":{"enum":["newest","oldest","highest","lowest","recommended"],"type":"string","default":"newest","description":"Order returned by the public review endpoint."},"dateFrom":{"type":"string","description":"Keep reviews submitted on or after this date (YYYY-MM-DD)."},"keywords":{"type":"array","description":"Keep reviews whose title or body contains any listed keyword, ignoring case."},"maxItems":{"type":"integer","default":0,"minimum":0,"description":"Hard cap on reviews across all products. Set 0 for no total cap."},"maxScore":{"type":"integer","maximum":5,"minimum":1,"description":"Keep reviews with at most this many stars."},"minScore":{"type":"integer","maximum":5,"minimum":1,"description":"Keep reviews with at least this many stars."},"minThumbsUp":{"type":"integer","minimum":0,"description":"Keep reviews with at least this many helpful votes."},"productUrls":{"type":"array","description":"Public shop.app product URLs or numeric product IDs."},"minReviewLength":{"type":"integer","minimum":0,"description":"Minimum number of characters in the review body."},"merchantReplyFilter":{"enum":["all","with_reply","without_reply"],"type":"string","default":"all","description":"Keep all reviews, only reviews with a merchant reply, or only those without one."},"maxReviewsPerProduct":{"type":"integer","default":100,"minimum":0,"description":"Maximum matching reviews per product. Set 0 to collect all reachable public reviews."}}},"responseSchema":{"type":"json","example":{"count":1,"items":[{"id":null,"store":null,"productId":null,"productUrl":null,"productName":null,"merchantName":null,"productRatingCount":null,"productAverageRating":null}],"product":"app"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.025","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.025/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.025","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.025","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_EW-F7c1yl2ofKOv4DFx12","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.025","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Scrapes and filters public product reviews from shop.app product pages by URL or product ID, with rich filtering options for date, score, keywords, and reply status.","exampleAgentPrompt":"Can you pull the 50 most recent 1-star and 2-star reviews from these two shop.app product URLs that are at least 100 characters long and don't have a merchant reply yet? Sort them by newest first.","exampleUseCases":[{"title":"Negative review monitoring for brand management","prompt":"Pull all 1-star and 2-star reviews from shop.app/p/my-product-123 posted since 2024-01-01 that mention the word 'broken' or 'defective', sorted by newest, up to 200 reviews — I want to see if there's a quality issue trend."},{"title":"Competitor product review analysis","prompt":"Scrape the top 100 most helpful reviews for shop.app/p/competitor-widget-456, keeping only those with at least 3 stars and a minimum of 50 characters in the body, sorted by highest rating so I can benchmark what customers love about it."},{"title":"Unanswered customer feedback triage","prompt":"Get me up to 500 reviews from shop.app/p/my-store-product-789 that don't have a merchant reply yet, from the last 90 days between 2024-03-01 and 2024-06-01, so I know which ones my support team needs to respond to."}],"resultDescription":"Returns a JSON object with a count of matched reviews and an array of review items, each containing review ID, store name, product ID, product URL, product name, merchant name, total rating count, and average rating for the product.","failureModes":["Invalid or inaccessible shop.app product URL returns empty result set (not charged)","Product ID not found on shop.app returns empty items array","Date range with no matching reviews returns count 0 and empty items (not charged)","Keyword filter with no matches returns empty result set (not charged)","Network timeout on large review sets may return partial results","Invalid enum value for sortBy or merchantReplyFilter causes request rejection"],"whenToPreferThis":"Choose this endpoint when you need structured review data from shop.app / Shopify product pages with fine-grained filtering by date, star rating, keyword, review length, helpfulness votes, or merchant reply status. It is especially useful when you need to process multiple products in one call via productUrls array. Prefer this over general web scrapers when the target is specifically shop.app product review pages, since it returns clean structured JSON rather than raw HTML.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-02T00:46:52.171Z","isFirstParty":false,"canonicalSlug":"shop-app-product-review-scraper-3114fae5"}