Costco Scraper — Product Search, Details & Price API
Pricing
from $0.90 / 1,000 search result rows
Costco Scraper — Product Search, Details & Price API
Scrape Costco.com at scale: keyword product search and full product details by item number. Real-time sale/list/per-unit prices, ratings, stock, brand and SKUs in one clean JSON dataset. API-backed and reliable — built for price monitoring, price tracking and catalog enrichment.
Pricing
from $0.90 / 1,000 search result rows
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Costco Scraper — Product Search, Details & Price API 🛒
🎉 Real-time Costco product data — search any keyword and pull full product details by item number, into one clean JSON dataset
Built for price monitoring, price tracking, and catalog enrichment teams who need reliable Costco data without running a brittle browser scraper
📋 Overview
Pull Costco product data the reliable way. This Costco Scraper extracts keyword search results and full product details from Costco.com (and Costco.ca) into clean, query-ready JSON — no browser automation, no proxies, no captchas to manage on your side.
Why teams choose this Costco Scraper:
- ✅ API-backed reliability: real-time data source, not a fragile HTML scraper that breaks when Costco changes its layout — structured rows every run.
- ⚡ Two modes, one dataset: keyword Product Search (~24 products/page) and deep Product Details by item number — pick one per run.
- 🎯 Rich, structured fields: sale price, list price, per-unit price, ratings, stock status, brand (incl. Kirkland Signature), program eligibility, category path, marketing features, UPC/SKUs and image galleries.
- 💰 Honest pay-per-result pricing: charged only for successful products, with a transparent low Actor-start fee — no inflated start charges, no monthly subscription.
- 💎 US + Canada: query costco.com or costco.ca with a single
countryswitch. - ✨ Clean camelCase output: curated aliases plus the raw upstream fields spread alongside, so nothing is lost.
✨ Features
- 🔍 Product Search: search Costco by any keyword and paginate through results (~24 products per page).
- 📦 Product Details: fetch one product's full record by its Costco item number.
- 💲 Full pricing: sale price, list price, minimum/maximum price, and per-unit price with currency.
- ⭐ Ratings & reviews count: average rating and total review count per product.
- 📦 Availability intel: in-stock flag, stock status, delivery status, backorder flag, and fulfillment min/max quantities.
- 🏷️ Membership signals: member-only flag and program eligibility (ShipIt, 2-Day Delivery, In-Warehouse, Warehouse Delivery).
- 🧾 Catalog data: brand, category path, item class, department/category, marketing features and statement, UPC/SKUs.
- 🖼️ Images: primary image plus the full image gallery, with HTTPS-normalized URLs.
- 🌍 US + Canada: switch between costco.com and costco.ca.
- 📄 Auto-pagination: search stops automatically when the data source reports no more results.
🎬 Quick Start
Pick an operation, give it a query (search) or an item number (details), and run. Each run produces one clean dataset matching the chosen mode. Results export to JSON, CSV, or Excel from the Apify dataset.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~costco-data-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"operation": "search", "query": "paper towels", "maxPages": 2}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose your operation
Select Product Search to discover products by keyword, or Product Details to fetch a single product by its Costco item number.
Step 2: Provide your input
For search, enter a query like air fryer. For details, enter an item number like 512599. Optionally set the country (US/CA) and max pages.
Step 3: Run and export
Start the run and watch the dataset fill with clean rows. Export to JSON, CSV, or Excel, or pull results via the Apify API.
That's it! In a couple of minutes, you'll have:
- A structured dataset of Costco products
- Real-time prices, ratings, stock status, brand and SKUs
- Clean fields ready for price-monitoring or catalog workflows
⏱️ Note: Costco is a slow data source. Each page can take 1–2 minutes to return — large page counts may run long. The actor retries transient failures automatically.
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
operation | string | Yes | search or productDetails — pick one per run |
query | string | For search | Costco product search query (e.g. paper towels) |
productId | string | For productDetails | Costco item number (e.g. 512599) |
country | string | No | US (costco.com, default) or CA (costco.ca) |
language | string | No | Result language, e.g. en-US (default) or fr-CA |
maxPages | integer | No | Pages to fetch for search (default 5, max 50) |
Search example:
{"operation": "search","query": "kirkland signature olive oil","country": "US","maxPages": 3}
Product details example:
{"operation": "productDetails","productId": "512599","country": "US"}
📤 Output
Results are saved to the Apify dataset with 40+ structured fields per product, including:
| Field | Type | Description |
|---|---|---|
itemNumber | string | Costco item number (primary id) |
itemName | string | Product name |
brand | array | Brand(s), e.g. ["Kirkland Signature"] |
salePrice | number | Current sale price |
listPrice | number | List price |
pricePerUnit | number | Price per unit |
currency | string | Currency code (e.g. USD) |
rating | number | Average rating |
reviewCount | integer | Total review count |
memberOnly | boolean | Member-only product flag |
inStock | boolean | In-stock flag |
stockStatus | string | e.g. in stock |
programEligibility | array | Fulfillment programs (ShipIt, 2-Day, In-Warehouse…) |
categoryPath | array | Category breadcrumb paths |
skus | array | Manufacturing UPC/SKUs |
image | string | Primary image URL |
images | array | Full image gallery |
productUrl | string | Costco product URL |
Example row (truncated):
{"_operation": "search","status": "success","itemNumber": "512599","itemName": "Kirkland Signature Paper Towels, 2-Ply, 160 Sheets, 12 Rolls","brand": ["Kirkland Signature"],"salePrice": 23.99,"listPrice": 23.99,"pricePerUnit": 23.99,"currency": "USD","rating": 0,"reviewCount": 0,"memberOnly": false,"inStock": true,"stockStatus": "in stock","programEligibility": ["ShipIt", "2DayDelivery", "InWarehouse"],"categoryPath": ["/grocery-household.html", "/paper-towels-napkins.html"],"skus": ["096619880676"],"image": "https://bfasset.costco-static.com/.../512599-847__1"}
Filter the dataset by _operation (search / productDetails) or status (success / error) to split or clean rows.
💼 Use Cases & Examples
1. Price & Assortment Monitoring
Retail analysts tracking Costco prices across a category.
Input: Product Search with a category query, scheduled daily Output: Sale price, list price, per-unit price, and stock status per product Use: Diff the dataset between runs to catch price moves, rollbacks, and new SKUs.
2. Costco Price Tracking
E-commerce operators following specific item prices over time.
Input: Product Details for a known item number, run on a schedule Output: Current sale/list price, member-only flag, and availability Use: Power a price-tracker dashboard or alerting workflow on price drops.
3. Competitor Catalog Mapping
Brand managers benchmarking against Costco's assortment.
Input: Product Search across your product segments Output: Brand presence (incl. Kirkland Signature), category coverage, and positioning Use: Map Costco's catalog against your own to find gaps and overlaps.
4. Product Catalog Enrichment
Data teams building a structured product database.
Input: Product Details for a list of item numbers Output: Marketing features, program eligibility, category path, UPC/SKUs, image gallery Use: Enrich your own catalog with clean, query-ready Costco attributes.
5. Membership & Availability Intelligence
Operations teams analyzing Costco availability at scale.
Input: Product Search or Details with stock fields Output: Member-only flags, in-stock status, delivery status, fulfillment programs Use: Understand membership-gated pricing and availability patterns across products.
6. Market Research & Pricing Studies
Researchers studying warehouse-club pricing.
Input: Broad keyword searches across categories Output: Price, per-unit price, brand, and rating data in bulk Use: Build pricing datasets for analysis, modeling, or reporting.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/costco-data-scraper').call({operation: 'search',query: 'air fryer',maxPages: 2,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/costco-data-scraper').call(run_input={'operation': 'productDetails', 'productId': '512599'})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~costco-data-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation": "search", "query": "olive oil", "maxPages": 1}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule (e.g. daily price check) or webhook
- HTTP Request: Call the actor API with your operation + input
- Process: Handle the JSON dataset rows
- Action: Save to a database, diff prices, or send alerts
📊 Performance & Pricing
FREE Tier (Try It Now)
- Run both operations with full feature access — same fields, same quality
- No credit card required
- Perfect for testing and small price checks
PAID Tier (Production Ready)
- Scale up search pagination and bulk item lookups
- Pay-per-result: only charged for successful products
- Transparent, low Actor-start fee — no inflated start charges, no subscription
💰 Honest pay-per-result pricing — you pay for the Costco products you actually get, not a flat monthly fee.
❓ Frequently Asked Questions
Q: What can I scrape from Costco? A: Two modes — keyword Product Search (paginated product listings) and Product Details by Costco item number. Each returns prices, ratings, stock, brand, program eligibility, category path, and SKUs.
Q: Why is a run slow sometimes? A: Costco is a slow data source — each page can take 1–2 minutes to return. The actor retries transient failures automatically and stops pagination when the data source reports no more results.
Q: Does it support Costco Canada?
A: Yes. Set country to CA for costco.ca (default is US for costco.com).
Q: How do I find an item number?
A: Run Product Search first — every result row includes itemNumber. It also appears in Costco product URLs.
Q: Does it scrape customer review text? A: No. The data source provides aggregate ratings and review counts, but not individual review text. We only expose what the source reliably returns.
Q: What output formats are available? A: JSON, CSV, and Excel — export directly from the Apify dataset, or pull results via the Apify API.
Q: Is this legal? A: We only extract publicly available product data. See the legal section below.
🐛 Troubleshooting
A run returns an error row instead of products
- The data source may have hit a transient hiccup — re-run it; the actor already retries automatically.
- For Product Details, double-check the item number is valid (run Product Search to confirm it).
Search returns fewer pages than maxPages
- This is expected — pagination stops automatically when Costco reports no more results for your query.
A run takes several minutes
- Costco is a slow source (1–2 minutes per page). Start with
maxPages: 1–3to preview before scaling up.
No results for a query
- Try a broader or differently-worded query; very specific phrases can return zero matches.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what has been chosen to be shared publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's Issues tab
- Check the SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
✨ More by SIÁN Agency
- Amazon Influencer & Deals Scraper — Amazon search, products, deals & reviews
- Taobao & Tmall Product Scraper — Chinese e-commerce products & search
- TikTok Shop Scraper — TikTok Shop products, search & sellers
- Browse all SIÁN actors →
⚠️ Trademark Disclaimer
This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Costco Wholesale Corporation. "Costco", "Kirkland Signature", and related marks are trademarks of their respective owners and are used here only to describe the data this tool helps you collect. Use this actor responsibly and in compliance with applicable laws, Costco's terms of service, and data-protection regulations (including GDPR and CCPA where applicable). You are responsible for how you use the data you extract.
Legal
Scrape only publicly available data and use it lawfully. For guidance on ethical and compliant web scraping, see Apify's guide to web scraping legality. Do not collect personal data in violation of GDPR, CCPA, or other applicable privacy laws.
Built by SIÁN Agency | More Tools