Ferguson Home Product Scraper
Pricing
from $4.00 / 1,000 dataset items
Ferguson Home Product Scraper
Scrape Ferguson Home (Build.com) products at scale — prices, SKUs, finishes, stock status, MSRP, ratings, specs and images. Search by keyword or category ID and export clean structured data for pricing intelligence, catalog sync and market research. Pay only for results.
Pricing
from $4.00 / 1,000 dataset items
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Export the Ferguson Home (formerly Build.com) catalog as clean, structured data. Search by keyword or list an entire category and get prices, SKUs, every finish variant, live stock status, ratings, specifications and images.
Ferguson Home is one of the largest US retailers for plumbing, lighting, appliances, bath, kitchen and hardware. This actor reads the product data from Ferguson's own mobile app backend, so every row reflects exactly what a shopper sees on the site.
No proxy needed. The actor runs straight out of the box; a proxy is optional.
Who it's for
- Pricing & market analysts — track prices and MSRP across brands and finishes.
- E‑commerce & marketplace sellers — build competitive pricing and assortment data.
- PropTech / renovation SaaS — enrich product catalogs with specs, images and stock.
- Manufacturers & brands — monitor how your products are listed, priced and rated.
- Researchers & data teams — bulk‑export a large home‑improvement catalog to JSON/CSV/Excel.
What you get (output fields)
| Field | Type | Description |
|---|---|---|
compositeId | integer | Stable Ferguson product family ID |
model | string | Manufacturer model number (e.g. 19867LF) |
brand | string | Manufacturer / brand (e.g. Delta) |
title | string | Product title |
series | string | Series / collection name |
productUrl | string | Canonical fergusonhome.com product URL |
minPrice / maxPrice | number | Lowest / highest current price across finishes (USD) |
currency | string | Always USD |
avgRating | number | Average review rating (0–5) |
reviewCount | integer | Number of reviews |
isConfigurable | boolean | Configurable / build‑to‑order item |
freeShipping | boolean | Ships free |
finishCount | integer | Number of finish/SKU variants |
finishes | array | Per‑finish variants: uniqueId, name, sku, price, status, inStock, inventory, image, swatchHex |
images | array | Product image URLs |
specs | array | Specifications as {name, value, units} |
categoryId | integer | Category the product was listed under |
scrapedAt | string | ISO 8601 UTC scrape timestamp |
Use cases
- Competitive price monitoring — schedule daily runs on your key categories and
diff
minPrice/maxPriceand per‑finishpriceover time. - Assortment & catalog sync — pull an entire category (
categoryId) to mirror brands, models, finishes, specs and imagery into your own store or PIM. - Brand & MAP compliance — filter by
brandand compare prices per SKU. - Availability tracking — watch
finishes[].inStock/inventoryandstatus. - Ratings intelligence — rank products by
avgRatingandreviewCount.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
keywords | string | kitchen faucet | Product term searched across the whole catalog. Leave empty to use categoryId. |
categoryId | integer | — | Numeric category ID (from a /c<id> category URL). Takes precedence over keywords. Broad categories are expanded into their sub-categories automatically. |
sortOption | string | BEST_MATCH | BEST_MATCH, PRICE_LOW_HI, PRICE_HI_LOW, RATING. |
maxItems | integer | 100 | Stop after this many product rows. |
proxyConfiguration | object | none | Optional Apify Proxy settings. Not required — the actor works without a proxy. |
Example input
{"keywords": "kitchen faucet","sortOption": "PRICE_LOW_HI","maxItems": 100}
Category mode:
{"categoryId": 51224,"sortOption": "SCORE","maxItems": 500}
Example output row
{"compositeId": 2036768,"model": "19867LF","brand": "Delta","title": "Nicoli 1.8 GPM Single Hole Pull Down Kitchen Faucet - Includes Escutcheon","series": "Nicoli","type": "Faucet","productUrl": "https://www.fergusonhome.com/delta-19867lf/s2036768","minPrice": 229.92,"maxPrice": 269.4,"minMsrp": 383.2,"maxMsrp": 449.0,"currency": "USD","avgRating": 4.7467,"reviewCount": 75,"finishCount": 2,"finishes": [{"uniqueId": 4883516,"name": "Brilliance Stainless","sku": "19867LF-SS","price": 229.92,"msrp": 383.2,"status": "stock","inStock": true,"inventory": 1094,"image": "https://s2.img-b.com/build.com/imagebase/resized/330x320/deltaimages/delta-19867lf-ss-830805.jpg","swatchHex": "CFD4D9"}],"images": ["https://s2.img-b.com/build.com/imagebase/resized/330x320/deltaimages/delta-19867lf-ss-830805.jpg"],"specs": [{ "name": "Flow Rate (GPM)", "value": "1.8", "units": null }],"scrapedAt": "2026-08-26T12:00:00+00:00"}
Scheduling & webhooks
Use Schedules to run the actor on a cron (e.g. daily price checks) and add a
webhook on ACTOR.RUN.SUCCEEDED to push fresh rows into your database, Google
Sheet, or downstream pipeline the moment a run finishes.
Use from AI assistants (MCP)
This actor is callable from AI agents through the Apify MCP server, so an
assistant can fetch Ferguson Home product data on demand. Point your MCP‑enabled
client (Claude, Cursor, VS Code, etc.) at https://mcp.apify.com, add this actor,
and call it with the same input fields documented above.
Export formats
Results are stored in an Apify dataset and can be downloaded as JSON, CSV, Excel, HTML or XML, or pulled via the Apify API.
FAQ
Where does the data come from? Ferguson Home's own public product API — the same endpoints the mobile app uses. No login or personal data is accessed.
How fresh is it? Every run fetches live data at request time (prices, stock and ratings reflect the moment of scraping).
How many products can I scrape? From a few to tens of thousands — control it with
maxItems. Very large jobs are paginated automatically and checkpoint their progress,
so an interrupted run resumes without duplicating rows.
Do I need a proxy? No. The API responds from any IP, so no proxy configuration is required.
What does a broad category return? Broad categories (e.g. 133150 Kitchen Faucets)
are navigation hubs with no listings of their own — the actor expands them into their
product-bearing sub-categories and scrapes those in turn.
Is scraping this data legal? The actor collects publicly available product information. You are responsible for using the data in compliance with applicable laws and Ferguson's terms.