Costco Products Scraper avatar

Costco Products Scraper

Pricing

from $0.36 / 1,000 product scrapeds

Go to Apify Store
Costco Products Scraper

Costco Products Scraper

Scrape public Costco product search, category, and product-page data for pricing, stock, ratings, images, and catalog research.

Pricing

from $0.36 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

Fetch Cat

Fetch Cat

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

5 days ago

Last modified

Share

Costco Products Scraper exports public product records from Costco keywords, search/category URLs and direct product URLs. Get product names, identifiers, visible prices, ratings, review counts, images and availability signals for catalog research and repeatable CSV, JSON, Excel or API exports.

Coverage is bounded, not complete or ranked search. Discovery checks matching product names in one public sitemap and verifies category membership against product breadcrumbs. Public product pages are read from JSON-LD or HTML microdata without executing page scripts. Optional fields can be null. This is not warehouse-specific or member-account inventory.

Quick start

Start with a small keyword search, then download the dataset in your preferred format:

{
"keywords": ["laptop"],
"maxItems": 10,
"maxItemsPerStartUrl": 10,
"maxSearchPagesPerStartUrl": 1
}

Use keywords: [] when you want only the URLs you supply. The Console may prefill a Hair Care URL. Remove it for a keyword-only run. Limits apply across all combined sources: startUrls, then searchUrls, then keywords, preserving order within each list.

Prefer a video guide? This short Apify walkthrough shows you how to set up and run an Actor. It uses a different Actor, but the setup steps are the same.

Ready-to-run examples

Choose a public example to see its settings before starting a run:

What you get

One row per saved public product, with its source link and available identity, brand, price, aggregate review and availability fields. Optional values can be missing. Prices and stock indicators are observations of public product data rather than member-specific quotes or local warehouse guarantees.

Who is it for?

  • Retail catalog teams organizing public Costco product identifiers and source links.
  • Product researchers reviewing a bounded sample of items in a keyword or category.
  • Retail analysts comparing displayed prices across their own dated exports.
  • Data teams adding available brand, category and aggregate-review fields to a product sheet.

How you can use the data

  • Prepare a laptop research sheet. Use an explicit laptop keyword with a small product cap. Export itemNumber, name, productUrl, price and currencyCode, then inspect source names before treating returned candidates as relevant.
  • Review a hair-care category sample. Use the existing public hair-care URL with keywords: [] so the omitted-keyword laptop default does not add another search. Check returned category paths rather than treating the sample as the whole category.
  • Inspect one known public product. Supply its current product URL with keywords disabled and a one-product cap. Review available description, price and aggregate rating fields, leaving missing values unknown.
  • Compare separate snapshots downstream. Keep itemNumber, productUrl, sourceUrl and scrapedAt with each export. Compare them in your own spreadsheet rather than expecting automatic price alerts, search ranks or warehouse-specific stock tracking.

Input settings

Setting / API keyWhat it controls
Search keywords — keywordsSearch terms. API omission retains the existing laptop default. Use [] to disable keywords.
Costco URLs — startUrlsAbsolute HTTP(S) Costco search, category or product URLs, as strings or { "url": "…" } objects. Remote request lists are not supported.
Simple URL list — searchUrlsThe same URL inputs as plain strings.
Maximum products — maxItemsTotal saved-record cap, from 1 to 10,000.
Products per source — maxItemsPerStartUrlPer-keyword/URL cap, also bounded by the total cap.
Search pages — maxSearchPagesPerStartUrlBounds discovery work per source, from 1 to 50. See field help for coverage limits.
Proxy configuration — proxyConfigurationOptional Advanced connection settings. Direct by default. See field help for supported proxy choices and limitations.
Debug evidence — debugSave blocked response snippets for troubleshooting. Off by default.

Use at most 100 keywords and URLs combined, each at most 2,048 characters. Invalid inputs are rejected before product requests. URL-only category recipe:

{
"keywords": [],
"startUrls": [{"url": "https://www.costco.com/hair-care.html"}],
"maxItems": 10,
"maxItemsPerStartUrl": 10,
"maxSearchPagesPerStartUrl": 1
}

Output data

All inputs return the same product-row shape. Fields unavailable on a public page remain null or empty arrays rather than guessed values.

Output shape

This shortened example illustrates field types only. It is not an observed product or current price:

{
"productUrl": "https://www.costco.com/.product.123456.html",
"sourceUrl": "https://www.costco.com/s?keyword=laptop",
"itemNumber": "123456",
"name": "Illustrative product name",
"brand": null,
"price": null,
"currencyCode": "USD",
"rating": null,
"reviewsCount": null,
"isInStock": null,
"images": []
}
Output fieldsMeaning
productUrl, sourceUrlProduct destination and the source that selected it.
productId, groupId, itemNumberAvailable product identifiers.
name, brand, brands, descriptionPublic product text.
price, listPrice, minPrice, maxPrice, currencyCode, pricePerUnitAvailable product pricing, distinct from Actor fees.
rating, reviewsCountAggregate review signals.
isBuyable, isInStock, availabilityStatus, memberOnlyAvailable public purchase/stock indicators.
categoryPaths, image, images, scrapedAtCategories, image URLs and observation time.

Download your results

Open your run's dataset, choose Export and select JSON, CSV or Excel. JSON keeps nested fields together. CSV and Excel are useful when you want to review the records in a spreadsheet.

See Apify's download and export guide for the available formats and field options.

Pricing

The start event is charged once when an accepted run begins work, including runs that produce no products. The item event is charged for each saved product record. Rejected candidates, empty outcomes and summary/status information do not produce product events.

Use maxItems, maxItemsPerStartUrl and maxSearchPagesPerStartUrl to bound output and discovery work. See the live Costco Products Scraper Pricing tab for current rates and tier discounts.

Tips for best results

  • Set keywords explicitly. Omission keeps the existing laptop default, so use [] when you want URLs alone.
  • Start with a small total and per-source cap. Check product names and category paths before increasing volume.
  • Keep product identity and currency with prices. Inspect optional fields before using them in a comparison sheet.
  • Read OUTPUT after a small or empty export. Review source outcomes, coverage warnings and early-stop reasons rather than assuming a product was deleted.
  • Start a new run for another snapshot. Restarting an already-started run does not repeat extraction.

Limits and caveats

Public catalog discovery uses one public sitemap, URL-word matching and category-breadcrumb verification. It is not complete Costco search, a ranked result set or guaranteed category coverage.

A valid request can succeed with an empty dataset. OUTPUT explains source outcomes, coverage warnings and early-stop reasons. Unavailability alone does not prove that a product is private or deleted. Missing expected structured data is reported separately with the affected URL; source outcomes explicitly identify partial extraction issues even when other rows were saved, and essential storage, billing, configuration or systemic failures still fail the run.

Result or time budgets can stop a run with partial output while saved rows remain available. Start a new run for a fresh snapshot. An already-started run does not repeat extraction after a restart, and there is no automatic continuation or built-in history/price alert system.

Only public product information is collected, without login, cookies, carts or private member data. Public prices or availability can vary by location or be missing. Warehouse-specific prices, member-account data and individual review text are not exported. This Actor is not affiliated with Costco.

Automation and integrations

Save your settings for next time

Once you have an input that works for you, save it as an Apify task. This keeps your settings together so you can use them again without filling in the form from scratch.

Run on a schedule

Need fresh results regularly? You can schedule the Actor or a saved task to run at a time that suits you.

Each scheduled run collects the data again. If you want to compare results or highlight changes, add that step in your own workflow.

Send results to your other tools

Use n8n, Make or Zapier to connect this scraper to the rest of your workflow. For example, you could pass its results to an AI assistant or add records to a spreadsheet. Follow the Apify integration guides for your chosen tool.

For a custom connection, an Apify webhook can notify your app when a run finishes or fails. Your app can then fetch the results or handle the failure.

API usage

Want to collect this data from your own app or automation? The examples below send input to the scraper and show how to collect its results.

The Node.js and Python examples wait for the run to finish before reading its results. The cURL example starts the run and returns its details. Wait for that run to finish, then use its defaultDatasetId to fetch the results.

For setup instructions, see Apify's JavaScript client guide, Python client guide and Actor runs API reference.

cURL

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~costco-products-scraper/runs' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"keywords": [
"laptop"
],
"maxItems": 10,
"maxItemsPerStartUrl": 10,
"maxSearchPagesPerStartUrl": 1
}
JSON

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/costco-products-scraper').call({
"keywords": [
"laptop"
],
"maxItems": 10,
"maxItemsPerStartUrl": 10,
"maxSearchPagesPerStartUrl": 1
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/costco-products-scraper').call(run_input={'keywords': ['laptop'], 'maxItems': 10, 'maxItemsPerStartUrl': 10, 'maxSearchPagesPerStartUrl': 1})
print(client.dataset(run['defaultDatasetId']).list_items().items)

MCP and AI agents

You can ask your AI assistant to collect data with Costco Products Scraper and help you work with the results. The scraper returns the data, and your assistant can then summarize it, compare records or prepare notes.

Connect your assistant through the Apify MCP server. MCP gives your assistant a way to find this scraper, run it and read the results. Follow the official setup and sign-in guide for your app.

Easier setup with an Apify plugin

If you use a supported coding assistant, the official Apify plugin can set up the connection for you. It connects your assistant to Apify and includes instructions for common tasks. Follow the guide for your particular app.

Use Apify AI in Console

Prefer to keep everything in Apify? Open Apify AI in Console and ask it to find Fetch Cat's Costco Products Scraper. You can describe the data you want and ask questions about the results.

Apify AI is currently in beta. It asks for confirmation before starting an Actor, and normal run charges apply.

Choose your assistant

Connect just this scraper

To keep your setup focused on this scraper, add this server configuration to a compatible MCP client:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/costco-products-scraper"
}
}
}

Sign in to Apify when your client asks. If your client uses a Bearer token instead, follow its setup guide and keep the token in its secure configuration. Configuration formats vary by app, so use the linked guide if your client needs a different format.

Use Apify's general server

Already connected to the general Apify MCP server at https://mcp.apify.com? You can use it to find this scraper without adding another server. Ask your assistant to use Costco Products Scraper by Fetch Cat, or give it the identifier fetch_cat/costco-products-scraper.

Your assistant can check the available settings and retrieve the results from the returned run. If the run is still working, it should follow that run rather than start it again. Both connection options use Apify's hosted service.

Example requests

  • “Use Fetch Cat’s Costco Products Scraper to collect up to 5 laptop products, with any unwanted URL inputs cleared. Show item numbers, product names, source links and available prices with currency, marking missing values.”
  • “Collect at most 5 products from https://www.costco.com/hair-care.html with keyword searches disabled. Keep category paths and source links so I can review relevance without treating this as a complete category export.”
  • “Retrieve one public product from the Costco URL I provide, with keyword searches disabled. Show its available description, price and aggregate-review fields without claiming warehouse stock or member-only pricing.”

Normal Apify charges apply. Check the live Pricing tab before asking your assistant to run a larger batch.

Pay with x402

If your AI agent has a funded wallet, it can pay for Apify usage through x402. This experimental option lets an agent use Apify without a conventional account.

Apify AGI provides a prepaid API token with a spending cap after payment. Your agent can use that token to run this scraper through the Apify API or an authenticated MCP connection.

Some MCP setups also support paying for each request directly. That is a different payment option, so check the official guide for its availability.

Follow the official guide for wallet setup, supported payment options and current terms. Apify handles the payments. Keep wallet keys and payment tokens in your agent's secure configuration.

Other ways for agents to pay

Apify also supports MPP for prepaid access through AGI and Skyfire for eligible Actors. If your agent already uses one of these, see the agentic payment guide to choose the right setup.

FAQ

Why did I get fewer records than requested?

Limits are ceilings, not guaranteed counts. Public coverage, category verification, connection availability, the deadline and charge capacity can all reduce output.

Can I get warehouse-specific prices or review text?

No. The Actor returns public product fields and review summaries, not member-account or warehouse-specific data or individual reviews.

Can I combine categories and keywords?

Yes. Inputs share the total product cap. Supply keywords: [] to use URLs alone.

Can I use this as a Costco product data API?

Use the Apify API examples above to request public snapshots and retrieve CSV, JSON or Excel exports. This is an independent scraper, not an official Costco API.

Does this provide a Costco price tracker?

It provides snapshots that you can compare in your own workflow, not automatic alerts, price history or warehouse-specific prices.

  • Amazon Products Search Scraper — Collect Amazon search results or look up known ASINs and product URLs, with available listing fields for retail comparisons.
  • Walmart Products Scraper — Collect Walmart product search listings with available prices, ratings and seller details for assortment comparisons.
  • AliExpress Products Scraper — Collect AliExpress listing cards with available prices, ratings and sales text for product comparisons. Full product details are not included.
  • eBay Marketplace Scraper — Collect public active eBay listings with available prices, shipping and seller signals for resale research. Sold-price history is not included.
  • Ecommerce Product Page Scraper — Extract structured product snapshots from supplied product-page URLs, with available titles, prices and identifiers, for catalog enrichment.

Support and feedback

For custom additions or integrations, email hello@fetchcat.dev.

Found an error or have a feature request? Open an issue with the run URL, a non-sensitive input example and what you expected.

Need help sharing it? See Apify’s guide to sharing a run when reporting an issue. Sharing a run can give the developer access to its input, logs and results, so use a run that contains no sensitive data. Please leave out API tokens, passwords, cookies, private documents and personal data. Use a public sample URL or a redacted example instead.

Tried this scraper? We'd love to hear how it worked for you. Leave a review to help others choose the right tool and help us improve it. Your feedback means a lot to us.

Made with care for curious people, AI agents and the possibilities in data. ♥