· 14 min read
Foot Locker Product Scraper: 26 Data Fields per Record (2026)
Each record carries 26 output fields, capturing live pricing, ratings, style codes, and in-stock size arrays across Foot Locker US, Canada, and Australia storefronts. A thousand results costs $5.00 per 1,000 results on the free tier. This Actor is designed for retail analysts tracking footwear markdowns, category assortment, and inventory levels across regional sites. It is not suitable for users seeking historical sales volume or buyer contact details, which the records do not include.
Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 1,000 results at $0.005 each before platform usage. Open Foot Locker Product Scraper on Apify and run the prefilled example.
How reliable is Foot Locker Product Scraper in production?
Across the last 30 days of public runs on the Apify platform, Foot Locker Product Scraper recorded 334 runs with the following outcomes.
| Outcome | Runs | Share |
|---|---|---|
| Succeeded | 334 | 100.0% |
| Failed | 0 | 0.0% |
| Aborted by the user | 0 | 0.0% |
| Timed out | 0 | 0.0% |
| Total | 334 | 100.0% |
No run failed or timed out in the last 30 days. Keep a retry and an alert on scheduled runs all the same: a clean month is a record, not a guarantee.
What does it cost to run Foot Locker Product Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
Worked example: collecting 10,000 results costs $50.00 in result charges before run-start fees and platform usage. No run failed or timed out in the last 30 days, so the list price is a fair budget; keep a retry in place all the same.
Total run expenses are driven by maxItems and the count of submitted queries or URLs, since each written dataset item incurs a result charge. Single search and category requests cap out at Foot Locker's native page payload of roughly 48 products, so setting maxItems higher than that will not inflate charges on a single listing run. To evaluate fields and output structure before spending on broader catalogs, run a test query with maxItems set to 5.
How do you run Foot Locker Product Scraper from the API?
The schema marks 1 of its 14 controls as required: mode. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~footlocker-product-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"search"}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search"
}
run = client.actor("crawlerbros~footlocker-product-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"mode": "search"
}
const run = await client.actor('crawlerbros~footlocker-product-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.
Which Foot Locker Product Scraper inputs matter, and which can you skip?
The primary control is mode, which dictates whether you run keyword queries, category sweeps, brand grids, or full URL enrichment. Most users should start with market set to US and default sorting, leaving proxyConfiguration untouched because normal operation runs without extra proxies.
mode(string): What to fetch from Foot Locker. Default:"search".market(string): Which Foot Locker storefront to scrape. All 3 markets use the identical search/category/product URL structure. Applies to every mode. Default:"US".searchQuery(string): Free-text keyword search, e.g.running shoes,Jordan 1,hoodie. Default:"running shoes".category(string): Department + product type to browse. Default:"mens-shoes".brand(string): Brand name to browse, e.g.Nike,Jordan,adidas,New Balance. Default:"Nike".productUrls(array): Foot Locker product page URLs from any of the 3 supported markets, e.g.https://www.footlocker.com/product/asics-gel-1130-mens/1A906001.html(US) orhttps://www.footlocker.ca/en/product/jordan-retro-5-mens/41587008.html(CA). A URL's own market always overrides themarketfield above; only bare SKUs / relative paths resolve againstmarket. Default:[].minPrice(integer): Drop products cheaper than this.maxPrice(integer): Drop products pricier than this.minRating(integer): Drop products rated below this.onSaleOnly(boolean): Only emit products currently discounted below the original price. Forsearch/browseByBrand, this is applied as a genuine catalog-wide server-side filter (not just a page-1 filter); a client-side check is also kept as a safety net for all modes. Default:false.newArrivalsOnly(boolean): Only emit products Foot Locker currently flags as new arrivals. Applied as a genuine catalog-wide server-side filter forsearchandbrowseByBrandonly - Foot Locker's category pages don't support this filter, so it has no effect onbrowseByCategory. Default:false.sortBy(string): Result sort order. Forsearch/browseByBrand,priceLowToHigh/priceHighToLow/newArrivals/nameAtoZ/brandAtoZare ranked by Foot Locker's own server across the FULL catalog (not just the fetched page);ratingHighToLow/mostReviewedhave no working server equivalent and are applied client-side to the fetched page only. ForbrowseByCategory, every option is applied client-side only (Foot Locker's category pages ignore both the sort-suffix and?sort=query param). Default:"relevance".
The other 2 controls, with their defaults, are listed in the input schema on Foot Locker Product Scraper on Apify.
Fixed-choice controls: market accepts US (United States (footlocker.com)), CA (Canada (footlocker.ca)), AU (Australia (footlocker.com.au)); mode accepts search (Search by keyword), browseByCategory (Browse by department/category), browseByBrand (Browse by brand), productDetail (Product detail by URL); category accepts 9 values (default mens-shoes), including mens-shoes (Men's Shoes), mens-clothing (Men's Clothing), mens-accessories (Men's Accessories), womens-shoes (Women's Shoes); brand accepts 28 values (default Nike), including Nike, Jordan, adidas, New Balance; sortBy accepts relevance (default order), priceLowToHigh (Price: low to high), priceHighToLow (Price: high to low), ratingHighToLow (client-side only), mostReviewed (client-side only), newArrivals (New arrivals first), nameAtoZ (Name: A to Z), brandAtoZ (Brand: A to Z).
What does Foot Locker Product Scraper return?
Output records provide pricing, discounts, review counts, style codes, and real-time in-stock sizes directly from listing pages and internal state snapshots. They do not include checkout buyer details, store-level inventory counts, or historical sales volumes.
sku- Foot Locker's product SKUproductName,brandNameprice- current selling price (local currency)originalPrice,percentOff,onSaleaverageRating(1-5),reviewCountgender(Men's / Women's / Kids')color,availableColors[](product detail only)description(product detail only)productCategory,productSubCategory(product detail only - e.g.Shoes/Casual Sneakers)styleCode,width(product detail only)isNewProduct,isSaleProduct(product detail only)availableSizes[]- in-stock sizes only (product detail only)inStock,availabilityimageUrlproductUrlrecordType: "product",scrapedAt
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open Foot Locker Product Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Select mode based on your scope: search for keyword queries, browseByCategory for department grids, browseByBrand for curated makers, or productDetail for direct URLs.
- Set market to US, CA, or AU depending on which storefront catalog you need to scrape.
- If using mode=search or browseByBrand, apply catalog-wide ranking by setting sortBy to priceLowToHigh, priceHighToLow, or newArrivals, and optionally toggle onSaleOnly.
- Run an initial probe with maxItems set to 5 to confirm Foot Locker returns records matching your criteria before scaling to full extraction.
- Inspect the emitted dataset to verify required product fields like sku, productName, and price are present and populated.
- If size-level inventory or width is required, collect productUrl values from your listing run, switch mode to productDetail, and pass those URLs to productUrls.
- Validate that availableSizes returns non-empty arrays for items marked with inStock: true before wiring output into downstream pipelines.
How do you apply it? Three worked playbooks
These are Foot Locker Product Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Price monitoring
Outcome: Track Foot Locker sale prices and discount depth over time
Configure: Set mode to "browseByCategory", category to "mens-shoes", onSaleOnly to true, sortBy to "priceLowToHigh", and maxItems to 48.
Working method: Execute scheduled daily runs against Foot Locker category markdowns. Store price, originalPrice, percentOff, and sku in a time-series database. Compare successive daily runs to compute discount velocity and identify newly marked-down items.
Deliverable: A historical markdown dataset logging SKU, product name, current price, base price, and percentage markdown across categories.
Stop condition: Abort and inspect if onSaleOnly yields items where price equals originalPrice or percentOff is zero.
Use case 2: Assortment research
Outcome: See which brands and models dominate each category
Configure: Set mode to "browseByBrand", brand to "Nike", market to "US", and maxItems to 48.
Working method: Run parallel extractions across multiple brands using separate runs for each major maker. Aggregate the emitted records by productCategory and brandName to calculate shelf-share ratios and price distribution brackets across brands.
Deliverable: A brand distribution matrix reporting product counts, average price points, and subcategory coverage across footwear lines.
Stop condition: Stop the run if Foot Locker returns an empty product grid for a known brand query.
Use case 3: Competitive intelligence
Outcome: Compare footwear pricing/ratings against other retailers
Configure: Set mode to "productDetail", market to "US", and productUrls to a targeted list of Foot Locker shoe URLs.
Working method: Extract detailed SKUs alongside styleCode, averageRating, reviewCount, and price. Join the records against secondary retail catalogs on styleCode to map price premiums and customer sentiment across competitors.
Deliverable: A cross-retailer pricing sheet keyed on styleCode with Foot Locker shelf price, rating, review count, and inventory availability.
Stop condition: Stop if styleCode or sku fails to populate on returned product detail records.
What breaks, and how do you design around it?
- Over the last 30 days, 0.0% of public runs failed and 0.0% timed out. Build retries and alerting around those rates rather than assuming every run completes.
Foot Locker serves roughly 48 products on non-browser search and category pages without working server-side pagination. When you need deeper catalogs, fan out into multiple targeted keyword queries or cycle through specific brands rather than trying to page a single search. For exhaustive product details like in-stock sizes and subcategories, pipe the scraped productUrl values into secondary runs using mode set to productDetail.
When should you not use Foot Locker Product Scraper?
Do not use this Actor if you require secondary market transactions, historic resale trading activity, or bid-ask sneaker liquidity. For real-time resale transactions and secondary footwear trading, use StockX Scraper or GOAT Sneaker Marketplace Scraper, which return actual transaction histories and marketplace sales bids. You should also bypass this scraper if you need multi-brand discount department stores, where Zappos Product & Price Scraper offers full pagination across large inventories without Foot Locker's 48-item listing ceiling.
What should you check before trusting the output?
- Fail if price is missing or equal to zero on active in-stock listings.
- Flag records where onSale is true but originalPrice is null or percentOff is 0.
- Alert if mode is set to productDetail and availableSizes arrives empty while inStock is true.
- Halt execution if sku arrives empty or null across more than 5 percent of emitted records.
- Check that market matches the expected currency domain, ensuring Canadian runs do not store US URLs.
None of this proves a record is correct. It gives a scheduled Foot Locker Product Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What is the cost to run this Actor on Apify?
Results cost $0.005 per result, which equals $5.00 per 1,000 results on the free tier. Apify's free plan includes $5.00 of monthly usage with no credit card, covering up to 1,000 results of this Actor before run-start fees and platform usage are applied.
Why does a search or category run return at most around 48 products?
Foot Locker listing pages return a single fixed-size page of roughly 48 products per query without functioning server-side pagination for non-browser clients. Setting maxItems higher cannot pull additional items from that single query. To gather more items, divide your collection into multiple runs using granular keywords, specific categories, or distinct brand filters.
What additional data fields does productDetail mode extract?
The productDetail mode inspects Foot Locker internal page-state data to extract availableSizes for in-stock sizing, styleCode, width, gender, productCategory, productSubCategory, isNewProduct, isSaleProduct, and full product descriptions. These attributes are not available on standard search card listings.
Which sorting options apply across Foot Locker's entire catalog?
For search and browseByBrand modes, priceLowToHigh, priceHighToLow, newArrivals, nameAtoZ, and brandAtoZ are sorted server-side across the entire catalog. Rating-based options and all browseByCategory sorts are evaluated client-side on the fetched page only because Foot Locker category pages ignore server sort syntax.
Does this Actor require specialized proxies or account logins?
No account login, cookies, or custom proxies are required. The Actor queries publicly available web endpoints directly. If storefronts occasionally throttle requests during heavy traffic periods, the schema provides an optional Apify proxy configuration that supports the free Datacenter group.
Where to go next
When you are ready to run it, open Foot Locker Product Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the Foot Locker Product Scraper Actor page for the current input schema, pricing tier, and run history.
Other Actors we maintain for related data:
- Zappos Product & Price Scraper: Scrape live shoe, apparel, and accessory listings from Zappos.com - search by keyword, browse by brand or category, or look up full product detail (price, MSRP, rating, images) by URL.
- REI Product Scraper: Scrape live outdoor gear, apparel, and footwear listings from REI.com - search by keyword, browse by category or brand, or look up full product detail (price, member price, rating, images) by URL.
- Gap Inc Scraper (Gap, Old Navy, Banana Republic, Athleta): Scrape live product listings across Gap Inc's apparel & home-goods brands - Gap, Gap Factory, Old Navy, Banana Republic, and Athleta.
- StockX Scraper: Scrape StockX, sneakers, apparel, accessories, electronics, collectibles, trading cards.
- Sur La Table Kitchenware Scraper: Scrape Sur La Table (surlatable.com) kitchenware.
- GOAT Sneaker Marketplace Scraper: Scrape GOAT (goat.com) the world's largest sneaker and streetwear resale marketplace.
- World Market Product Scraper: Scrape Cost Plus World Market (worldmarket.com) - a major US home decor, furniture, and specialty food retailer.
- Uniqlo Product Scraper: Scrape UNIQLO.com product catalog - search by keyword, browse by category, or fetch full product detail by product ID.
Related guides:
- Gap Inc Scraper (Gap, Old Navy, Banana Republic, Athleta): Setup, Cost
- StockX Scraper: Three Practical Workflows
- Shein Product Scraper: 14 Data Fields, Up to 2,500 Free Results/Month
- Home Depot Product Scraper: Three Practical Use Cases
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-27.
Actor last updated by its maintainers on 2026-07-05.
Run outcome figures cover the 30 day public window ending 2026-09-27.
Featured actors
Foot Locker Product Scraper
Scrape live sneaker, apparel, and accessory listings from Footlocker.com - search by keyword, browse by department/category or brand, or look up full product detail (price, rating, colors, images) by URL. No login required.
Run on Apify ↗