# Wegmans Grocery Scraper (`crawlerbros/wegmans-scraper`) Actor

Scrape live Wegmans grocery products - search by keyword, browse 30+ categories (dairy, meat, produce, seafood, frozen, bakery), or pull featured collections. Get real prices, sizes, ratings, and images.

- **URL**: https://apify.com/crawlerbros/wegmans-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** E-commerce, Automation, Agents
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Wegmans Grocery Scraper

Scrape live product data from [Wegmans](https://www.wegmans.com), one of the largest US grocery chains — search by keyword, browse 30+ categories (dairy, meat, produce, seafood, frozen, bakery), or pull featured/discovery collections. No account, cookies, or paid proxy required.

### What You Get

For every product: name, size/weight, price, price-per-unit, category, average star rating, review count, "New Item"/"Hot Zone" badges, dietary/wellness tags (Gluten-Free, Organic, Vegan, Lactose Free, Family Pack), image, and a direct product link.

### Modes

| Mode | Description |
|---|---|
| `search` | Free-text keyword search across the full Wegmans catalog (e.g. "milk", "chicken breast", "ice cream"). |
| `byCategory` | Browse a specific category grid — dairy, meat, produce, seafood, frozen, bakery, and more. |
| `deals` | Browse Wegmans' evergreen featured/discovery collections (Seasonal Entertaining, Gold Pan Meals, Living Gluten Free, Active & Sports Nutrition). |

### Input

- **mode** — `search`, `byCategory`, or `deals`.
- **searchQuery** — free-text product keyword (mode=search).
- **category** — one of 32 curated categories spanning Dairy, Meat, Produce, Frozen, Seafood, and Bakery (mode=byCategory).
- **dealsCollection** — one of 4 featured collections (mode=deals).
- **minPrice** / **maxPrice** — filter by price (USD).
- **minRating** — filter to products with at least this average star rating.
- **maxItems** — maximum number of records to return (1-150, default 30).

### Sample Output

```json
{
  "productId": "94427",
  "name": "Wegmans Vitamin D Whole Milk",
  "size": "1 gallon",
  "price": 2.99,
  "pricePerUnit": "$2.99/gallon",
  "category": "Dairy",
  "rating": 4.5,
  "reviewCount": 35,
  "dietaryTags": ["Gluten-Free", "Family Pack"],
  "imageUrl": "https://images.wegmans.com/is/image/wegmanscsprod/94427_PrimaryImage",
  "productUrl": "https://www.wegmans.com/shop/product/94427-Vitamin-D-Whole-Milk",
  "sourceUrl": "https://www.wegmans.com/shop/search?query=milk",
  "scrapedAt": "2026-07-01T12:00:00+00:00",
  "recordType": "product"
}
````

### FAQs

**Do I need an account, cookies, or proxy?**
No. This actor loads Wegmans' public storefront exactly as a shopper would, using a headless browser with no login and no paid proxy.

**What are `dietaryTags`?**
Wegmans marks many products with small "wellness key" icons on the product tile — Gluten-Free, Organic, Vegan, Lactose Free, and Family Pack are the most common. `dietaryTags` lists whichever of these apply to a given product; it's omitted for products with none.

**Why Wegmans instead of Kroger?**
Kroger.com actively blocks automated access (Akamai bot management returns "Access Denied" and protocol errors even to a real headless browser), and Kroger's official developer API requires an OAuth client ID/secret that a free-plan user cannot obtain. Wegmans serves full product listings — including live prices and ratings — without any login or credentials, making it the reliable, zero-cost equivalent.

**Does this include sale/clearance pricing?**
Wegmans does not publish discount or "was/now" pricing on its public storefront (loyalty-gated pricing is not shown to unauthenticated visitors), so this actor reports the real, publicly-visible shelf price for every item. The `deals` mode surfaces Wegmans' curated featured/discovery collections instead of fabricated discount data.

**Which categories are supported?**
32 categories across Dairy, Meat, Produce, Frozen, Seafood, and Bakery departments — see the `category` dropdown for the full list.

# Actor input Schema

## `mode` (type: `string`):

What to fetch.

## `searchQuery` (type: `string`):

Free-text product keyword (mode=search), e.g. `milk`, `chicken breast`, `ice cream`.

## `category` (type: `string`):

Product category to browse (mode=byCategory).

## `dealsCollection` (type: `string`):

Evergreen featured/discovery collection to browse (mode=deals). Wegmans does not publish clearance discount data publicly, so this surfaces its curated featured product sets instead.

## `minPrice` (type: `number`):

Drop products cheaper than this.

## `maxPrice` (type: `number`):

Drop products pricier than this.

## `minRating` (type: `number`):

Drop products with a lower average star rating.

## `maxItems` (type: `integer`):

Hard cap on emitted records.

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "milk",
  "category": "milk",
  "dealsCollection": "seasonal_entertaining",
  "maxItems": 30
}
```

# Actor output Schema

## `products` (type: `string`):

Dataset containing all scraped Wegmans products.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "search",
    "searchQuery": "milk",
    "category": "milk",
    "dealsCollection": "seasonal_entertaining",
    "maxItems": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/wegmans-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "search",
    "searchQuery": "milk",
    "category": "milk",
    "dealsCollection": "seasonal_entertaining",
    "maxItems": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/wegmans-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "search",
  "searchQuery": "milk",
  "category": "milk",
  "dealsCollection": "seasonal_entertaining",
  "maxItems": 30
}' |
apify call crawlerbros/wegmans-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/wegmans-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wegmans Grocery Scraper",
        "description": "Scrape live Wegmans grocery products - search by keyword, browse 30+ categories (dairy, meat, produce, seafood, frozen, bakery), or pull featured collections. Get real prices, sizes, ratings, and images.",
        "version": "1.0",
        "x-build-id": "I79qS7jvBqVOpilo2"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~wegmans-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-wegmans-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~wegmans-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-wegmans-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~wegmans-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-wegmans-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "byCategory",
                            "deals"
                        ],
                        "type": "string",
                        "description": "What to fetch.",
                        "default": "search"
                    },
                    "searchQuery": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Free-text product keyword (mode=search), e.g. `milk`, `chicken breast`, `ice cream`.",
                        "default": "milk"
                    },
                    "category": {
                        "title": "Category",
                        "enum": [
                            "milk",
                            "cheese_block",
                            "cheese_shredded",
                            "yogurt",
                            "eggs",
                            "butter",
                            "cream_cheese",
                            "tomatoes",
                            "potatoes",
                            "lettuce_and_greens",
                            "onions_and_garlic",
                            "peppers",
                            "mushrooms",
                            "cucumber",
                            "chicken",
                            "beef",
                            "pork",
                            "bacon",
                            "sausage",
                            "ground_meat_and_burgers",
                            "turkey",
                            "ham",
                            "frozen_pizza",
                            "ice_cream",
                            "frozen_vegetables",
                            "fresh_fish",
                            "frozen_fish",
                            "lobster_and_crab",
                            "shrimp",
                            "salmon",
                            "bakery_desserts",
                            "artisan_breads"
                        ],
                        "type": "string",
                        "description": "Product category to browse (mode=byCategory).",
                        "default": "milk"
                    },
                    "dealsCollection": {
                        "title": "Featured collection",
                        "enum": [
                            "seasonal_entertaining",
                            "gold_pan_meals",
                            "gluten_free",
                            "active_nutrition"
                        ],
                        "type": "string",
                        "description": "Evergreen featured/discovery collection to browse (mode=deals). Wegmans does not publish clearance discount data publicly, so this surfaces its curated featured product sets instead.",
                        "default": "seasonal_entertaining"
                    },
                    "minPrice": {
                        "title": "Min price (USD)",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "number",
                        "description": "Drop products cheaper than this."
                    },
                    "maxPrice": {
                        "title": "Max price (USD)",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "number",
                        "description": "Drop products pricier than this."
                    },
                    "minRating": {
                        "title": "Min rating (0-5)",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "number",
                        "description": "Drop products with a lower average star rating."
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 150,
                        "type": "integer",
                        "description": "Hard cap on emitted records.",
                        "default": 30
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
