
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape Home Depot (homedepot.com) products from searches, categories, product URLs or item IDs: price, was-price, promotions, rating, reviews count, store stock and pickup, ship-to-home, specs, images, UPC, model and store SKU. Optional reviews and Q&A.
Turn any Home Depot search, category page, product URL or item ID into clean rows of product data: price and was-price, promotions, rating and review count, store stock and pickup for the store you choose, ship-to-home dates, specs, images, UPC, model number and store SKU. Add customer reviews and Q&A with one setting. No login and no browser needed, and you pay only for the rows you get.
cordless drill), paste Home Depot URLs (search, category or product pages), or list item IDs.| Field | What it does |
|---|---|
searchQueries | Search terms, one per line. |
startUrls | homedepot.com search pages (/s/...), category pages (/b/.../N-...) or product pages (/p/.../322138372). |
itemIds | 9-digit Home Depot item IDs. |
maxItems | Products per search term or category (default 20). |
sort | Best match, top sellers, price low/high, top rated or newest. |
brands, minPrice, maxPrice, minRating, pickupTodayOnly | Filters for searches and categories. |
storeId, zipCode | Store for prices, stock and pickup (default 121); ZIP for delivery dates (default 30339). |
includeDetails | Adds description, specs, highlights and videos to search results. |
maxReviewsPerProduct, reviewsSort, maxQuestionsPerProduct | Optional reviews and Q&A rows. |
{
"searchQueries": ["cordless drill"],
"startUrls": ["https://www.homedepot.com/b/Tools-Power-Tools-Drills/N-5yc1vZc27f"],
"itemIds": ["322138372"],
"maxItems": 50,
"sort": "top_sellers",
"brands": ["DEWALT", "Milwaukee"],
"maxPrice": 200,
"storeId": "121",
"zipCode": "30339",
"includeDetails": false,
"maxReviewsPerProduct": 10
}
Each row has a type: product, review or question.
| Field | Description |
|---|---|
item_id, productTitle, brand, model_number, store_sku, upc, parent_id | Identifiers |
url, thumbnail, images | Product page and image links (1000 px) |
price, original_price, dollar_off, percent_off, on_promotion | Price and was-price |
promotion_type, promotion_description, promotion_start_date, promotion_end_date, savings_center, is_special_buy, is_clearance, bulk_price | Promotions |
rating, review_count, badges | Ratings and badges |
store_id, store_name, in_stock, store_quantity, store_pickup_available | Store stock and pickup |
ship_to_home_available, ship_to_home_quantity, free_shipping, delivery_start_date, delivery_end_date, express_delivery_available | Delivery |
breadcrumbs, department, availability_type, buyable, discontinued, returnable | Catalog info |
description, highlights, specs, videos | Full details (product URLs, item IDs, or includeDetails) |
search_query, position, source_url, source, scrapedAt | Where the row came from |
Example product row (from a test run, trimmed):
{
"type": "product",
"item_id": "322138372",
"productTitle": "Atomic 20V Lithium-Ion Cordless Compact 1/2 in. Drill/Driver Kit with 2.0Ah Battery and Charger",
"brand": "DEWALT",
"model_number": "DCD794D1",
"store_sku": "1008373177",
"upc": "885911904810",
"url": "https://www.homedepot.com/p/DEWALT-Atomic-20V-Lithium-Ion-Cordless-Compact-1-2-in-Drill-Driver-Kit-with-2-0Ah-Battery-and-Charger-DCD794D1/322138372",
"price": 179.0,
"original_price": 179.0,
"percent_off": 0,
"rating": 4.73,
"review_count": 6066,
"store_id": "121",
"store_name": "Cumberland",
"in_stock": true,
"store_quantity": 69,
"store_pickup_available": true,
"ship_to_home_available": true,
"free_shipping": true,
"delivery_start_date": "2026-10-15",
"breadcrumbs": ["Tools", "Power Tools", "Drills", "Power Drills"],
"badges": ["top rated", "exclusive"],
"specs": {"Battery Amp Hours": "2 Ah", "Battery Voltage (V)": "20V", "Chuck Size (In.)": "1/2 In.", "Chuck Type": "Keyless"},
"search_query": "cordless drill",
"position": 1
}
Example review row (sample data):
{
"type": "review",
"item_id": "322138372",
"rating": 5,
"title": "Great compact drill",
"text": "Light, strong and the battery lasts all day.",
"date": "2026-09-30T14:00:31.000+00:00",
"nickname": "DIYer42",
"verified_purchase": true,
"helpful_count": 3
}
You pay per row saved:
Example: 1,000 products ≈ $4.00, plus a few cents of platform usage (compute and proxy traffic), which is billed separately. Use Max total charge on a run to cap the cost; the run stops cleanly when the cap is reached.
Is it legal to scrape Home Depot? The actor reads public product pages that anyone can open without an account. Check that your use complies with Home Depot's terms and the laws that apply to you, especially for personal data in reviews.
Do I need a login or my own proxy? No. It works without an account. It uses datacenter proxies by default and switches to residential US proxies automatically if Home Depot refuses them.
How many results can I get? Each Home Depot list shows about 700 products. For larger requests the actor splits the list into its sub-categories and then other sort orders, removing duplicates. The status message says how many were found.
Why is a field empty? Not every product has every field. For example, store stock is empty when the store ID does not exist, and description and specs are only filled for product URLs, item IDs, or when Include full details is on.
Can I schedule it or use the API? Yes. Save your input as a task, schedule it daily or weekly, and read results through the API or integrations.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchQueriesarrayOptionalSearch terms
Words to search on homedepot.com, such as cordless drill, kitchen faucet or 5 gallon bucket. Each term returns up to the result limit below.
startUrlsarrayOptionalHome Depot URLs
homedepot.com search pages (https://www.homedepot.com/s/cordless%20drill), category pages (https://www.homedepot.com/b/Tools-Power-Tools-Drills/N-5yc1vZc27f, filters in the N- path are kept) or product pages (https://www.homedepot.com/p/.../322138372).
itemIdsarrayOptionalItem IDs
Home Depot item IDs (the 9-digit number at the end of a product URL, e.g. 322138372). Each ID returns one product row with full details.
maxItemsintegerOptionaldefault 20Max products per search or category
Stop each search term, search URL or category after this many products. Product URLs and item IDs are always scraped. Home Depot shows about 700 products per list; larger requests are split into sub-categories automatically.
Optional. Applied to search terms, search URLs and categories.
sortenumOptionaldefault ""Sort by
Order of search and category results. Leave empty for Home Depot's default.
brandsarrayOptionalBrands
Only products from these brands, e.g. DEWALT, Milwaukee, RYOBI. Leave empty for all brands.
minPriceintegerOptionalMin price (USD)
Only products priced at or above this amount.
maxPriceintegerOptionalMax price (USD)
Only products priced at or below this amount.
minRatingenumOptionaldefault ""Minimum rating
Only products with at least this average star rating.
pickupTodayOnlybooleanOptionaldefault falsePick up today only
Only products you can pick up today at the store below.
Prices, store stock and pickup come from this store; delivery dates from this ZIP code.
storeIdstringOptionalStore ID
Home Depot store number (the number at the end of a store page URL, e.g. homedepot.com/l/Cumberland/GA/Atlanta/30339/121). Default 121 (Cumberland, Atlanta).
zipCodestringOptionalZIP code
US ZIP code for ship-to-home and delivery dates. Default 30339.
Optional extras. Reviews and questions are saved as separate rows (type review / question).
includeDetailsbooleanOptionaldefault falseInclude full details for search results
Add the description, full specifications table, highlights and videos to every search and category result (one extra request per product). Product URLs and item IDs always include them.
maxReviewsPerProductintegerOptionaldefault 0Max reviews per product
Also save up to this many customer reviews for each product. 0 = no reviews.
reviewsSortenumOptionaldefault "newest"Sort reviews by
Which reviews come first.
maxQuestionsPerProductintegerOptionaldefault 0Max questions per product
Also save up to this many customer questions (with their answers) for each product. 0 = no questions.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter addresses are the default. If Home Depot refuses them, the run switches to residential US proxies automatically.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| thumbnail | any | Image |
| productTitle | any | Product |
| brand | any | Brand |
| model_number | any | Model |
| item_id | any | Item ID |
| store_sku | any | Store SKU |
| upc | any | UPC |
| price | any | Price |
| original_price | any | Was price |
| percent_off | any | % off |
| promotion_description | any | Promotion |
| rating | any | Rating |
| review_count | any | Reviews |
| in_stock | any | In stock at store |
| store_quantity | any | Store qty |
| store_pickup_available | any | Pickup |
| ship_to_home_available | any | Ship to home |
| delivery_start_date | any | Delivery from |
| search_query | any | Search |
| url | any | URL |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Product | One product row saved to the dataset (search, category, product URL or item ID; full details included). | $0.004 |
| Review or question | One customer review or one question (with its answers) saved to the dataset. | $0.001 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/home-depot-scraper').call({
"searchQueries": [
"cordless drill"
],
"startUrls": [],
"itemIds": [],
"maxItems": 20,
"maxReviewsPerProduct": 0,
"maxQuestionsPerProduct": 0,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/home-depot-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/home-depot-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Products with details, reviews and questions.
Search products by brand and price range.
Products from a pasted Home Depot search link.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.