Thrive Market Scraper - Grocery Price, Stock & Rank Data
Pricing
from $2.50 / 1,000 product scrapeds
Thrive Market Scraper - Grocery Price, Stock & Rank Data
Thrive Market scraper and grocery price API. Extract member vs compare-at price, autoship price, bestseller rank, per-warehouse stock, ratings, reviews, diet and certification claims, nutrition and promos. 74 data fields per product plus a daily price and stock change feed.
Pricing
from $2.50 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Growth Installations
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Turn Thrive Market into a structured grocery data feed. One run returns every product with member price vs. compare-at price, bestseller rank, per-warehouse stock, ratings, reviews, diet and certification claims, nutrition and the promo campaigns each item is sitting in — 74 fields per SKU. Run it again tomorrow and it tells you exactly what moved.
No browser is launched, no login is used, and no disallowed URL is ever requested. See Is it legal to scrape Thrive Market? below.
What this Thrive Market scraper extracts
| Group | Fields |
|---|---|
| Identity | sku, gtin13, productId, title, brand, manufacturer, url, slug, images, description |
| Grocery pricing | price (member), compareAtPrice, autoshipPrice, discountPercent, discountAmount, unitPriceText, unitSize, promo windows, temporary price reductions |
| Demand signals | salesRank, ratingsRank, ratingAverage, ratingCount, reviewCount, reviewScore |
| Stock availability | inStock, totalInventoryUnits, inventoryByWarehouse (11 warehouses), qtyAvailable |
| Product claims | dietTags, healthIngredientTags, certificationTags, environmentSocialTags, thriveExclusive, badges |
| Merchandising | categories, visibleCategoryLabel, activeCampaigns, conversionDrivers, similarProducts |
| Compliance | prop65Warning, ageRestricted, ebtEligible, restrictionTag |
| Content | nutrition (per-serving rows, calories, servings), ingredients, descriptionHtml, meta fields |
| Change feed | changes — see price monitoring |
Set includeRawProduct: true to also get the untouched upstream payload.
Grocery price, stock and bestseller data a generic scraper cannot give you
| Generic HTML scraper | This grocery price scraper | |
|---|---|---|
| Fields per product | title, price, image | 74 normalised fields |
| Demand signal | none | salesRank, ratingsRank, review-count growth |
| Stock availability | in stock / out of stock | unit counts across 11 warehouses |
| Promotions | maybe a strikethrough price | live campaign names and promo windows |
| Repeat runs | full dump every time | change feed — only what moved |
| Engine | a headless browser per page | plain HTTP with Cheerio |
Thrive Market renders its product data server-side, so this Actor parses it straight out of the HTML instead of driving a browser. That is why a full catalog sweep is cheap enough to schedule daily.
What can you do with Thrive Market product data?
- Price and promo intelligence — track member, autoship and compare-at prices across the catalog and see which SKUs enter or leave a sale.
- Trend and demand detection —
salesRankplus review-count growth is the closest public proxy to units sold, so rank movement surfaces a product taking off early. - Assortment and white-space analysis — 22 claim tags per product (keto, paleo, gluten-free, Fair Trade, B Corp, plastic-neutral) let you size a niche and find under-served categories.
- Stock and supply monitoring — per-warehouse unit counts expose regional stockouts and restocks before the site says sold out.
- Competitive benchmarking — join to your own catalog on GTIN-13 / UPC and compare price, claims and rank SKU by SKU.
- AI and agent pipelines — clean JSON with published input and output schemas, so an agent or MCP client can call it as a tool.
How to scrape Thrive Market product data, step by step
- Click Try for free on this page. The default input scrapes 10 products, which finishes in well under a minute.
- Open the Input tab. Leave What to scrape on Full catalog to sweep the whole site, or switch it to Specific product URLs and paste a watchlist.
- Optionally type keywords into Search terms — for example
olive oil— to narrow a catalog run to matching products. - Set Max products to
0when you want the entire catalog rather than a sample. - Under Change detection, switch on Track changes so every run records price, rank, stock and review deltas against the previous one.
- Press Start. Results appear in the Output tab, pre-arranged into five views: Overview, Pricing & promotions, Demand & ranking signals, Claims & attributes, and Changes since last run.
- Export to JSON, CSV or Excel, or send the data onward from the Integrations tab. See the Apify integrations docs.
- Open the Schedules tab and add a daily run to turn the Actor into a standing price monitor.
How do I scrape Thrive Market prices into Google Sheets?
Run the Actor, then add the Google Sheets integration from the Integrations tab and pick the dataset. Every scheduled run appends to the same sheet. Slack, Airtable, Amazon S3, a plain webhook, Make and Zapier all work the same way.
Can I call this as a Thrive Market API?
Yes. Every Apify Actor exposes a REST API. The API button on this page generates ready-made cURL, Python and JavaScript snippets that start a run and fetch the dataset, so you can treat the Actor as a Thrive Market product API without hosting anything.
Example input
Watch a small list of products — the cheapest and fastest way to test:
{"crawlMode": "productUrls","productUrls": ["https://thrivemarket.com/p/thrive-market-organic-apple-sauce-pouches"],"trackChanges": true}
Sweep one niche and keep only discounted items:
{"crawlMode": "fullCatalog","searchTerms": ["olive oil", "avocado oil"],"onlyDiscounted": true,"maxItems": 200}
A daily change feed for the whole catalog:
{"crawlMode": "fullCatalog","maxItems": 0,"onlyChanged": true,"snapshotStoreName": "thrive-market-snapshots"}
Example output
{"sku": "671635705471","gtin13": "671635705471","title": "Organic Apple Sauce Pouches","brand": "Thrive Market","url": "https://thrivemarket.com/p/thrive-market-organic-apple-sauce-pouches","price": 11.49,"compareAtPrice": 16.89,"autoshipPrice": 10.92,"discountPercent": 31.97,"unitPriceText": "$0.96/pouch","inStock": true,"totalInventoryUnits": 27696,"inventoryByWarehouse": { "wh_1": 4120, "wh_5": 9033 },"salesRank": 2,"ratingsRank": 17,"ratingAverage": 4.64,"ratingCount": 7014,"dietTags": ["Gluten-Free", "Vegan", "Paleo"],"certificationTags": ["USDA Organic", "Non-GMO Project Verified"],"activeCampaigns": ["Snack Sale"],"categories": ["Snacks", "Fruit Snacks"],"changes": {"isNewSinceLastRun": false,"previousPrice": 11.99,"priceDelta": -0.5,"salesRankDelta": 3,"inventoryDelta": -812,"ratingCountDelta": 14}}
How much does it cost to scrape Thrive Market?
You pay per product delivered, not per compute second, and platform usage is included. The unit price drops with your Apify subscription tier:
| Your Apify plan | Per product | Per 1,000 products |
|---|---|---|
| Free | $0.0040 | $4.00 |
| Starter | $0.0035 | $3.50 |
| Scale | $0.0030 | $3.00 |
| Business | $0.0025 | $2.50 |
A 10-product test run costs about four cents. The whole Thrive Market catalogue, roughly 8,500 products, comes to about $34 on Free and about $21 on Business. Products that your own filters reject, or pages that are blocked or skipped, are never charged for. Two token amounts also apply and are negligible in practice: $0.01 per 1,000 dataset items and $0.00005 per run start.
How can I keep the cost down on a daily schedule?
Switch on Only output products that changed. Day one returns the full set; after that you only receive the SKUs whose price, rank, stock or review count actually moved. A product that gets checked and turns out to be unchanged bills at a quarter of the normal rate, $0.0010 per product on Free down to $0.0007 on Business, so a daily sweep of the catalogue where nothing much moved costs single-digit dollars rather than tens. Narrowing with Search terms or a product URL watchlist is cheaper still.
How to monitor Thrive Market price changes daily
Set trackChanges: true (or onlyChanged: true) and the Actor keeps a compact baseline in a named key-value store — one JSON blob keyed by SKU, so it costs two storage calls per run rather than two per product. Every record then carries previousPrice, priceDelta, salesRankDelta, inventoryDelta, ratingCountDelta, previousCapturedAt and isNewSinceLastRun.
Use a different snapshotStoreName for each watchlist to keep timelines separate, then add a schedule so the feed builds itself.
Reliability and blocking
Thrive Market sits behind AWS WAF and returns sporadic 403s. The Actor handles that for you with block-aware retries, session rotation on a low error tolerance, a fresh IP per retry, and a scrapeStatus: "failed" row for any URL it still cannot fetch — so a partial run is never a silent one. It is built on Crawlee.
Why am I getting 403 errors or empty results?
Almost always the proxy. Leave Proxy configuration on Apify Proxy, and choose residential proxies for full-catalog sweeps; datacenter proxies are fine for small watchlists. If the sitemap itself is blocked the run fails loudly with a clear message rather than returning nothing.
Is it legal to scrape Thrive Market?
This Actor only reads public product pages, discovered from the public sitemap.xml — the same pages Thrive Market explicitly permits AI crawlers to fetch in its robots.txt.
It never requests the paths Thrive Market disallows (/api/, /catalogsearch/, /account/, /checkout/, /customer/, /review/, /auth/), never uses sorted or filtered URLs, and never logs in, so no member-only or account data is involved. For strict adherence to the published crawl-delay of 5 seconds, set sameDomainDelaySecs: 5 and maxConcurrency: 1.
Reviewer privacy. Review text, rating, verified-buyer flag and timestamp are returned. Reviewer names, customer IDs and locations are discarded and never written to the dataset.
You are responsible for how you use the output. Check Thrive Market's terms and your own legal position before commercial use, and see Apify's guide to ethical web scraping.
FAQ
How many products does Thrive Market have?
About 8,500 product pages, rediscovered fresh from the sitemap on every run. The count drifts by a few dozen week to week, which is itself a useful assortment signal.
Can I scrape Thrive Market prices without an account?
Yes. Member prices, compare-at prices and autoship prices are all rendered on the public product page, so no login is required and none is used.
Can I get Thrive Market bestsellers?
Sort the dataset by salesRank, or filter a run with Max sales rank to keep only top-ranked products. Combine with onlyChanged to watch rank movement over time.
Can I scrape Thrive Market reviews?
Set includeReviews: true. Reviews come back anonymised: rating, title, body, verified-buyer flag, helpful count and date, with no reviewer identity.
Can I filter by diet, certification or brand?
Yes — dietValues, brandUrlKeys, categoryUrlKeys, onlyDiscounted, onlyInStock, onlyThriveExclusive, minRating, minReviewCount and maxSalesRank all narrow the output. Filters are applied after a page is fetched, so a filtered catalog run still visits the catalog.
How long does a full catalog sweep take?
Roughly 45 seconds per 12 products at default concurrency. A full sweep on residential proxies typically finishes well inside an hour.
Something broke — how do I get help?
Open the Issues tab on this page with your run ID. Site layout changes get fixed quickly.
Related scrapers
Looking for other retailers or a broader sweep? Try the E-commerce Scraping Tool for arbitrary retail sites, the Website Content Crawler to feed pages into an LLM or RAG pipeline, or browse the E-commerce category in Apify Store.