Product research
Use Home Depot endpoints to turn product research into repeatable API requests with documented inputs and JSON responses.
Build home-improvement catalog, pricing, product research, and department-browse workflows from normalized Home Depot data.
Collect public Home Depot product, category, department, keyword-search, and product-question data as structured JSON through documented endpoints.
Endpoint families
5
Documented params
14
Examples
6
Live catalog snapshot
Active endpoints
6
Methods
GET
Required params
11
Schema refs
6
{
"platform": "Home Depot",
"endpoint": "homedepot-product",
"method": "GET",
"path": "/homedepot/product/{id}",
"auth": "apiKey"
}Use cases
Collect public Home Depot product, category, department, keyword-search, and product-question data as structured JSON through documented endpoints.
Use Home Depot endpoints to turn product research into repeatable API requests with documented inputs and JSON responses.
Use Home Depot endpoints to turn catalog and price monitoring into repeatable API requests with documented inputs and JSON responses.
Use Home Depot endpoints to turn home-improvement market research into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Home Depot endpoint catalog — 6 endpoints, 14 documented request parameters, and 6 published response schemas — the same catalog Docs and Playground run against.
6 documented Home Depot endpoints, grouped into 5 request families — Product, Categories and Category, plus 2 more.
14 request parameters are documented across those Home Depot endpoints, 11 of them required — the full input contract is public before you write any integration code.
6 of the 6 Home Depot endpoints ship a recorded example response, and 6 carry a documented response schema — you can code against the real JSON before the first request.
Home Depot endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
6 hosted MCP tools back the Home Depot endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/homedepot/product/{id}
/homedepot/categories
/homedepot/category
/homedepot/search
/homedepot/suggest
Endpoint catalog
/homedepot/product/{id}Returns one Home Depot product's full detail: name, description, brand, model, store SKU, GTIN, price, images, aggregate rating and review count, and the featured customer reviews embedded on the product page. id is the numeric product/internet id (the trailing number of a /p/{slug}/{id} URL). The product page does not distinguish an unknown id from a known one in a consistent way, so an unrecognized id may return an upstream error rather than a not-found.
Response notes
- `sku` is the store SKU, `model` is the model number, and `gtin` is the UPC/EAN-13 where the product carries one. - `rating` and `review_count` come from the page's aggregate rating; `reviews` is the small set of featured customer reviews embedded on the page (the site's full review list is a separate system and is not returned here). - `price` and `currency` come from the page's own offer; `price` is the current price. - `images` is the product's image gallery. - The product page does not reliably distinguish an unknown id from a known one, so an unrecognized `id` may return a `503` upstream error rather than a `404`. Example response: ```json {"code":200,"msg":"OK","data":{"id":"320326875","title":"Milwaukee M18 FUEL 18V Lithium-Ion Brushless Cordless 1/4 in. Hex Impact Driver (Tool-Only) 2953-20","description":"The M18 FUEL 1/4 in. Hex Impact Driver is a cordless brushless impact driver.","brand":"Milwaukee","model":"2953-20","sku":"1007901520","gtin":"0045242637867","currency":"USD","price":179,"images":["https://images.thdstatic.com/productImages/fa7d2462-8481-4bd3-8010-384a85aa902f/svn/milwaukee-impact-drivers-2953-20-64_100.jpg"],"rating":4.7,"review_count":1544,"reviews":[{"author":"HomeDepotCustomer","rating":5,"body":"The impact is just what I needed."}],"url":"https://www.homedepot.com/p/320326875","source_url":"https://www.homedepot.com/p/320326875","fetched_at":"2026-08-16T00:00:00Z"}} ```
MCP tool homedepot_product
/homedepot/searchReturns one page (up to 24 products) of a Home Depot keyword search's product listing: normalized products with title, image, model, current/original price, and rating/review count, plus the search's total result count. q is free-text search keywords, e.g. "impact driver". page is a 1-indexed page number (default 1). An unrecognized/blocked query returns an upstream error rather than an empty result.
Response notes
- `total` is the search's total result count across all pages (from the page's own "Viewing 1-N of M" or "N results" marker); `count` is how many products this response carries. - `price` is the current price; `original_price` is present only when the product is on sale. - `rating` and `review_count` are parsed from each card's `(rating / reviews)` text; they are omitted for products that show no rating. - An unrecognized or blocked query returns a `503` upstream error rather than an empty result. Example response: ```json {"code":200,"msg":"OK","data":{"query":"impact driver","page":1,"total":1962,"count":2,"products":[{"id":"320326875","title":"M18 FUEL 18V Lithium-Ion Brushless Cordless 1/4 in. Hex Impact Driver (Tool-Only)","url":"https://www.homedepot.com/p/Milwaukee-M18-FUEL-18V-Lithium-Ion-Brushless-Cordless-1-4-in-Hex-Impact-Driver-Tool-Only-2953-20/320326875","image":"https://images.thdstatic.com/productImages/fa7d2462-8481-4bd3-8010-384a85aa902f/svn/milwaukee-impact-drivers-2953-20-64_600.jpg","model":"2953-20","price":179,"rating":4.7,"review_count":1542}],"source_url":"https://www.homedepot.com/s/impact+driver","fetched_at":"2026-08-16T00:00:00Z"}} ```
MCP tool homedepot_search
/homedepot/categoryReturns one page of a Home Depot category or brand browse page's product grid: normalized products with title, image, model, current/original price, and rating/review count, plus the category's total result count and the refinement facets the page offers. path is the segment of a /b/ URL after "/b/", e.g. "Tools-Power-Tools-Drills-Impact-Drivers/N-5yc1vZc29x"; a full https://www.homedepot.com/b/... URL or a "/b/..." path is also accepted. sort selects the result ordering and is one of best_match, top_sellers, top_rated, price_low_to_high, price_high_to_low, most_popular, delivery_date; omit it to keep the site's default ordering. page is a 1-indexed page number (default 1, maximum 42), 24 products per page. Each returned facet's path is directly usable as this endpoint's own path parameter to drill down. An unrecognized or blocked path returns an upstream error rather than an empty result.
Response notes
- `sort` and `page` are optional and additive. With both omitted the request and response are identical to what this endpoint returned before they existed, so existing callers are unaffected. - `total` is the category's total result count across all pages (from the page's own "Viewing 1-N of M" marker); `count` is how many products this response carries; `page` echoes the page returned. - `facets` are the refinement links the browse page offers, e.g. `Cordless` or `18v` under Impact Drivers. Each facet's `path` is directly usable as this endpoint's own `path` parameter, so a caller drills down by passing a facet's `path` back in. Facets are omitted when the page offers none. - `price` is the current price; `original_price` is present only when the product is on sale. - `rating` and `review_count` are parsed from the card's `(rating / reviews)` text; they are omitted for products that show no rating. - A `path` that would resolve to a URL Home Depot's `robots.txt` disallows (keyword-refined browse such as `Ntt-`/`Ntk-`, the `NCNI-5` search-context marker, or the AJAX/overlay fragments) is rejected with a `400` rather than fetched. Facets pointing at such URLs are likewise never returned. - Keyword search is not part of this endpoint — see `/api/v1/homedepot/search`. - An unrecognized or blocked `path` returns a `503` upstream error rather than an empty result. Example response: ```json {"code":200,"msg":"OK","data":{"path":"Tools-Power-Tools-Drills-Impact-Drivers/N-5yc1vZc29x","sort":"top_sellers","page":1,"title":"IMPACT DRIVERS","total":1962,"count":1,"products":[{"id":"320326875","title":"M18 FUEL 18V Lithium-Ion Brushless Cordless 1/4 in. Hex Impact Driver (Tool-Only)","url":"https://www.homedepot.com/p/Milwaukee-M18-FUEL-18V-Lithium-Ion-Brushless-Cordless-1-4-in-Hex-Impact-Driver-Tool-Only-2953-20/320326875","image":"https://images.thdstatic.com/productImages/fa7d2462-8481-4bd3-8010-384a85aa902f/svn/milwaukee-impact-drivers-2953-20-64_600.jpg","model":"2953-20","price":179,"rating":4.7,"review_count":1542}],"facets":[{"name":"Cordless","path":"Cordless/N-5yc1vZc29xZ1z140i3","url":"https://www.homedepot.com/b/Cordless/N-5yc1vZc29xZ1z140i3"}],"source_url":"https://www.homedepot.com/b/Tools-Power-Tools-Drills-Impact-Drivers/N-5yc1vZc29x?sortby=topsellers&sortorder=desc","fetched_at":"2026-09-05T00:00:00Z"}} ```
MCP tool homedepot_category
/homedepot/categoriesReturns Home Depot's top-level department taxonomy (name, path, url) from the homepage's own "All Departments" navigation. Each department's path is directly usable as GET /homedepot/category's path parameter.
Response notes
- Each department's `path` is directly usable as `GET /homedepot/category`'s `path` parameter (e.g. `Tools/N-5yc1vZc1xy`). - Deep subcategories (4+ name segments) are excluded; this is the top-level department list only. Example response: ```json {"code":200,"msg":"OK","data":{"count":3,"departments":[{"name":"Appliances","path":"Appliances/N-5yc1vZbv1w","url":"https://www.homedepot.com/b/Appliances/N-5yc1vZbv1w"},{"name":"Bath","path":"Bath/N-5yc1vZbzb3","url":"https://www.homedepot.com/b/Bath/N-5yc1vZbzb3"},{"name":"Tools","path":"Tools/N-5yc1vZc1xy","url":"https://www.homedepot.com/b/Tools/N-5yc1vZc1xy"}],"source_url":"https://www.homedepot.com/","fetched_at":"2026-08-16T00:00:00Z"}} ```
MCP tool homedepot_categories
/homedepot/product/{id}/questionsReturns the first page (8 questions) of a Home Depot product's customer questions and answers, plus the product's total Q&A count. id is the numeric product/internet id. A product with no Q&A returns a genuine zero-result response rather than an error.
Response notes
- `total` is the product's total question count; `count` is how many questions this response carries (at most 8 — the product page only hydrates the first page). - Each `questions[]` entry carries `text`, `author`, `date`, `answer_count`, and its `answers[]` (each with `text`, `author`, `date`, `is_brand_answer`, `helpful_count`). - A product with no Q&A returns a genuine zero-result response (`count: 0`, empty `questions`) rather than an error. Example response: ```json {"code":200,"msg":"OK","data":{"id":"328425526","count":1,"total":575,"questions":[{"id":"11425193","text":"Where do you put the fabric softener","author":"Vicki","date":"2026-08-14T00:10:47.000+00:00","answer_count":1,"answers":[{"id":"15515465","text":"This model includes a one year limited warranty.","author":"GE Answers","date":"2026-08-14T01:30:13.000+00:00","is_brand_answer":true}]}],"source_url":"https://www.homedepot.com/p/328425526","fetched_at":"2026-08-16T00:00:00Z"}} ```
MCP tool homedepot_product_questions
/homedepot/suggestReturns Home Depot's own search-box typeahead suggestions for a partial query, in the site's own ranking order. term is the partial search text, e.g. "drill". Each suggestion's term is directly usable as GET /homedepot/search's q parameter. A term that matches nothing returns an empty suggestion list rather than an error.
Response notes
- Each suggestion's `term` is directly usable as `/api/v1/homedepot/search`'s `q` parameter. - `position` is the suggestion's 1-indexed rank in Home Depot's own typeahead ordering. - A `term` that genuinely matches nothing returns an empty `suggestions` list with `count: 0`, not an error. - The upstream typeahead also carries each suggestion's own search link. Those links are deliberately not returned: they point at URL shapes Home Depot's `robots.txt` disallows, so the suggestion text is exposed instead. - A blocked or non-JSON upstream response returns a `503` upstream error rather than an empty result. Example response: ```json {"code":200,"msg":"OK","data":{"term":"drill","count":3,"suggestions":[{"term":"drill","position":1},{"term":"drill bits","position":2},{"term":"drill set","position":3}],"source_url":"https://www.homedepot.com/TA2/search?term=drill","fetched_at":"2026-09-05T00:00:00Z"}} ```
MCP tool homedepot_suggest
Related APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
Company coverage
The Home Depot, Inc. · HD
Home Depot is operated by The Home Depot, Inc. (HD). Crawlora's SEC endpoints take the same company's CIK, so filings, financials, insider transactions and 13F holdings come from the same API key as the Home Depot endpoints above.
SEC filings & financials API →How to scrape Home Depot
Home Depot's public catalog spans a department taxonomy, free-text search, and per-category/brand browse pages. Crawlora returns the taxonomy, the listing itself, and full product detail with customer questions and answers.
Call /homedepot/categories for Home Depot's own top-level department navigation from the homepage's "All Departments" menu — each department's path feeds directly into /homedepot/category.
Pass a category/brand path (from /homedepot/categories, or the segment of a homedepot.com /b/ URL after "/b/") to /homedepot/category for that page's product grid, or use /homedepot/search with free-text keywords instead.
Pass a numeric product/internet id (from a listing result or the trailing number of a /p/{slug}/{id} URL) to /homedepot/product for name, brand, model, store SKU, GTIN, price, images, and aggregate rating.
Pass the same product id to /homedepot/product/{id}/questions for the first page of customer questions and answers, plus the product's total Q&A count.
Pass a partial query to /homedepot/suggest for Home Depot's own search-box typeahead suggestions, returned in the site's own ranking order — the cheapest way to expand a seed term into the phrasing Home Depot shoppers actually search with before running the full /homedepot/search.
FAQ
Call Crawlora's /homedepot/categories endpoint for Home Depot's own department taxonomy, then pass any department's path to /homedepot/category for that page's product grid — normalized title, image, model, current/original price, and rating.
No Home Depot account or login is required from the caller — only your Crawlora API key.
Yes — /homedepot/product/{id}/questions returns the first page (8 questions) of a product's customer Q&A plus its total Q&A count. A product with no Q&A returns a genuine zero-result response rather than an error.
Yes — /homedepot/suggest returns Home Depot's own typeahead completions for a partial query, in the ranking order the site itself uses. It is a useful seed-expansion step before /homedepot/search, since it surfaces the exact phrasings Home Depot's own index favours.
Yes — /homedepot/search accepts an optional 1-indexed page parameter (default 1) and returns up to 24 products per page, along with the search's total result count.