# Walmart Products Search (`sellez/walmart-products-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-products-search.md
- **Developed by:** [sellez](https://apify.com/sellez) (community)
- **Categories:** E-commerce, Social media, Developer tools
- **Stats:** 3 total users, 2 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

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

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

  ```json
  {
    "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**:
  ```json
  {
    "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:

```json
{
  "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

1. User inputs **Keyword** and optional **Parameter** filters.
2. Results are parsed and saved in Apify's dataset.
3. Users can then access the data in JSON format for further processing or analysis.

# 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-products-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-products-search").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 '{}' |
apify call sellez/walmart-products-search --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Walmart Products Search",
        "description": "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",
        "version": "0.0",
        "x-build-id": "m4NR5SeIfUZyJKaVF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sellez~walmart-products-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sellez-walmart-products-search",
                "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/sellez~walmart-products-search/runs": {
            "post": {
                "operationId": "runs-sync-sellez-walmart-products-search",
                "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/sellez~walmart-products-search/run-sync": {
            "post": {
                "operationId": "run-sync-sellez-walmart-products-search",
                "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": [
                    "Parameter",
                    "Keyword"
                ],
                "properties": {
                    "Parameter": {
                        "title": "Parameter Settings",
                        "type": "object",
                        "description": "Configuration options for the API request, including sorting and filtering options.",
                        "default": {
                            "start": 1,
                            "sort": "relevance",
                            "customerRating": "descending"
                        }
                    },
                    "Keyword": {
                        "title": "Search Keyword",
                        "type": "string",
                        "description": "The keyword to search for in the API.",
                        "default": "dress"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
