# Newegg AI-Build Sniper (`pyralislabs/newegg-ai-build-sniper`) Actor

Scrape Newegg for AI-ready PC builds. Set a budget and AI goal, get back complete builds with live prices, socket-matched components, VRAM verification, and NPU filtering. JSON output ready for any AI agent or workflow.

- **URL**: https://apify.com/pyralislabs/newegg-ai-build-sniper.md
- **Developed by:** [PyralisLabs](https://apify.com/pyralislabs) (community)
- **Categories:** E-commerce, AI, Agents
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 ai build generateds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## 🧠 Newegg AI-Build Sniper

> **Scrape Newegg for AI-ready PC builds the moment they make sense.**

The **Newegg AI-Build Sniper** is an Apify Actor that searches live Newegg listings for RTX 50-series GPUs, NPU-equipped CPUs, DDR5 RAM, NVMe Gen5 SSDs, and socket-matched motherboards, then assembles complete builds tuned to your AI workload and budget. Built for developers, ML engineers, and procurement teams who need 2026 AI-PC intelligence on demand instead of spending hours cross-referencing benchmarks.

You give it a budget and an AI use case. It returns up to 5 ready-to-buy build configurations with live prices, links, VRAM verification, and budget math — as structured JSON that any AI agent or workflow can consume.

> 🤝 **Companion Actor:** [Micro Center In-Store AI-Build Sniper](https://apify.com/pyralislabs/microcenter-ai-instore-sniper) — use Newegg for shipping nationwide, Micro Center for in-store pickup and open-box deals.

---

### 🤔 What is the Newegg AI-Build Sniper?

The Newegg AI-Build Sniper is a specialized Apify Actor that goes beyond generic Newegg scraping. Instead of dumping a CSV of products, it understands AI workloads — VRAM requirements for LLM inference, NPU TOPS for local copilots, RAM density for fine-tuning — and uses that knowledge to assemble component bundles that actually run modern AI locally.

It is built on Crawlee + Playwright for resilient browser scraping, supports Apify Residential Proxy to bypass Newegg's PerimeterX anti-bot layer, and is callable as an MCP tool via the [Apify MCP Server](https://mcp.apify.com) so AI agents in Cursor, Claude Desktop, and similar clients can invoke it directly.

---

### ⚡ What can the Newegg AI-Build Sniper do?

- 🛒 Search Newegg for **GPUs, CPUs, RAM, SSDs, and motherboards** in a single run.
- 🎯 **Filter GPUs by VRAM, brand (NVIDIA / AMD / Intel Arc / ANY), and budget** — automatically anchored on GDDR/HBM/VRAM keywords so it never confuses storage capacity for video memory.
- 🧠 **Filter CPUs by NPU class** — Intel Core Ultra or AMD Ryzen AI / Ryzen AI Max families when `includeNpu` is enabled.
- 🔌 **Match motherboards to CPU socket** — Intel LGA 1851 boards stay paired with Intel CPUs, AM5 boards stay paired with AMD CPUs, never the wrong way around.
- 🛠️ **Assemble up to 5 distinct builds** in one run, each with total price, budget remaining, and a within-budget flag.
- ⚠️ **Surface honest disclaimers** — every build includes an `incomplete_build_notice` reminding the user that PSU, CPU cooler, and case are excluded.
- 🤖 **Run agentically** — the actor is callable as an MCP tool through `mcp.apify.com`, so AI agents can request a build for a user without any custom integration.

---

### 📦 What data does this Newegg scraper extract?

For each component the actor returns:

- 🏷️ Product **title** (full product name as listed on Newegg)
- 💰 Live **price** in USD
- 🔗 **Direct link** to the Newegg product page
- 🎮 **VRAM in GB** for GPUs (parsed from GDDR / HBM / VRAM markers)
- ⭐ **Customer rating** (0–5) and **review count** straight from the Newegg listing card — so you can prefer battle-tested components over zero-review listings
- 🔧 **Socket detection** for motherboards (Intel LGA 1851 / AMD AM5 / both)
- 🏭 **CPU brand** for socket pairing

For each assembled build:

- 🆔 A unique `build_id` and timestamp
- 💵 Total `total_price`, `budget_remaining`, and `within_budget` boolean
- ✅ An `ai_readiness` label
- 🧪 A `build_quality` label plus `components_filled` / `components_total`
- ⚠️ A `build_warnings` array if any component is missing
- 📝 An `incomplete_build_notice` listing the parts the user still needs to buy
- 🔍 `search_config` echoing your input for traceability
- 📊 `crawl_stats` and `output_schema_version` for downstream observability

---

### 🎯 Use cases

- 🧑‍💻 **Local LLM developers** — find the cheapest path to a 24 GB or 32 GB VRAM rig for running 30B+ models on llama.cpp, Ollama, or vLLM.
- 🏢 **AI startup procurement** — spec a fleet of identical Copilot+ workstations for an engineering team without manual cross-checking.
- 🎨 **Creative studios** — build Stable Diffusion / video generation rigs prioritized around VRAM density and DDR5 bandwidth.
- 🎮 **Hybrid gaming + AI rigs** — split the budget between a fast NVIDIA GPU and an NPU-equipped CPU so the same machine handles 4K gaming and local agent hosting.
- 📊 **Price tracking workflows** — schedule the actor on a daily Apify cron to monitor RTX 50-series price drops and trigger downstream alerts.
- 🤖 **AI agent tool calls** — let an autonomous Claude or GPT agent call this actor as an MCP tool when a user asks "What can I build for $2,500 to run local LLMs?".

---

### ⏱️ What to expect from a run

- **Typical runtime: 1–3 minutes** with default input. Requests are paced and sessions rotate to stay under Newegg's anti-bot radar — a faster crawl gets blocked.
- **Proxy:** runs use **Apify Residential proxy automatically** (Newegg's PerimeterX blocks datacenter IPs). Images, fonts, and media are never fetched, keeping residential bandwidth to a few MB per run.
- **Typical cost:** ~$0.15 in PPE charges (3 builds) plus a small platform-usage passthrough (compute + a few MB of residential bandwidth — usually under $0.15).
- **"Found 0 products" lines are normal** for discontinued cards — empty searches are valid answers, not failures, and are never retried.
- **`within_budget: false` can appear** when live GPU prices exceed the goal's GPU budget share; check `budget_remaining` before buying.
- Every run pushes **one dataset record per build** (`record_type: "build"`) plus a final **`run_summary` record** (config echo, warnings, crawl stats) — even a zero-build run produces the summary, so you always get a machine-readable answer.

---

### 🚀 How to use the Newegg AI-Build Sniper

1. Open the actor in the Apify Console (or call it via API / MCP).
2. 💵 Set your **Budget** (USD). $1,500–$3,000 is the sweet spot for 2026 AI-ready builds.
3. 🎯 Pick an **AI Goal** — LLM Training, Image Generation, Local Agent Hosting, or Gaming + AI Hybrid. This adjusts the GPU budget ratio and minimum RAM target.
4. 🎮 Set **Min VRAM** (GB) — use 16 for 7B-class models, 24 for 13B–30B, 32 for 70B-class quantized models.
5. 🏷️ Pick a **Preferred GPU Brand** — NVIDIA (default, best CUDA compatibility), AMD, Intel, or ANY.
6. 🧠 Toggle **Include NPU** if you want the actor to require NPU-equipped CPUs.
7. 🔢 Set **Max Build Options** (1–5).
8. 🌐 Leave **Proxy Configuration** as `{ "useApifyProxy": true }` — required to bypass Newegg's PerimeterX anti-bot layer.
9. ▶️ Run the actor. Builds appear in the dataset as structured JSON.

#### 📡 Calling via API

```bash
curl -X POST "https://api.apify.com/v2/acts/pyralislabs~newegg-ai-build-sniper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "budget": 2500,
    "aiGoal": "LOCAL_AGENT_HOSTING",
    "minVram": 24,
    "preferredGpuBrand": "NVIDIA",
    "includeNpu": true,
    "maxBuildOptions": 3,
    "proxyConfiguration": { "useApifyProxy": true }
  }'
````

#### 🤖 Calling as an MCP tool

The actor is automatically exposed through the [Apify MCP Server](https://mcp.apify.com). In Claude Desktop, Cursor, or any MCP-compatible client connected to `mcp.apify.com`, your agent can discover it via `search-actors newegg-ai-build-sniper` and invoke it the same way it would any other tool. The output JSON structure is identical to the [Micro Center In-Store AI-Build Sniper](https://apify.com/pyralislabs/microcenter-ai-instore-sniper), making it easy for an AI agent to compare builds across both retailers.

***

### ⚙️ Input parameters

| Field | Type | Required | Default | Description |
| :--- | :--- | :--- | :--- | :--- |
| `budget` | integer | ✅ | 2000 | Total target price in USD. Minimum $800. |
| `aiGoal` | enum | ⬜ | `LOCAL_AGENT_HOSTING` | One of `LLM_TRAINING`, `IMAGE_GENERATION`, `LOCAL_AGENT_HOSTING`, `GAMING_AI_HYBRID`. |
| `minVram` | integer | ⬜ | 16 | Minimum GPU VRAM in GB. 16 = baseline for 7B models, 24 = 13B–30B, 32 = 70B+. |
| `preferredGpuBrand` | enum | ⬜ | `NVIDIA` | One of `NVIDIA`, `AMD`, `INTEL`, `ANY`. |
| `includeNpu` | boolean | ⬜ | `true` | Require 50+ TOPS NPU CPUs (Intel Core Ultra / Ryzen AI). |
| `maxBuildOptions` | integer | ⬜ | 3 | Number of build variations to return (1–5). |
| `proxyConfiguration` | object | ⬜ | `{ "useApifyProxy": true }` | Defaults to Apify Proxy on the platform. Residential strongly recommended. |

The full input schema lives in [`.actor/input_schema.json`](./.actor/input_schema.json) and is rendered as a form in the Apify Console.

***

### 📤 Output example

Each build is its own dataset record (`record_type: "build"` — easy to filter, export as CSV rows, or consume one at a time) and the run ends with a single `record_type: "run_summary"` record. The example below shows the legacy combined view of the same fields — in the dataset, `builds[i]` entries appear as individual records and the remaining top-level fields form the summary record:

```json
{
  "search_config": {
    "budget": 2500,
    "ai_goal": "LOCAL_AGENT_HOSTING",
    "min_vram": 16,
    "gpu_brand": "NVIDIA",
    "include_npu": true
  },
  "builds": [
    {
      "build_id": "AI-LOCAL_AGENT_HOSTING-1711478400000-1-RTX508016GBGDDR7",
      "ai_goal": "LOCAL_AGENT_HOSTING",
      "total_price": 2349.99,
      "budget_remaining": 150.01,
      "within_budget": true,
      "components": {
        "gpu": {
          "name": "NVIDIA GeForce RTX 5080 16GB GDDR7",
          "price": 999.99,
          "link": "https://www.newegg.com/...",
          "vram_gb": 16
        },
        "cpu": {
          "name": "Intel Core Ultra 9 385 (Panther Lake)",
          "price": 549.99,
          "link": "https://www.newegg.com/..."
        },
        "ram": {
          "name": "G.SKILL Trident Z5 DDR5 32GB",
          "price": 189.99,
          "link": "https://www.newegg.com/..."
        },
        "ssd": {
          "name": "Samsung 990 EVO Plus 2TB NVMe Gen5",
          "price": 249.99,
          "link": "https://www.newegg.com/..."
        },
        "motherboard": {
          "name": "ASUS ROG Strix Z890-E LGA 1851",
          "price": 359.99,
          "link": "https://www.newegg.com/..."
        }
      },
      "ai_readiness": "7B Ready",
      "build_quality": "complete",
      "components_filled": 5,
      "components_total": 5,
      "build_warnings": [],
      "incomplete_build_notice": "Build excludes PSU (~$100-$300), CPU cooler (~$50-$200), and case (~$80-$250). Budget accordingly.",
      "timestamp": "2026-03-27T12:00:00.000Z"
    }
  ],
  "total_results": 3,
  "warnings": [],
  "crawl_stats": {
    "requests_finished": 10,
    "requests_failed": 0,
    "requests_retried": 0,
    "requests_total": 10,
    "runtime_seconds": 45
  },
  "output_schema_version": "1.1.0"
}
```

You can download the full dataset in **JSON, CSV, HTML, or Excel** from the dataset tab after any run.

***

### 💰 Pricing

#### How much does it cost to scrape Newegg?

This actor uses **Pay-per-Event (PPE)** pricing, billed only for the value it actually delivers. You are never charged for failed runs or zero-result runs.

| Event | When it fires | Price (USD) |
| :--- | :--- | :--- |
| 🏗️ `build-generated` | Each complete or partial build pushed to the dataset | **$0.05** |

Notes on cost:

- 💸 A typical run with `maxBuildOptions: 3` costs **$0.15** in PPE charges plus a few cents of Apify compute and proxy usage.
- ✅ Failed runs and runs that return zero builds are **not charged** — the actor only calls `Actor.charge()` after `Actor.pushData()` confirms data was delivered.
- 🤝 Apify takes 20% as platform revenue share; the developer keeps 80%.
- 🌐 Apify Residential Proxy usage is billed separately by Apify per their proxy pricing.

This is intentionally premium versus generic Newegg scrapers (which charge ~$0.003–$0.01 per raw product) because each PPE event corresponds to a fully-assembled, socket-validated, VRAM-verified build — not a row of unfiltered HTML.

***

### ❓ Frequently asked questions

#### Does the actor work without Apify Proxy?

Newegg's PerimeterX (HUMAN) anti-bot layer is aggressive. Local runs from a personal IP work occasionally but will eventually be challenged. **Always use Apify Residential Proxy in production.** Datacenter proxies are not recommended.

#### Why is `maxBuildOptions` capped at 5?

Newegg's first results page typically returns 12–24 GPU candidates. After brand, VRAM, and budget filters, you get 1–6 viable options for any single GPU class. Returning more than 5 starts duplicating components, which produces low-quality output.

#### What does `ai_readiness` mean?

It is a tiered label derived from parsed VRAM. `3B Ready`, `7B Ready`, `13B Ready`, `30B Ready`, `70B Ready`, and `70B+ Ready` indicate progressively larger local-model classes. `Below VRAM Threshold` means the build did not clear your requested `minVram`.

#### Why does the actor sometimes return only 1 or 2 builds even when `maxBuildOptions: 5`?

Newegg may be sparse on a particular GPU class at a particular budget. Common fixes: increase `budget`, lower `minVram`, switch `preferredGpuBrand` to `ANY`, or pick a less GPU-heavy `aiGoal` (e.g. `LOCAL_AGENT_HOSTING` instead of `LLM_TRAINING`).

#### Can an AI agent call this actor?

Yes — that is the intended primary integration. The actor is discoverable via `search-actors newegg-ai-build-sniper` through the [Apify MCP Server](https://mcp.apify.com) and returns structured JSON that any agent can parse directly.

#### What about PSU, case, and cooler?

Excluded by design. Every build includes an `incomplete_build_notice` field reminding you to budget ~$230–$750 extra for a PSU, CPU cooler, and case. The actor focuses on the parts where AI workload optimization actually matters.

#### Is it legal to scrape Newegg?

This actor loads public Newegg search pages the same way a browser does. It does not log in, bypass paywalls, access any private API, or collect personal data. All scraped data is publicly visible to any visitor. Use it for personal research and purchasing decisions at reasonable run frequencies.

***

### 🛠️ Troubleshooting

| Issue | Solution |
| :--- | :--- |
| 🕳️ `total_results: 0` | Increase `budget`, lower `minVram`, or set `preferredGpuBrand: "ANY"`. |
| 📭 Output looks empty or all warnings | Newegg may be returning a CAPTCHA — re-run with Apify Residential proxy enabled. |
| 💸 `within_budget: false` even at $4,000 budget | RTX 5090 + 64 GB DDR5 + Z890 board pushes most builds over $3,000. Try `aiGoal: "LOCAL_AGENT_HOSTING"`. |
| 🔁 Fewer builds than `maxBuildOptions` | The actor now caps output by actual component diversity. Increase `budget` or set `includeNpu: false` if you need more distinct CPU/RAM/SSD/motherboard combinations. |
| ⚠️ Build warning "No compatible motherboard found" | Common when `preferredGpuBrand: "AMD"` because AM5 inventory is sparser than Intel's. |
| 🐌 Slow runs | Bump the actor memory to 2 GB+ in the Run Options — Playwright needs RAM for the Chrome process. |
| 🧱 Selectors broken after Newegg redesign | Report it on the **Issues** tab of this actor's Apify Store page — selector fixes ship within days. |

***

### 🆚 Newegg Sniper vs Micro Center Sniper — which one?

| Use case | Newegg Sniper | Micro Center Sniper |
| :--- | :---: | :---: |
| Fastest delivery to my address | ✅ | ❌ (most stock is pickup-only) |
| Live near one of the 25 US Micro Center stores, willing to drive | ➖ | ✅ |
| Open-box / clearance GPU deals | ❌ | ✅ |
| Nationwide availability, 24/7 | ✅ | ❌ |
| Component ratings & review counts | ✅ | ➖ |
| Store-level stock + SKU for pickup | ❌ | ✅ |
| Cross-retailer price comparison | run both — identical output schema | run both — identical output schema |

***

### 🔗 Related Apify Actors by PyralisLabs

- 🏬 [Micro Center In-Store AI-Build Sniper](https://apify.com/pyralislabs/microcenter-ai-instore-sniper) — same intelligence, but for in-store pickup and open-box deals at your nearest Micro Center.
- ⚖️ [OSHA Inspections, Violations & Penalty Screener](https://apify.com/pyralislabs/osha-violations-penalty-screener) — screen any US company's workplace safety record with citation-level violation detail.

More AI hardware and procurement actors are on the PyralisLabs roadmap. Watch the org's Apify Store profile.

***

### 📜 Disclaimers and support

- 🔓 This actor scrapes **public** Newegg search pages. It does not log in, bypass paywalls, or scrape personal data.
- ™️ Newegg branding, product names, and trademarks belong to their respective owners. This actor is not affiliated with, endorsed by, or sponsored by Newegg.
- 💱 Component prices change minute by minute. Always verify the final price on Newegg before purchasing.
- 🧪 VRAM detection relies on parsing product titles and feature strings. Edge cases (custom OEM bundles, pre-built systems whose names mention components) can occasionally surface — file an issue if you find one.
- 📩 For bugs, feature requests, and selector breakage reports, use the **Issues** tab on this actor's Apify Store page or contact `dev@pyralislabs.io`.

***

### 📚 Resources and further reading

- 🏬 [Micro Center In-Store AI-Build Sniper](https://apify.com/pyralislabs/microcenter-ai-instore-sniper) — companion actor for in-store pickup and open-box deals.
- 💳 [Apify Pay-per-Event docs](https://docs.apify.com/platform/actors/publishing/monetize#pay-per-event-pricing-model)
- 🌐 [Apify MCP Server](https://mcp.apify.com) — call this actor from Claude Desktop, Cursor, or any MCP-compatible client.
- 🕷️ [Crawlee documentation](https://crawlee.dev) — the scraping framework powering the actor.

# Actor input Schema

## `budget` (type: `integer`):

Your target price. Note: 2026 AI-Ready builds typically start at $1,200 due to high NAND/DRAM costs.

## `aiGoal` (type: `string`):

Determines whether to prioritize VRAM (LLMs) or NPU TOPS (Local Copilots).

## `minVram` (type: `integer`):

Critical for 2026 models. 16GB is the baseline for 7B models; 32GB+ for 30B+ models.

## `preferredGpuBrand` (type: `string`):

NVIDIA is recommended for CUDA compatibility in 2026.

## `includeNpu` (type: `boolean`):

If true, will only select CPUs with 50+ TOPS (e.g., Ryzen 10000 or Core Ultra Series 3).

## `maxBuildOptions` (type: `integer`):

How many different hardware configurations to return.

## `proxyConfiguration` (type: `object`):

Residential proxy is required in production — both retailers hard-block datacenter IPs with 403s. If omitted or left on automatic groups, the actor forces Apify Residential (US) automatically. Local runs without proxy input use your own IP.

## Actor input object example

```json
{
  "budget": 2500,
  "aiGoal": "LOCAL_AGENT_HOSTING",
  "minVram": 16,
  "preferredGpuBrand": "NVIDIA",
  "includeNpu": true,
  "maxBuildOptions": 3,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset records: record\_type = 'build' | 'run\_summary' | 'error'.

# 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 = {
    "budget": 2500,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("pyralislabs/newegg-ai-build-sniper").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 = {
    "budget": 2500,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("pyralislabs/newegg-ai-build-sniper").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 '{
  "budget": 2500,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call pyralislabs/newegg-ai-build-sniper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=pyralislabs/newegg-ai-build-sniper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Newegg AI-Build Sniper",
        "description": "Scrape Newegg for AI-ready PC builds. Set a budget and AI goal, get back complete builds with live prices, socket-matched components, VRAM verification, and NPU filtering. JSON output ready for any AI agent or workflow.",
        "version": "1.6",
        "x-build-id": "CG2fFniz15sKt4mkH"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/pyralislabs~newegg-ai-build-sniper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-pyralislabs-newegg-ai-build-sniper",
                "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/pyralislabs~newegg-ai-build-sniper/runs": {
            "post": {
                "operationId": "runs-sync-pyralislabs-newegg-ai-build-sniper",
                "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/pyralislabs~newegg-ai-build-sniper/run-sync": {
            "post": {
                "operationId": "run-sync-pyralislabs-newegg-ai-build-sniper",
                "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": [
                    "budget"
                ],
                "properties": {
                    "budget": {
                        "title": "Total Budget (USD)",
                        "minimum": 800,
                        "type": "integer",
                        "description": "Your target price. Note: 2026 AI-Ready builds typically start at $1,200 due to high NAND/DRAM costs.",
                        "default": 2000
                    },
                    "aiGoal": {
                        "title": "Primary AI Use Case",
                        "enum": [
                            "LLM_TRAINING",
                            "IMAGE_GENERATION",
                            "LOCAL_AGENT_HOSTING",
                            "GAMING_AI_HYBRID"
                        ],
                        "type": "string",
                        "description": "Determines whether to prioritize VRAM (LLMs) or NPU TOPS (Local Copilots).",
                        "default": "LOCAL_AGENT_HOSTING"
                    },
                    "minVram": {
                        "title": "Minimum VRAM (GB)",
                        "minimum": 8,
                        "type": "integer",
                        "description": "Critical for 2026 models. 16GB is the baseline for 7B models; 32GB+ for 30B+ models.",
                        "default": 16
                    },
                    "preferredGpuBrand": {
                        "title": "Preferred GPU Brand",
                        "enum": [
                            "NVIDIA",
                            "AMD",
                            "INTEL",
                            "ANY"
                        ],
                        "type": "string",
                        "description": "NVIDIA is recommended for CUDA compatibility in 2026.",
                        "default": "NVIDIA"
                    },
                    "includeNpu": {
                        "title": "Require Dedicated NPU?",
                        "type": "boolean",
                        "description": "If true, will only select CPUs with 50+ TOPS (e.g., Ryzen 10000 or Core Ultra Series 3).",
                        "default": true
                    },
                    "maxBuildOptions": {
                        "title": "Number of Build Variations",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "How many different hardware configurations to return.",
                        "default": 3
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Residential proxy is required in production — both retailers hard-block datacenter IPs with 403s. If omitted or left on automatic groups, the actor forces Apify Residential (US) automatically. Local runs without proxy input use your own IP."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
