# Walmart Product details (`sellez/walmart-product-search`) Actor

This Walmart Product Search Actor enables customized Walmart product searches by keyword with filters like category, sorting, price order, and ratings. Output includes detailed product data—title, price, images, URL, description, and availability—in JSON format, ideal for e-commerce insights

- **URL**: https://apify.com/sellez/walmart-product-search.md
- **Developed by:** [sellez](https://apify.com/sellez) (community)
- **Categories:** E-commerce
- **Stats:** 8 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Walmart Product Search

This web app is designed to make product searches on Walmart more efficient and customizable. Built with Apify Actors and Python, it allows users to input a **Keyword** and specify various **Parameters** to filter and sort search results. This tool is ideal for users who want to narrow down Walmart products based on criteria like category, sorting order, and customer ratings.

### Features

- **Keyword-based Search**: Input a keyword to search Walmart's catalog (e.g., "laptop", "dress").
- **Customizable Filters**: Refine search results using advanced parameters, including:
  - `categoryId`: Filter results within a specific Walmart category.
  - `start`: Define the starting position in the results.
  - `sort`: Set sorting criteria (e.g., relevance, price, title, bestseller, customer rating, new).
  - `order`: Specify the sorting order (ascending or descending) for applicable criteria, like price.
  - `customerRating`: Sort results by customer ratings.

### Getting Started

Usage
Run the Actor: This app is designed to run as an Apify Actor. You can trigger it via Apify with specific input parameters.

Input Parameters: In Apify's Input tab, enter the following:

Keyword (required): The search term for Walmart products, e.g., "dress".

Parameter (required): A dictionary for filter options. Example input:

{
"start": 1,
"sort": "relevance",
"customerRating": "descending",
"categoryId": "5438",
"order": "descending"
}

categoryId: Restrict results to a category (optional).
start: Starting position in results (optional).
sort: Sorting criteria (options: relevance, price, title, bestseller, customerRating, new).
order: Sort order, either ascending or descending (applicable if sort is set to price).
customerRating: Order of customer ratings (ascending or descending).
View Results: After running the actor, view results in Apify's Dataset tab, where data is saved in JSON format for easy processing.

Example
To search for dresses with high customer ratings:

Keyword: "dress"
Parameter:
{
"start": 1,
"sort": "customerRating",
"customerRating": "descending"
}

Output Schema
The output JSON structure includes a summary of the response and details of each product in response. Below is an example:
{
"ACK": "Success",
"response": \[
{
"result": "Success",
"Item_id": 5673272012,
"UPC": "194869599178",
"Title": "Time and Tru Women's and Women's Plus Ribbed Hacci Knit Midi Dress, Sizes XS-4X",
"Currency": "USD",
"Price": 16.98,
"Image": "https://i5.walmartimages.com/asr/...jpeg",
"Image_All": \["https://i5.walmartimages.com/asr/...jpeg", "..."],
"URL": "https://www.walmart.com/ip/5673272012",
"CategoryPath": "Home Page/Clothing/Womens Clothing/Womens Dresses/Casual Dresses",
"CategoryNode": "5438_133162_3074670",
"Description": "Material 63% Rayon/32% Polyester/5% Spandex...",
"ShippingRating": 0,
"BrandName": "Time and Tru",
"CustomerRating": "3.9",
"NumReviews": 8,
"SellerInfo": "Walmart.com",
"Stock": "Available",
"Variants": \[6147603203, 6137570659, ...],
"Attributes": {
"actual_color": "Merlot Wine",
"clothing_size": "L",
"color": "Red"
}
},
// Additional products...
]
}

How It Works
User inputs Keyword and optional Parameter filters.
Results are parsed and saved in Apify's dataset.

# Actor input Schema

## `Parameter` (type: `object`):

Configuration options for the API request, including sorting and filtering options.

## `Keyword` (type: `string`):

The keyword to search for in the API.

## Actor input object example

```json
{
  "Parameter": {
    "start": 1,
    "sort": "relevance",
    "customerRating": "descending"
  },
  "Keyword": "dress"
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("sellez/walmart-product-search").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("sellez/walmart-product-search").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call sellez/walmart-product-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sellez/walmart-product-search"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/en5Lfq9j5TCzuYiLY/builds/ZQCxANw1XPyboLd7f/openapi.json
