{"uid":"cap_fQxjpOIbWL67tMnadIvDQ","slug":"shopify-reviews-scraper-x402-9854057f","name":"Shopify Reviews Scraper (x402)","description":"Pay-per-call structured web data. Failed or empty runs are not charged.","url":"https://x402.186-241-26-229.sslip.io/v1/shopify-reviews?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"sortBy":{"enum":["newest","oldest","highest_rating","lowest_rating","most_helpful","pictures_first","videos_first","media_first"],"type":"string","default":"newest","description":"Order the collected reviews. Product summaries retain catalog order."},"maxItems":{"type":"integer","default":0,"minimum":0,"description":"Stop after this many rows across all URLs. Zero means no overall cap."},"startUrls":{"type":"array","items":{"type":"string"},"description":"Public Shopify store homepages return product summaries; product URLs return individual reviews. Add one URL per line."},"verifiedOnly":{"type":"boolean","default":false,"description":"Keep only reviews explicitly marked as verified purchases."},"filterEndDate":{"type":"string","description":"Keep reviews published on or before this date, inclusive."},"filterKeyword":{"type":"string","description":"Keep reviews whose title or body contains this phrase, ignoring case."},"filterRatings":{"type":"array","items":{"enum":["1","2","3","4","5"],"type":"string"},"description":"Keep reviews with these ratings. Leave empty for all ratings."},"onlyWithMedia":{"type":"boolean","default":false,"description":"Keep only reviews with a photo or video URL."},"reviewContent":{"enum":["all","with_text","rating_only"],"type":"string","default":"all","description":"Include all reviews, reviews with written text, or ratings without text."},"onlyWithPhotos":{"type":"boolean","default":false,"description":"Keep only reviews with customer photo URLs."},"onlyWithVideos":{"type":"boolean","default":false,"description":"Keep only reviews with customer video URLs."},"filterStartDate":{"type":"string","description":"Keep reviews published on or after this date, inclusive."},"maxResultsPerUrl":{"type":"integer","default":50,"maximum":1500,"minimum":1,"description":"Maximum product summaries for each store URL or reviews for each product URL."},"merchantReplyOnly":{"type":"boolean","default":false,"description":"Keep only reviews with a public merchant reply."}}},"responseSchema":{"type":"json","example":{"count":1,"items":[{"error":null,"status":null,"rowType":null,"inputUrl":null,"storeUrl":null,"productId":null,"storeDomain":null,"productHandle":null}],"product":"shopify-reviews"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.03","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.03/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_T64HxSmfe9lV1C1ROo9Id","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.03","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Scrapes and returns structured customer reviews from Shopify product pages or store homepages, with rich filtering options, via pay-per-call micropayment.","exampleAgentPrompt":"Pull the 50 most recent verified-purchase reviews for https://www.gymshark.com/products/gymshark-vital-seamless-2-0-leggings — only include ones with written text, and filter to 4 and 5 star ratings only.","exampleUseCases":[{"title":"Competitor product sentiment analysis","prompt":"Scrape up to 100 customer reviews from this competitor's Shopify product page — https://www.allbirds.com/products/mens-tree-runners — sorted by newest, and only include reviews that have written text so I can analyze the sentiment."},{"title":"Negative review monitoring for brand","prompt":"Fetch all 1-star and 2-star reviews from our Shopify store at https://mybrand.myshopify.com/products/flagship-hoodie, up to 200 reviews, sorted oldest to newest, so I can identify recurring complaints."},{"title":"Photo review collection for social proof","prompt":"Get me up to 75 verified-purchase reviews that include customer photos from https://fashionnova.com/products/high-waist-legging, sorted by newest, so I can use them as social proof content."}],"resultDescription":"Returns a JSON object with a count of results and an array of review items, each containing fields such as inputUrl, storeUrl, storeDomain, productId, productHandle, rowType, status, and error. For store homepages, items represent product summaries; for product URLs, items represent individual reviews with ratings, text, media URLs, and verification status.","failureModes":["Non-Shopify URLs return empty results or errors — only public Shopify stores are supported","Private or password-protected Shopify stores cannot be scraped","Invalid or malformed URLs cause per-item errors in the response","Date filters with wrong format may silently ignore the filter","Very large maxItems or maxResultsPerUrl values may time out or return partial results","Payment failure (insufficient USDC balance) prevents the call from being made"],"whenToPreferThis":"Choose this endpoint when you need structured, filterable customer review data from Shopify stores or product pages specifically. It is purpose-built for Shopify's review schema (including verified badges, star ratings, media attachments, and merchant replies), so it outperforms generic scrapers for this domain. The pay-per-call model with no charge for failed/empty runs makes it low-risk for exploratory queries. Prefer it over general web scrapers when the target is a Shopify URL and you need review-specific fields like productHandle, storeUrl, or verifiedOnly.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-02T00:46:58.172Z","isFirstParty":false,"canonicalSlug":"shopify-reviews-scraper-x402-9854057f"}