# Home Depot API

> Home Depot returns product listings and store details as a workflow and API.

Search products returns product names, prices, ratings, and availability; provide a search query, with optional sorting and result count. Search stores returns nearby locations, distances, regular hours, and services; provide a US city, address, or ZIP code.

- Page: https://fous.com/tools/home-depot
- Handle: `@home-depot`
- Category: [Commerce](https://fous.com/tools/category/commerce)
- Source website: https://homedepot.com
- Last verified: Sep 29, 2026

## Methods

### Search products

Operation `search_products`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Search Home Depot products in site order with prices, ratings, default-store availability, and delivery options. ZIP-based store selection is not supported.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"top_rated"` | Result ordering, for example price_low_to_high. |
| `query` | string | yes | `"garden hose drill"` | What to search for, for example cordless drill. |
| `max_results` | integer | no | `24` | Maximum number of products, for example 48. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "sort": {
      "enum": [
        "best_match",
        "price_low_to_high",
        "price_high_to_low",
        "top_rated"
      ],
      "type": "string",
      "default": "best_match",
      "description": "Result ordering, for example price_low_to_high.",
      "examples": [
        "top_rated",
        "price_low_to_high"
      ]
    },
    "query": {
      "type": "string",
      "description": "What to search for, for example cordless drill.",
      "examples": [
        "garden hose drill",
        "extension cord outdoor",
        "work gloves 3 pack"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 24,
      "maximum": 96,
      "minimum": 1,
      "description": "Maximum number of products, for example 48.",
      "x-fous-developer": true,
      "examples": [
        24,
        30
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "query": "garden hose drill"
    },
    {
      "sort": "top_rated",
      "query": "extension cord outdoor",
      "max_results": 24
    },
    {
      "sort": "price_low_to_high",
      "query": "work gloves 3 pack",
      "max_results": 30
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `products` | array |  |  |
| `products[].brand` | string or null | `"Suncast"` | Brand. |
| `products[].price_usd` | number or null | `39.98` | Price in US dollars. |
| `products[].photo_link` | string or null | `"https://images.thdstatic.com/productImages/a3619d69-6a85-4fc3-bf87-1922cfe69298/svn/beige-suncast-hose-reels-cpljnf1752` | Product photo link. |
| `products[].star_rating` | number or null | `4.0011` | Average star rating. |
| `products[].model_number` | string or null | `"CPLJNF17524"` | Model number. |
| `products[].product_link` | string or null | `"https://www.homedepot.com/p/Suncast-175-ft-Hose-Reel-Mobile-Cart-CPLJNF17524/100334893"` | Home Depot product page link. |
| `products[].product_name` | string or null | `"175 ft. Hose Reel Mobile Cart"` | Product name. |
| `products[].review_count` | integer or null | `8736` | Number of reviews. |
| `products[].was_price_usd` | number or null |  | Earlier price in US dollars when reduced. |
| `products[].delivery_option` | string or null | `"Same-day delivery"` | Available delivery methods. |
| `products[].internet_number` | string or null | `"100334893"` | Home Depot internet number. |
| `products[].local_store_quantity` | integer or null | `25` | Quantity at the chosen store when shown. |
| `products[].in_stock_at_local_store` | boolean or null | `true` | Whether the chosen store has stock. |

**Example input**

```json
{
  "query": "garden hose drill"
}
```

**Example output**

```json
{
  "products": [
    {
      "brand": "Suncast",
      "price_usd": 39.98,
      "photo_link": "https://images.thdstatic.com/productImages/a3619d69-6a85-4fc3-bf87-1922cfe69298/svn/beige-suncast-hose-reels-cpljnf17524-64_400.jpg",
      "star_rating": 4.0011,
      "model_number": "CPLJNF17524",
      "product_link": "https://www.homedepot.com/p/Suncast-175-ft-Hose-Reel-Mobile-Cart-CPLJNF17524/100334893",
      "product_name": "175 ft. Hose Reel Mobile Cart",
      "review_count": 8736,
      "was_price_usd": null,
      "delivery_option": "Same-day delivery",
      "internet_number": "100334893",
      "local_store_quantity": 25,
      "in_stock_at_local_store": true
    },
    {
      "brand": "Flexzilla",
      "price_usd": 69,
      "photo_link": "https://images.thdstatic.com/productImages/7b0bac30-afa9-4378-9d09-3d52ae706336/svn/zillagreen-flexzilla-garden-hoses-hfzg5100yw-e-64_400.jpg",
      "star_rating": 4.4108,
      "model_number": "HFZG5100YW-E",
      "product_link": "https://www.homedepot.com/p/Flexzilla-5-8-in-x-100-ft-ZillaGreen-Garden-Hose-with-3-4-in-GHT-Fittings-HFZG5100YW-E/203549988",
      "product_name": "5/8 in. x 100 ft. ZillaGreen Garden Hose with 3/4 in. GHT Fittings",
      "review_count": 3174,
      "was_price_usd": null,
      "delivery_option": "Ship to home (free), Same-day delivery",
      "internet_number": "203549988",
      "local_store_quantity": null,
      "in_stock_at_local_store": null
    }
  ]
}
```

### Search stores

Operation `search_stores`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find nearby Home Depot stores by US city, address, or ZIP code, with distances, regular hours and services. Holiday hours may differ; coverage depends on listed nearby stores.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `location` | string | yes | `"Atlanta, GA"` | US city, address, or ZIP code, for example Atlanta, GA. |
| `max_results` | integer | no | `12` | Maximum stores to return, for example 10. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "location"
  ],
  "properties": {
    "location": {
      "type": "string",
      "description": "US city, address, or ZIP code, for example Atlanta, GA.",
      "examples": [
        "Atlanta, GA",
        "90210"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 5,
      "maximum": 20,
      "minimum": 1,
      "description": "Maximum stores to return, for example 10.",
      "x-fous-developer": true,
      "examples": [
        12
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "location": "Atlanta, GA"
    },
    {
      "location": "90210",
      "max_results": 12
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `stores` | array |  |  |
| `stores[].phone` | string or null | `"(404)892-8042"` | Store phone number. |
| `stores[].address` | string | `"650 Ponce De Leon, Atlanta, GA 30308"` | Street address. |
| `stores[].open_now` | boolean or null | `true` | Whether the store is open now under its regular hours. |
| `stores[].services` | array |  | Available store services. |
| `stores[].store_name` | string | `"Midtown"` | Store name. |
| `stores[].store_number` | string | `"0159"` | Home Depot store number. |
| `stores[].weekly_hours` | string | `"Mon: 6:00 AM–10:00 PM; Tue: 6:00 AM–10:00 PM; Wed: 6:00 AM–10:00 PM; Thu: 6:00 AM–10:00 PM; Fri: 6:00 AM–10:00 PM; Sat:` | Regular hours for every day of the week. |
| `stores[].distance_miles` | number | `2.07` | Approximate straight-line miles from the requested place. |
| `stores[].store_page_link` | string or null | `"https://www.homedepot.com/l/Midtown/GA/Atlanta/30308/159"` | Home Depot store page. |
| `stores[].today_opening_hours` | string or null | `"Tuesday: 6:00 AM–10:00 PM"` | Regular opening hours for today. |

**Example input**

```json
{
  "location": "Atlanta, GA"
}
```

**Example output**

```json
{
  "stores": [
    {
      "phone": "(404)892-8042",
      "address": "650 Ponce De Leon, Atlanta, GA 30308",
      "open_now": true,
      "services": [
        "Tool Rental",
        "Truck Rental",
        "Penske Truck Rental"
      ],
      "store_name": "Midtown",
      "store_number": "0159",
      "weekly_hours": "Mon: 6:00 AM–10:00 PM; Tue: 6:00 AM–10:00 PM; Wed: 6:00 AM–10:00 PM; Thu: 6:00 AM–10:00 PM; Fri: 6:00 AM–10:00 PM; Sat: 6:00 AM–10:00 PM; Sun: 8:00 AM–8:00 PM",
      "distance_miles": 2.07,
      "store_page_link": "https://www.homedepot.com/l/Midtown/GA/Atlanta/30308/159",
      "today_opening_hours": "Tuesday: 6:00 AM–10:00 PM"
    },
    {
      "phone": "(404)841-5608",
      "address": "2525 Piedmont Road Ne, Atlanta, GA 30324",
      "open_now": true,
      "services": [
        "Tool Rental",
        "Truck Rental",
        "Penske Truck Rental"
      ],
      "store_name": "Buckhead",
      "store_number": "6986",
      "weekly_hours": "Mon: 6:00 AM–10:00 PM; Tue: 6:00 AM–10:00 PM; Wed: 6:00 AM–10:00 PM; Thu: 6:00 AM–10:00 PM; Fri: 6:00 AM–10:00 PM; Sat: 6:00 AM–10:00 PM; Sun: 8:00 AM–8:00 PM",
      "distance_miles": 5.02,
      "store_page_link": "https://www.homedepot.com/l/Buckhead/GA/Atlanta/30324/6986",
      "today_opening_hours": "Tuesday: 6:00 AM–10:00 PM"
    },
    {
      "phone": "(404)691-2077",
      "address": "1032 Research Ctr Atlanta Dr, Atlanta, GA 30331",
      "open_now": true,
      "services": [
        "Tool Rental",
        "Truck Rental",
        "Key Cutting"
      ],
      "store_name": "Cascade",
      "store_number": "0130",
      "weekly_hours": "Mon: 6:00 AM–9:00 PM; Tue: 6:00 AM–9:00 PM; Wed: 6:00 AM–9:00 PM; Thu: 6:00 AM–9:00 PM; Fri: 6:00 AM–9:00 PM; Sat: 6:00 AM–9:00 PM; Sun: 8:00 AM–8:00 PM",
      "distance_miles": 6.83,
      "store_page_link": "https://www.homedepot.com/l/Cascade/GA/Atlanta/30331/130",
      "today_opening_hours": "Tuesday: 6:00 AM–9:00 PM"
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@home-depot",
  "visibility": "public",
  "operation": "search_products",
  "version": 1,
  "input": {
    "query": "garden hose drill"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@home-depot\",\n  \"visibility\": \"public\",\n  \"operation\": \"search_products\",\n  \"version\": 1,\n  \"input\": {\n    \"query\": \"garden hose drill\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@home-depot",
  "visibility": "public",
  "operation": "search_products",
  "version": 1,
  "input": {
    "query": "garden hose drill"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/home-depot`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `search_products`: Search products. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_stores`: Search stores. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-home-depot https://api.fous.com/mcp/tools/home-depot --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Compare product prices and ratings.
- Check product availability at the chosen store.
- Find nearby stores and their regular hours.
- Review store services before planning a visit.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Home Depot tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Home Depot account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from homedepot.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What products match my search?

Search products returns matching product names, brands, prices, ratings, and other listing details for your query.

### Which nearby stores are open now?

Search stores returns nearby locations and whether each is open under its regular hours.

### What services does a nearby store offer?

Search stores returns available services for stores near the US city, address, or ZIP code you provide.

## Related

- [Lowe's API](https://fous.com/tools/lowes.md): Lowe’s offers home improvement products and supplies, with current prices, ratings, specifications, images, and nearby-store pickup availability; delivery estimates and aisle details appear when available.
- [Best Buy API](https://fous.com/tools/best-buy.md): Best Buy returns US electronics and appliance listings, prices, deals, specifications, images, reviews, and nearby store pickup and shipping details; prices and availability can change by location and before checkout.
- [Walmart API](https://fous.com/tools/walmart.md): Walmart helps shoppers find products from Walmart and marketplace sellers, view details, prices, ratings and reviews; availability uses Walmart’s default location, not ZIP codes.
- [H&M API](https://fous.com/tools/hm.md): H&M offers clothing and home shopping, with country-specific prices and online size stock; product details reflect current catalog information.
- [Target API](https://fous.com/tools/target.md): Target helps shoppers find products, details, photos, ratings, links, current prices, and nearby-store stock and pickup or delivery availability; prices and availability can change by location and time.
- [Nordstrom API](https://fous.com/tools/nordstrom.md): Search clothing, shoes, and beauty products at Nordstrom.
- [Costco API](https://fous.com/tools/costco.md): Costco returns US product prices/details and warehouse hours/services/gas prices; delivery affects availability, member prices may be hidden, and posted gas and holiday hours may differ.
- [Macy's API](https://fous.com/tools/macys.md): Shop Macy's products and sales.
- [All Commerce tools](https://fous.com/tools/category/commerce)
