Costco Products Scraper

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

Data fields

FieldTypeDescription
productUrlstringValue exported as productUrl.
sourceUrlstringValue exported as sourceUrl.
productIdstring | nullValue exported as productId.
groupIdstring | nullValue exported as groupId.
itemNumberstring | nullValue exported as itemNumber.
namestringValue exported as name.
brandstring | nullValue exported as brand.
brandsarrayValue exported as brands.

Input preview

keywordsSearch keywords
startUrlsCostco URLs
searchUrlsSearch/category URLs (simple list)
maxItemsMaximum products
maxItemsPerStartUrlMaximum products per source
maxSearchPagesPerStartUrlMaximum search pages per source

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Costco Products Scraper exports structured public Costco product data from keywords, search URLs, category URLs, and product URLs. Use it for ecommerce catalog research, price monitoring, assortment checks, stock signal tracking, and repeatable CSV/JSON/API workflows.

What does this scraper do?

  • Search and category extraction: collect Costco products from search terms like laptop or public category URLs like /hair-care.html.
  • Product snapshots: normalize a direct Costco product URL into the same output format when Costco returns it through the public product data route.
  • Buyer-ready product fields: product URL, item number, IDs, name, brand, description, price fields, currency, rating, reviews, availability signals, member-only flag, categories, and images.
  • Cost control: cap total products, products per source, and paginated pages per source.

Who is it for?

Retail analysts, ecommerce sellers, price-monitoring teams, warehouse-club assortment trackers, and automation builders can use this scraper for public Costco catalog research.

Costco price tracker and product-data use cases

Use this Costco price tracker workflow to monitor public assortment and visible price changes. The same output also supports a Costco product data API workflow for ecommerce, reporting, and automation.

  • Ecommerce teams: monitor Costco assortment and visible price changes.
  • Market researchers: compare product names, categories, brands, and customer-review signals.
  • Data teams: feed public Costco catalog records into BI, spreadsheets, alerts, and internal APIs.
  • Automation builders: run repeatable Apify tasks or MCP-powered agents with the same JSON input.

Input example

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

Output example

{
  "productUrl": "https://www.costco.com/.product.4000318634.html",
  "sourceUrl": "https://www.costco.com/s?keyword=laptop",
  "itemNumber": "4000318634",
  "name": "Lenovo Slim 7i 14\" OLED Touchscreen Copilot+ PC",
  "brand": "Lenovo",
  "price": 999.99,
  "currencyCode": "USD",
  "rating": 4.5,
  "reviewsCount": 123,
  "isInStock": true,
  "image": "https://www.costco.com/example.jpg",
  "scrapedAt": "2026-07-29T00:00:00.000Z"
}

Input settings

Field Type Description
keywords string[] Costco search terms such as laptop, coffee, or vitamins.
startUrls request list Costco search, category, or product URLs.
searchUrls string[] Optional plain URL list for compatibility with other Costco scraper inputs.
maxItems integer Hard cap on total product records.
maxItemsPerStartUrl integer Hard cap for each keyword or URL.
maxSearchPagesPerStartUrl integer Maximum paginated Costco result pages per source.
proxyConfiguration object Optional proxy settings. Default runs without proxy for the public search API route.
debug boolean Save blocked or malformed response snippets to the key-value store.

Tips and limits

  • Keep first runs small (maxItems 10-25) while validating your source terms.
  • Costco may omit optional fields for some products; nullable fields are preserved instead of dropping valid records.
  • This Actor scrapes public product/search/category data only. It does not log in, use private accounts, read carts, or claim warehouse-specific member inventory.

API usage

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
});
console.log(run.defaultDatasetId);

Python

from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('fetch_cat/costco-products-scraper').call(run_input={
    'keywords': ['laptop'],
    'maxItems': 10,
})
print(run['defaultDatasetId'])

cURL

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~costco-products-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"keywords":["laptop"],"maxItems":10}'

MCP / agent usage

Use this Actor from Apify MCP when you want an AI agent to collect public Costco product data.

claude mcp add apify -- npx -y @apify/actors-mcp-server --actors fetch_cat/costco-products-scraper
{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": ["-y", "@apify/actors-mcp-server", "--actors", "fetch_cat/costco-products-scraper"],
      "env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" }
    }
  }
}

Example prompts:

  • "Scrape 25 Costco laptop products and return price, rating, and product URL."
  • "Monitor this Costco category URL and list products that are member-only."
  • "Get one product snapshot for this Costco product URL."

Support

If you need help, open an issue on the Actor page and include:

  • Input JSON: the exact input you used.
  • Expected output: what product, field, or count you expected.
  • Actual output: what the run produced instead.
  • Reproducible public URL: a Costco keyword, category URL, product URL, or public Apify run URL that reproduces the issue.

Common questions

Questions and answers reused from the canonical actor README.

What data can I export with Costco Products Scraper?

Public listing records can include product IDs, item numbers, names, brands, visible prices, availability signals, review summaries, categories, images, and source URLs when Costco returns them.

Can I run Costco Products Scraper through an API, schedule, or MCP client?

Yes. Use the API examples above for programmatic runs, schedule the same input in Apify, or call the Actor from an MCP client.

How much does it cost to use Costco Products Scraper?

The Actor charges one run-start event and one event for each product record it saves. Current tier prices are shown in the Pricing section and on the Actor Pricing tab.

Can it scrape warehouse-specific prices?

No. It extracts public product/search/category data returned by Costco's public routes.

Why are some price or review fields empty?

Costco does not return every optional field for every product. Empty optional fields are kept as null or empty arrays.