{
  "openapi": "3.0.1",
  "info": {
    "title": "Home Depot Scraper - SKU Lookup, Prices & Stock API",
    "description": "Search Home Depot or look up item IDs and get structured rows: title, brand, model number, price, original price, discount, rating, review count and the stock quantity at the store you choose. Specifications, variants, media and delivery are opt-in blocks.",
    "version": "0.0",
    "x-build-id": "tLArosodbqLCK6iI6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~home-depot-products-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-home-depot-products-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/parseforge~home-depot-products-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-home-depot-products-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/parseforge~home-depot-products-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-home-depot-products-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 terms",
            "type": "array",
            "description": "Keywords to search on homedepot.com, one per line. Single words return the widest result sets; if a phrase returns nothing the log prints the category URL Home Depot redirects it to, which you can paste into Start URLs.",
            "items": {
              "type": "string"
            }
          },
          "itemIds": {
            "title": "Item IDs (SKU lookup)",
            "type": "array",
            "description": "Home Depot item IDs to look up directly, one per line, for example 204279858. This is the cheapest path: up to 24 IDs come back in a single request, with the same fields a search returns.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Home Depot search, category or product URLs. A /s/ URL is read as a search, a /b/.../N-xxxx URL as a category and a /p/.../123456789 URL as an item ID lookup.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of products to return across every search term. Free users: limited to 10 items (preview). Paid users: up to 1,000,000. Facets and related keywords have their own separate caps and do not consume this budget."
          },
          "storeId": {
            "title": "Store ID",
            "type": "string",
            "description": "The Home Depot store the prices, badges and stock are read against. Prices at Home Depot are per store, not national. Defaults to 134 (Atlanta, GA).",
            "default": "134"
          },
          "zipCode": {
            "title": "ZIP code",
            "type": "string",
            "description": "Delivery ZIP code used for delivery dates and shipping charges. Only has an effect when Store inventory and delivery is ticked.",
            "default": "30301"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "best_match",
              "top_sellers",
              "price_low",
              "price_high",
              "top_rated"
            ],
            "type": "string",
            "description": "Result order. Home Depot applies this server side, so it also decides which products fall inside Max Items.",
            "default": "best_match"
          },
          "storeFilter": {
            "title": "Availability channel",
            "enum": [
              "ALL",
              "IN_STORE",
              "ONLINE"
            ],
            "type": "string",
            "description": "Which Home Depot catalogue to search. All is everything, In store keeps only what the store stocks, Online keeps only what ships. Home Depot applies this server side and it changes the result set, not just the rows you keep.",
            "default": "ALL"
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "number",
            "description": "Drop products priced below this amount in US dollars."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "number",
            "description": "Drop products priced above this amount in US dollars."
          },
          "brand": {
            "title": "Brand contains",
            "type": "string",
            "description": "Keep only products whose brand name contains this text, for example DEWALT. Case insensitive."
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 1,
            "maximum": 5,
            "type": "number",
            "description": "Keep only products rated at or above this value, from 1 to 5. Decimals work, so 4.5 is a valid threshold. Products with no reviews are dropped."
          },
          "onlyOnSale": {
            "title": "Only discounted products",
            "type": "boolean",
            "description": "Keep only products whose current price is below their original price.",
            "default": false
          },
          "onlyInStock": {
            "title": "Only products in stock at the store",
            "type": "boolean",
            "description": "Keep only products in stock at the store ID above. Requires Store inventory and delivery to be ticked, because that is the block carrying the stock flag.",
            "default": false
          },
          "includeStoreInventory": {
            "title": "Store inventory and delivery",
            "type": "boolean",
            "description": "Adds the quantity on hand at your store, the store name and number, fulfilment services, delivery timeline, delivery charge and free shipping flag.",
            "default": false
          },
          "includeKeyFeatures": {
            "title": "Key product features",
            "type": "boolean",
            "description": "Adds the bulleted key features Home Depot shows above the specification table.",
            "default": false
          },
          "includeVariants": {
            "title": "Variants and swatches",
            "type": "boolean",
            "description": "Adds every colour, size or finish variant of the item, each with its own item ID, label, URL and swatch image.",
            "default": false
          },
          "includeMedia": {
            "title": "Images and video",
            "type": "boolean",
            "description": "Adds every product image at 1000 px and the product videos with their titles and IDs, rather than just the primary image.",
            "default": false
          },
          "includeSubscription": {
            "title": "Subscribe and save",
            "type": "boolean",
            "description": "Adds whether the item can be subscribed to, the default delivery frequency and the subscription discount.",
            "default": false
          },
          "includeInstallServices": {
            "title": "Installation services",
            "type": "boolean",
            "description": "Adds the installation and measurement service flags Home Depot attaches to the item.",
            "default": false
          },
          "includeFacets": {
            "title": "Category facets (separate dataset)",
            "type": "boolean",
            "description": "Writes the filter facets Home Depot offers for the search into a facets dataset: brand, price band, rating and more, each with the number of products behind it. Capped at 200 rows per run.",
            "default": false
          },
          "includeRelatedKeywords": {
            "title": "Related keywords (separate dataset)",
            "type": "boolean",
            "description": "Writes the related search terms Home Depot suggests for each search into a related-keywords dataset. Capped at 50 rows per run.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Home Depot answers 403 to datacenter exits, so this Actor needs residential US proxies. Leave the default unless you know what you are changing.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "countryCode": "US"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}