WebScrapingAPI Docs

HomeDepot Product

Scrape Home Depot products in real time with the HomeDepot API.

Set type=product to enable Home Depot product scraping.

The Home Depot Product feature returns a JSON object with product data, including brand, descriptions, images, offers, pickup details, price, rating, related products, shipping details, and specifications.

Parameters

ParameterRequiredTypeDescription
product_idYesstringThe ID of the Home Depot product you want to scrape.

Your full GET request should be sent to:

https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=homedepot&type=product&product_id=<PRODUCT_ID>

How to get the product ID

Home Depot identifies products by ID. Extract the ID from the product URL:

https://<HOMEDEPOT_DOMAIN>/p/<PRODUCT_NAME>/<PRODUCT_ID>

Code Samples

curl --get "https://ecom.webscrapingapi.com/v1" \
  --data-urlencode "api_key=<YOUR_API_KEY>" \
  --data-urlencode "engine=homedepot" \
  --data-urlencode "type=product" \
  --data-urlencode "product_id=310268685"
const params = new URLSearchParams({
  api_key: "<YOUR_API_KEY>",
  engine: "homedepot",
  type: "product",
  product_id: "310268685",
});

const response = await fetch(`https://ecom.webscrapingapi.com/v1?${params}`);
const data = await response.text();
console.log(data);
import requests

params = {
    "api_key": "<YOUR_API_KEY>",
    "engine": "homedepot",
    "type": "product",
    "product_id": "310268685",
}

response = requests.get("https://ecom.webscrapingapi.com/v1", params=params)
print(response.text)
<?php

$query = http_build_query([
    'api_key' => '<YOUR_API_KEY>',
    'engine' => 'homedepot',
    'type' => 'product',
    'product_id' => '310268685',
]);

echo file_get_contents("https://ecom.webscrapingapi.com/v1?$query");
package main

import (
    "fmt"
    "io"
    "log"
    "net/http"
)

func main() {
    url := "https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=homedepot&type=product&product_id=310268685"
    response, err := http.Get(url)
    if err != nil {
        log.Fatal(err)
    }
    defer response.Body.Close()

    body, err := io.ReadAll(response.Body)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(string(body))
}
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=homedepot&type=product&product_id=310268685"))
    .GET()
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var response = await client.GetAsync("https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=homedepot&type=product&product_id=310268685");
Console.WriteLine(await response.Content.ReadAsStringAsync());
require 'net/http'
require 'uri'

uri = URI("https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=homedepot&type=product&product_id=310268685")
response = Net::HTTP.get_response(uri)
puts response.body

On this page