Tractor Supply Product Scraper — Prices, Specs & Stock
Pricing
from $3.50 / 1,000 overview products
Tractor Supply Product Scraper — Prices, Specs & Stock
Scrape Tractor Supply products by keyword, category, SKU or URL. Export prices, ratings, availability, fulfillment flags, specs and images for price monitoring, MAP checks, and catalog builds. Fast HTTP Tractor Supply scraper / API alternative — no browser.
Pricing
from $3.50 / 1,000 overview products
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Tractor Supply Co. or its affiliates. Data is read from publicly accessible catalog pages only. No login. You are responsible for complying with applicable law and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Rural retail catalog — Tractor Supply product data for price monitoring, MAP checks, and PIM / catalog builds. Pair with Walmart for ZIP-local mass retail and Machineryline for used farm-equipment comps.
| Tractor Supply catalog | Walmart catalog | Weekly grocery ads | Used farm equipment |
|---|---|---|---|
| Tractor Supply Product Scraper ◄── you are here | Walmart Scraper | Aldi Weekly Ad Scraper · Lidl Weekly Offers Scraper | Machineryline Scraper · Fastline Scraper |
This Tractor Supply scraper turns public catalog search, category, SKU, and product-page lookups into a structured Apify dataset. Export price, list price, star rating, review count, buy-online pickup / delivery flags, brand, UPC, specs, and images as JSON or CSV — a Tractor Supply API alternative for Python, Node.js, and MCP pipelines.
When to use this Actor
- Tractor Supply product scrape by keyword, category id, category URL, SKU / part number, or product URL
- Price monitoring and MAP checks on advertised prices and promotions
- Catalog / PIM fills from titles, brands, manufacturer part numbers, images, and specs
- Assortment research — ratings, review counts, buyable status, online vs in-store availability
- SKU enrichment when you already have Tractor Supply part numbers or product URLs
When not to use this Actor
- Checkout, cart, or Neighbors Club account automation
- Full review-text export — this Actor returns rating and review count, not review bodies
- Sister banners such as Petsense — Tractor Supply catalog only
- Store-locator crawls as a primary job (pass a known physical
storeIdinstead) - Used farm equipment classifieds — use Machineryline Scraper
- ZIP-local Walmart prices — use Walmart Scraper
Key Features
- Keyword search — same terms shoppers type into Tractor Supply search
- SKU / URL lookup — part numbers, catalog ids, and product-page URLs (not listing-only)
- Category harvest — numeric category ids or
/tsc/catalog/{slug}URLs - Overview vs detail — fast listing rows, or enrich with long description + specs table
- Localized store — optional physical store number (100–3254) for price/availability; website store
10151is the online catalog, not a store location - Fulfillment flags — pickup, same-day, standard delivery, autoship, truck delivery
- Fast HTTP — public catalog JSON via Chrome TLS impersonation; no headless browser
Use Cases
| Use case | What you get | Why it helps |
|---|---|---|
| Price / MAP monitoring | price, originalPrice, onPromotion, currency | Track advertised Tractor Supply prices vs your MAP |
| SKU / URL enrichment | Title, brand, UPC, specs, images | Fill PIM / ERP from known part numbers |
| Category harvest | Overview rows with ratings and availability | Build poultry, fencing, or tool shortlists |
| Assortment research | Rating, review count, buyable, fulfillment flags | See what sells and how it ships |
| Store-localized checks | Optional physical storeId | Compare online catalog vs a store number |
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
productUrls | Array | — | Tractor Supply product detail URLs |
skus | Array | — | Part numbers (e.g. 135276099) or catalog unique IDs |
keywords | Array | — | Search terms, one per line |
categoryIds | Array | — | Numeric category ids |
categoryUrls | Array | — | /tsc/catalog/{slug} or /tsc/search/{term} URLs |
scrapeMode | Enum | overview | overview (listings) or detail (specs + description) |
sort | Enum | relevance | relevance, name_asc, name_desc, price_low, price_high, top_sellers, top_rated |
storeId | String | empty | Physical store number; leave empty for the online catalog |
maxItems | Integer | 50 | Maximum dataset items per run |
maxPages | Integer | 5 | Max search pages per keyword/category (24 products/page) |
includeAttributes | Boolean | false | Attach raw attributes[] from the catalog JSON |
requestDelaySecs | Number | 0.25 | Delay between HTTP requests |
proxyConfiguration | Object | US proxy | Apify Proxy — US recommended |
Input Example — keyword overview
{"keywords": ["chicken feed"],"scrapeMode": "overview","sort": "top_sellers","maxItems": 50}
Input Example — SKU + product URL detail
{"productUrls": ["https://www.tractorsupply.com/tsc/product/tractor-supply-5-gal-watertight-bucket-lid-red-108536199"],"skus": ["135276099"],"scrapeMode": "detail","maxItems": 10}
Input Example — category URL
{"categoryUrls": ["https://www.tractorsupply.com/tsc/catalog/poultry"],"scrapeMode": "overview","maxItems": 100,"maxPages": 5}
Output Format
Dataset records use recordType:
recordType | Meaning |
|---|---|
listing | Search / category overview row |
product | Enriched detail (description, specs, documents, UPC) |
error | Fetch or parse failure |
Key fields
| Field | Description |
|---|---|
productId | Catalog uniqueID |
partNumber | Tractor Supply SKU |
skuId | Single-SKU catalog entry id |
upc | UPC when present on the SKU |
title / brand / manufacturer / mfrPartNumber | Identity fields |
price / originalPrice / currency | Offer and list price |
rating / reviewCount | Star rating and review count |
availability | Online Only / Online In Stores / In Stores Only |
buyable | Purchasable flag |
pickupAvailable / sddDeliveryAvailable / stdDeliveryAvailable | Fulfillment |
autoshipEligible / truckDelivery | Subscription and freight flags |
specs / description / documents | Detail mode only |
url / thumbnail / images | Links and media |
storeId | Physical store or 10151 online |
scrapedAt | ISO-8601 timestamp |
Output Example (abbreviated)
{"source": "tractorsupply","recordType": "product","productId": "552395","partNumber": "135276099","upc": "858191007274","title": "Kreamer Feed Conventional Egg Layer Pelleted Chicken Feed Tote, 2,000 lb.","brand": "Kreamer Feed","price": 749.99,"originalPrice": 799.99,"currency": "USD","rating": 4.14,"reviewCount": 28,"availability": "Online Only","autoshipEligible": true,"url": "https://www.tractorsupply.com/tsc/product/kreamer-feed-conventional-egg-layer-pelleted-chicken-feed-tote-2000-lb-135276099"}
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/tractor-supply-product-scraper').call({keywords: ['chicken feed'],scrapeMode: 'overview',maxItems: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 5));
Python
from apify_client import ApifyClientclient = ApifyClient(token)run = client.actor("crawloop/tractor-supply-product-scraper").call(run_input={"keywords": ["chicken feed"],"scrapeMode": "overview","maxItems": 25,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("partNumber"), item.get("price"), item.get("availability"))
cURL
curl "https://api.apify.com/v2/acts/crawloop~tractor-supply-product-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords":["chicken feed"],"scrapeMode":"overview","maxItems":25}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/tractor-supply-product-scraper.
Example prompts:
- "Run Tractor Supply Product Scraper for keyword chicken feed and return the top 20 rows as JSON"
- "Look up Tractor Supply SKU 135276099 in detail mode and summarize price, specs, and availability"
- "Scrape Tractor Supply category poultry as overview listings, then chain Machineryline Scraper for used farm equipment comps"
Suite next step
After a Tractor Supply catalog pull, run Walmart Scraper for ZIP-local mass-retail comps, Aldi Weekly Ad Scraper for grocery circulars, Fastline Scraper for US farm classifieds, or Machineryline Scraper for used tractor, implement, and heavy-equipment asking prices.
Related Actors
| Focus | Actor |
|---|---|
| Tractor Supply retail catalog | Tractor Supply Product Scraper ◄── you are here |
| Walmart ZIP-local catalog | Walmart Scraper |
| ALDI US weekly circular | Aldi Weekly Ad Scraper |
| Lidl EU weekly leaflets | Lidl Weekly Offers Scraper |
| US Fastline farm classifieds | Fastline Scraper |
| Used farm & heavy equipment listings | Machineryline Scraper |
FAQ
Can I get prices for a specific store?
Yes — set storeId to a physical store number from a store page URL (the trailing digits, e.g. 2306). Do not pass 10151; that is the online catalog id.
What is the difference between overview and detail?
Overview is one search request per page (price, ratings, fulfillment flags). Detail performs a product JSON lookup per SKU and adds the long description, specs, UPC, and document links.
SKU or unique ID?
Nine-digit values such as 135276099 are part numbers. Shorter catalog ids (about 5–8 digits) are treated as uniqueID. Product URLs use the trailing part number.
Does this include review text?
No. Each row includes star rating and review count only.
Why is price sometimes null?
Tractor Supply’s public search JSON often returns empty price[].value on the catalog replica. SKU, title, ratings, availability, and fulfillment flags still populate. Try a physical storeId or RESIDENTIAL US proxy if you need advertised prices.
Are error rows billed?
No. error rows are not billed as listing or product results.
Notes
- Prefer US Apify Proxy. Bare datacenter IPs often time out; switch to RESIDENTIAL US if prices come back empty or search returns 403.
- The part number at the end of a product URL is the canonical SKU for lookups.
errorrows are not billed as listing or product results.