Vitacost Scraper
Pricing
from $3.00 / 1,000 results
Vitacost Scraper
Scrape vitamins, supplements, and health foods from vitacost.com. Browse by category, search by keyword, or look up specific products. Get price, sale price, brand, size, and stock status. No login, no proxy required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Scrape Vitacost — the online retailer for vitamins, supplements, and health foods. Browse any category, search by keyword, or look up specific products by handle/URL. Get price, sale price, discount percentage, brand, size/variant options, stock status, and images. No login, no age-gate, no proxy required.
What this actor does
- Four modes:
byCategory(paginated category browse),search(keyword search),byHandles(direct product lookup),relatedProducts(Vitacost's own "customers also viewed" recommendations for a seed product) - 60+ built-in categories: vitamins, minerals, herbs, sports supplements, personal care, beauty, health food/grocery, home, baby & kids, pet health — plus a free-text override for any other category
- Price tracking: current price, original (compare-at) price, computed discount percentage, on-sale flag
- 14 filter dimensions: price range, brand, product type, title keyword, tags, SKU, stock status, discount %, promotional/private-label badges
- Sorting: best-selling, price, title, or newest/oldest (applied client-side for accuracy)
- Empty fields are omitted — every field present in a record has real data
Output per product
productId,handle,productUrl— canonical Vitacost product pagetitle,brand,productType,category,tags[]badges[]— promotional/private-label badges Vitacost attaches to the listing, e.g.Vitacost Brands(store brand) orSuperDeal(deep-discount promo)description— plain text (HTML stripped)price,maxPrice— lowest / highest variant pricecomparePrice,onSale,discountPercent— sale trackingcurrency— alwaysUSDvariantCount,availableVariantCount,availableskus[]— up to 20variants[]— up to 30, each withsize,sku,price,comparePrice,available,barcode(UPC),weightLb(shipping weight in pounds) —barcodeis only available forbyHandles/relatedProductslookups (Vitacost's product-detail feed), not the paginated category/search feedsimageUrl,images[]— up to 15options[]— variant option names/values (e.g. size, count)createdAt,updatedAt,publishedAtrelatedToHandle,relatedToUrl— the seed product a result was recommended for (mode =relatedProductsonly)recordType: "product",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | byCategory | byCategory / search / byHandles / relatedProducts |
category | string | vitamins | Category dropdown (mode=byCategory) |
categoryHandle | string | – | Custom category handle override |
searchQuery | string | – | Keyword search (mode=search), top 10 results |
productHandles | array | – | Product handles or URLs — individual lookups (mode=byHandles) or recommendation seeds (mode=relatedProducts) |
sortBy | string | best-selling | Sort order for category browse |
maxItems | int | 100 | Hard cap (1–10000) |
imageQuality | string | master | Shopify CDN image size |
minPrice / maxPrice | number | – | Price range filter (USD) |
onSaleOnly | bool | false | Only discounted products |
minDiscountPercent | int | – | Minimum discount % |
brandContains | string | – | Brand name substring filter |
productTypeContains | string | – | Product type substring filter |
titleContains | string | – | Title substring filter |
tagAnyOf / tagNoneOf | array | – | Tag allow/block list |
badgesAnyOf | array | – | Promotional/store-badge allowlist, e.g. SuperDeal, Vitacost Brands |
skuContains | string | – | SKU substring filter |
includeUnavailable | bool | false | Include out-of-stock products |
useApifyProxy | bool | false | Force Apify proxy from the start |
requestDelaySecs | int | 1 | Delay between page fetches |
Example: browse a category
{"mode": "byCategory","category": "vitamins","maxItems": 100,"sortBy": "best-selling"}
Example: on-sale sports supplements
{"mode": "byCategory","category": "sports-supplements","onSaleOnly": true,"minDiscountPercent": 20,"maxItems": 200}
Example: search by keyword
{"mode": "search","searchQuery": "turmeric curcumin"}
Example: look up specific products
{"mode": "byHandles","productHandles": ["https://www.vitacost.com/vitacost-vitamin-c-500-mg-rose-hips-100-tablets"]}
Example: find related/recommended products
{"mode": "relatedProducts","productHandles": ["https://www.vitacost.com/vitacost-vitamin-c-500-mg-rose-hips-100-tablets"]}
Example: private-label deep-discount products only
{"mode": "byCategory","category": "vitamins","badgesAnyOf": ["SuperDeal"],"maxItems": 200}
Use cases
- Price tracking — monitor a category or brand for sale prices and discount depth
- Market research — analyze supplement pricing and brand assortment
- Affiliate content — pull current pricing/availability for comparison pages
- Inventory monitoring — track stock status for specific SKUs
- Competitive intelligence — compare Vitacost pricing against other health retailers
FAQ
Is this affiliated with Vitacost? No. This is a third-party actor that reads Vitacost's public storefront data — no login required.
Why does search only return up to 10 results?
Vitacost's in-store search runs on Shopify's predictive-search API, which caps relevance results at 10 by platform design. For larger result sets, use byCategory browse with titleContains to filter by keyword within a category.
Why does relatedProducts only return up to 10 results per seed?
Vitacost's own recommendations feed is capped at 10 related items per product by platform design — the same limit Vitacost's own storefront shows under "customers also viewed". Pass multiple productHandles to gather related products for several seeds in one run.
What are badges?
Vitacost tags some listings with a small set of promotional/store labels — Vitacost Brands for its private-label products and SuperDeal for deep-discount promotions. The badges output field and badgesAnyOf input filter surface these directly instead of leaving them buried in the raw productType field.
Why are some fields missing from a product?
Fields are only included when Vitacost's storefront actually returns that data. For example, comparePrice/discountPercent only appear on discounted products, and maxPrice only appears when variants have different prices.
Are customer ratings/reviews included? No. Vitacost does not render review data in its public storefront markup, so rating/review counts aren't reliably extractable without an authenticated app-specific API.
How fresh is the data? Every run fetches live data directly from vitacost.com at request time.
Does this actor require a proxy? No. Vitacost's storefront JSON endpoints are publicly accessible from standard datacenter IPs. The actor automatically retries via Apify proxy if a request is ever blocked.