Home Depot vs. Lowe's Price Comparison


Updated by steve on Jan. 30, 2019.

You're looking to buy something? Who's got the lower price: Home Depot, or Lowe's?

Of course it's not that simple, since each store sells thousands of different products at different prices. Some products will be cheaper at Home Depot, and others products will be cheaper at Lowe's. If you're shopping in their physical stores, it will also depend on where you are in the country.

However, if you're interested in a specific type of product or brand, it makes sense to do a little bit of research to see if one store is selling for a discount before driving to the wrong one and then having to waste time asking for a price match.

Scraping Home Depot Prices

The easiest way to get Home Depot prices for a particular brand, product or keyword is to use Stevesie's unofficial Home Depot Product Search API.

Let's say we want to search our local store for cordless power drill and get all of the specific models & prices.

Find Your Home Depot Store ID

Go to The Home Depot's Website & look on the top left of the page for your current store (grant the website permission to know your location so they can show your nearest store). Click on the store finder to open up details about your store:

Home Depot Store Finder

Here, I can see that my Home Depot store ID is 6175.

Scrape Home Depot Prices

We'll use Stevesie's unofficial Home Depot Product Search API to fetch data for our keyword cordless power drill at store ID 6175.

Create a new worker, enter in the keyword and store ID, and make sure to enable auto-pagination, so we get all of the results back. Once you've indexed all possible results, click the Export button and download your data in CSV format.

Scraping Lowe's Prices

Find Your Lowe's Store ID

Go to the Lowe's Website and right click on the store selector in the top left then copy the URL address:

Lowe's Store Selector

Paste the URL address you just copied in a new tab and take note of the number at the end; for example my URL is: https://www.lowes.com/store/NJ-North-Bergen/1106 and the number at the end is 1106 - this is your Lowe's Store ID.

Scrape Lowe's Prices

We'll use Stevesie's unofficial Lowe's Search API to scrape data for our keyword cordless power drill at store ID 1106.

Create a new worker, enter in the keyword and store ID, and make sure to enable auto-pagination, so we get all of the results back. Once you've indexed all possible results, click the Export button and download your data in CSV format.

Comparing Data

We'll perform the rest of this exercise using Microsoft Excel, but feel free to use a similar product that works with CSV format.

  1. Open up a new spreadsheet.
  2. Open up the Home Depot spreadsheet. Copy the info.modelNumber and pricing.specialPrice columns & paste them into the first 2 columns in your new spreadsheet.
  3. Open up the Lowe's spreadsheet. Copy the modelId and pricing.price.selling columns & paste them into the 3rd and 4th columns in your new spreadsheet. Do not copy any items without a value in the pricing.price.selling column.
  4. For clarity, rename the columns to Home Depot Model #, Home Depot Price, Lowe's Model #, Lowe's Price.
  5. Your spreadsheet should now look something like this:

Home Depot Lowe's Initial Spreadsheet

For every Home Depot model number (column A), we want to see if there's a matching Lowe's model number (column C). For this, we'll use the MATCH function in Excel.

Let's focus on row 6, where the Home Depot model number is BDCDD120C. In column E, row 6, let's enter in this formula to get the row number of column C (Lowe's model numbers) if we can find a match: =MATCH(A6,C:C,0). After hitting enter, we should see this cell populate with a value (assuming a match was found).

In this tutorial we got 135, meaning that Excel found the value BDCDD120C matching in column C under row 135. Let's copy and paste this formula for the rest of column E so we get a Lowe's Lookup Row # for every provided Home Depot model number (it's OK to see a lot of "N/A" values, that just means Lowe's did not match the Home Depot model number):

Match Column

Now that we know the row number of Lowe's items that match, we now want to look up the respective Lowe's price. We'll use the INDEX function in Excel to acheive this.

Let's take a look back at row 6. We know that the Lowe's information lives on row 135, and we want to look up the Lowe's price there in column D. We can fill in cell F6 with =INDEX(D:D,E6) to tell Excel to fill this cell with the value in column D on the index (row number) according to E6, which from the previous step we know to be 135.

Hit enter, and we'll see the cell populate with the price from Lowe's: 59 (your case may vary). Copy this formula for the entire column again to get the Lowe's price when available:

Price Match Column

Now, to get the price difference between Home Depot & Lowe's for each model, add a new column G and enter in the difference for each cell: =B6-F6. If the value is negative, then Home Depot is cheaper. If the value is positive, then Lowe's is higher. We can plot these differences in a graph to summarize for the model IDs that matched:

Home Depot Lowes Summary