{
  "openapi": "3.0.1",
  "info": {
    "title": "Electronics Scraper for Newegg - Prices, Specs & Reviews",
    "description": "Scrape Newegg by keyword, category or URL: live price, discount %, stock, full specifications, ratings, reviews, marketplace seller leads & price/stock monitoring across the US & Canada. Independent tool, not affiliated with Newegg.",
    "version": "0.1",
    "x-build-id": "cWryg35CgYXrAWLeV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~newegg-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-newegg-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/scrapesage~newegg-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-newegg-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/scrapesage~newegg-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-newegg-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",
        "properties": {
          "searchTerms": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords to search Newegg for, e.g. <code>rtx 4070</code>, <code>ssd</code>, <code>gaming laptop</code>, <code>mechanical keyboard</code>. Each keyword is its own product feed (96 products per page). When Newegg sends a keyword to a category page instead of results, the actor reads that keyword's results inside the category. Leave empty if you only use Start URLs or Item numbers.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Newegg URLs to scrape directly: product pages (<code>/&lt;slug&gt;/p/&lt;ItemNumber&gt;</code>, including marketplace offers with <code>?Item=</code>), search, category, subcategory, brand-store, seller-store (<code>/Seller-Store/&lt;name&gt;</code>) and deals pages. Used in addition to the keyword search. You can also link or upload a text file of URLs here.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "urlsFromFile": {
            "title": "Import URLs from a file",
            "type": "string",
            "description": "Paste a list of Newegg URLs (one per line), or a single link to a .txt / .csv file, a Google Sheet or an Apify key-value store record that lists them. Read in addition to Start URLs."
          },
          "itemNumbers": {
            "title": "Item numbers (direct)",
            "type": "array",
            "description": "Newegg item numbers to fetch directly, e.g. <code>N82E16814126761</code>, a marketplace offer such as <code>9SIB3T1KEH4255</code>, or a combo such as <code>3D5-002D-000E7</code>. Equivalent to pasting their product URLs.",
            "items": {
              "type": "string"
            }
          },
          "site": {
            "title": "Newegg site",
            "enum": [
              "us",
              "ca"
            ],
            "type": "string",
            "description": "Which Newegg storefront to scrape. <code>us</code> = Newegg.com (USD), <code>ca</code> = Newegg.ca (CAD). Start URLs override this per URL by their domain.",
            "default": "us"
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "default",
              "priceAsc",
              "priceDesc",
              "bestRating",
              "bestSelling",
              "mostReviews"
            ],
            "type": "string",
            "description": "How Newegg orders the keyword search results, and pasted search or category result pages (<code>/p/pl?...</code>) that carry no sort of their own. Note: Newegg's price sorts rank the whole result set by price, so the cheapest matches of a broad keyword are often accessories; add a minimum price or use a category URL for clean price-sorted lists.",
            "default": "default"
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep products whose price (in the site currency) is at least this much."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep products whose price (in the site currency) is at most this much."
          },
          "fourStarPlus": {
            "title": "4 stars & up only",
            "type": "boolean",
            "description": "Only keep products with an average rating of 4.0 stars or higher (products without ratings are dropped).",
            "default": false
          },
          "inStockOnly": {
            "title": "In stock only",
            "type": "boolean",
            "description": "Drop products that are not in stock.",
            "default": false
          },
          "includeSponsored": {
            "title": "Include sponsored ads",
            "type": "boolean",
            "description": "Newegg puts sponsored ad slots on the first results page. They are not part of the search results and are skipped by default. Turn on to also get them, each marked <code>isSponsored: true</code> with its ad position (billed like any product).",
            "default": false
          },
          "maxProducts": {
            "title": "Max products",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of product records to scrape across all searches and URLs. In monitor mode this is the number of top results watched per search on every run.",
            "default": 100
          },
          "maxPagesPerSearch": {
            "title": "Max pages per search",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many result pages to read per keyword or listing URL (96 products per page).",
            "default": 10
          },
          "includeProductDetails": {
            "title": "Include full product detail",
            "type": "boolean",
            "description": "Open each product page to add UPC/GTIN and MPN, the full specifications table, the description, FAQ, stock quantity, every seller offering the product with their prices, the manufacturer warranty, return policy and the star-rating breakdown. Search rows already carry price, was-price, stock, rating, seller, ship-from, model, key specs and images. Turn OFF for a faster, cheaper discovery run. Adds one request per product.",
            "default": true
          },
          "includeReviews": {
            "title": "Include buyer reviews",
            "type": "boolean",
            "description": "Add each product's buyer reviews as separate review records (rating, title, pros, cons, review text, author, date, helpful votes, verified owner). Works with product detail on or off.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum number of buyer reviews per product when reviews are on.",
            "default": 20
          },
          "reviewSort": {
            "title": "Review order",
            "enum": [
              "mostHelpful",
              "newest",
              "highestRating",
              "lowestRating"
            ],
            "type": "string",
            "description": "Which reviews come first when a product has more than the maximum.",
            "default": "mostHelpful"
          },
          "includeSellerLeads": {
            "title": "Include marketplace seller leads",
            "type": "boolean",
            "description": "Add one deduplicated lead record per third-party Newegg Marketplace seller seen in the run (selling a product in the results, or offering it on the product page when detail is on): store name, legal business name, business address and phone from the seller's public store page, ratings, followers, product count, sample products, categories and a 0 to 100 lead score. First-party Newegg items are not leads.",
            "default": false
          },
          "deduplicateProducts": {
            "title": "Deduplicate products",
            "type": "boolean",
            "description": "Drop duplicate products that appear in more than one search or page in the same run.",
            "default": true
          },
          "monitorMode": {
            "title": "Monitor mode (only new / changed)",
            "type": "boolean",
            "description": "Remember products across runs in a named key-value store and emit ONLY products that are new OR whose price or stock changed since the last run (each carries a <code>changeType</code>: new / price_drop / price_rise / restocked / out_of_stock, and <code>previousPrice</code>). Each run checks the first Max products results of every search; an unchanged product costs nothing. Pair with Apify Schedules for price-drop and restock alerts.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Names the monitor's memory store so you can run several independent monitors (e.g. one per keyword). Reuse the same key to keep tracking the same feed.",
            "default": "default"
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Parallel product-page requests. Keep moderate (3 to 5).",
            "default": 4
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxies to use. Newegg serves the default Apify datacenter proxy; if it starts challenging those addresses, the run continues on US residential sessions by itself. Keep the default.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}