# Dick's Sporting Goods Product Scraper (`parseforge/dicks-sporting-goods-scraper`) Actor

Scrape Dick's Sporting Goods product listings: title, brand, price, original price, discount, rating, review count, image, color options, sport, gender, and stock status. Search any category, filter, or product URL. Built for affiliate marketers, price-comparison tools, and sporting goods resellers.

- **URL**: https://apify.com/parseforge/dicks-sporting-goods-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🏀 Dick's Sporting Goods Scraper

> 🚀 **Export Dick's Sporting Goods products, prices, and deals in seconds.** Filter by category, capture brand, price, ratings, color options, and stock status, and ship clean rows to your downstream tools. No API key, no registration, no manual CSV wrangling.

> 🕒 **Last updated:** 2026-05-21 · **📊 18 fields** per record · **800+ retail stores nationwide** · **100+ category surfaces** · **Live USD pricing with sale and discount detection**

Dick's Sporting Goods is the largest sporting goods retailer in the United States, with **800+ physical stores** and an online catalog covering footwear, apparel, exercise equipment, golf, fishing, cycling, fan gear, hunting, camping, team sports, and a long list of licensed athletic brands. Manually copying that catalog into a spreadsheet is hours of work and goes stale within a day. This Actor sits in front of the storefront, paginates through any category or filter URL you point it at, and returns clean structured records covering **product title, brand, SKU, style ID, image, current price, original price, discount percent, on-sale flag, stock status, average rating, review count, category, and color options**.

You feed in either a category slug, a Dick's filter URL, or a product detail URL, plus a `maxItems` cap and an optional sort order. The Actor walks the listing grid, deduplicates SKUs, and captures structured product data directly from the catalog API surfaced on every listing page. Free runs preview **10 items** so you can verify the shape before scaling up. Paid runs go up to **1,000,000** items.

The dataset covers the full storefront: men's, women's, and kids' footwear and apparel; exercise equipment and cardio machines; golf, baseball, basketball, soccer, football, hockey, lacrosse, cycling, fishing, and camping gear; fan shop and licensed team merchandise; clearance across all categories; and Dick's-exclusive brands (DSG, CALIA, Alpine Design). Schedule it daily to track price drops, run it on demand for a competitive snapshot against Academy or Walmart, or wire it into your affiliate dashboard, price comparison tool, or inventory tracker.

| 🎯 Target audience | 💡 Primary use cases |
|---|---|
| 🤝 Affiliate marketers building sports gear comparison content | Track deals, discounts, and Dick's exclusives to publish timely roundups |
| 📊 Price comparison sites covering retail sporting goods | Refresh live pricing across thousands of footwear, apparel, and equipment SKUs |
| 🛒 Sports equipment resellers and arbitrage sellers | Monitor clearance and sale items across the full storefront for resale opportunities |
| 📦 Inventory analysts tracking retail sporting goods supply | Watch in-stock signals across categories to detect supply shifts and shortages |

---

### 📋 What the Dick's Sporting Goods Scraper does

- 🏷️ **Live sale detection.** Every record carries `isOnSale`, `discountPercent`, `price`, and `originalPrice` so deal hunters and affiliate marketers can spot markdowns the moment they hit the site.
- 🌈 **Color variant coverage.** The `colorOptions` array surfaces every colorway on the parent style, captured directly from the catalog API.
- ⭐ **Ratings and reviews.** Average rating (out of 5) and total review count come through on every product so you can sort by social proof or filter low-reviewed listings.
- 🔁 **Sort-aware pagination.** Pick best sellers, top rated, lowest price, highest price, or newest, and the Actor walks the matching listing order for you.
- 📂 **100+ enumerated category slugs.** Every Dick's top-level category is available as a select field - no guessing slugs.
- 🔗 **URL flexibility.** Pass any filter URL (`/f/`), category hub (`/c/`), or product detail URL (`/p/`) and the Actor handles the routing automatically.

Each record bundles `imageUrl`, `title`, `url`, `sku`, `styleId`, `brand`, `price`, `originalPrice`, `discountPercent`, `currency`, `isOnSale`, `inStock`, `rating`, `reviewCount`, `categoryName`, `colorOptions`, `sourceUrl`, and a `scrapedAt` timestamp. The dataset is downloadable in CSV, Excel, JSON, JSONL, RSS, HTML, and XML formats.

> 💡 **Why it matters:** Dick's holds exclusive partnerships with Nike, Under Armour, CALIA, DSG, and several other lines that make their assortment unique among large-box retailers. A dataset you can refresh on a schedule lets you spot price changes, new SKU launches, and stock rotations within hours, not at the end of the quarter when your spreadsheet is stale.

---

### 🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing input setup, a live run, and how to wire the dataset into a downstream tool. The Actor is fully operational while the video is in production.

---

### ⚙️ Input

<table>
  <tr>
    <th>Field</th>
    <th>Type</th>
    <th>Required</th>
    <th>Description</th>
  </tr>
  <tr>
    <td><code>startUrls</code></td>
    <td>string[]</td>
    <td>no</td>
    <td>A list of Dick's Sporting Goods URLs. Filter pages like <code>/f/all-mens-footwear</code> hold the product cards, category hubs like <code>/c/mens-footwear</code> are auto-rewritten to the matching filter page, and product detail pages like <code>/p/nike-mens.../sku</code> are scraped one record at a time.</td>
  </tr>
  <tr>
    <td><code>categories</code></td>
    <td>string[] (enum)</td>
    <td>no</td>
    <td>Pick one or more category slugs from the full enumerated list (mens-footwear, golf-equipment, bikes-cycling, fishing-gear, etc.). The Actor converts each slug to the correct listing URL automatically.</td>
  </tr>
  <tr>
    <td><code>maxItems</code></td>
    <td>integer</td>
    <td>no</td>
    <td>Free users: capped at 10. Paid users: up to 1,000,000. Defaults to 10 when not set.</td>
  </tr>
  <tr>
    <td><code>sortBy</code></td>
    <td>string (enum)</td>
    <td>no</td>
    <td>Sort order: <code>relevance</code> (default), <code>best_sellers</code>, <code>price_lowest</code>, <code>price_highest</code>, <code>top_rated</code>, <code>newest</code>.</td>
  </tr>
  <tr>
    <td><code>proxyConfiguration</code></td>
    <td>object</td>
    <td>no</td>
    <td>Defaults to Apify residential US proxy. Strongly recommended - the site geo-blocks non-US IPs and requires residential IPs to pass bot detection.</td>
  </tr>
</table>

**Example 1 - scrape men's footwear, best sellers first, up to 200 items:**

```json
{
  "startUrls": ["https://www.dickssportinggoods.com/f/all-mens-footwear"],
  "sortBy": "best_sellers",
  "maxItems": 200
}
````

**Example 2 - scrape multiple categories using slugs:**

```json
{
  "categories": ["golf-equipment", "tennis-gear-equipment", "bikes-cycling"],
  "maxItems": 500
}
```

> ⚠️ **Good to Know:** If neither `startUrls` nor `categories` is provided, the Actor defaults to the men's footwear category as a preview run. For highest data quality, use Apify residential US proxies (the default) - datacenter IPs are frequently blocked by the site's bot detection layer.

***

### 📊 Output

| Field | Type | Description |
|---|---|---|
| 🖼️ `imageUrl` | string | Product card image URL (scene7 CDN) |
| 📝 `title` | string | Full product name |
| 🔗 `url` | string | Canonical product page URL |
| 🔑 `sku` | string | Dick's style/SKU identifier |
| 🏷️ `styleId` | string | Parent style ID (matches SKU for most products) |
| 🏪 `brand` | string | Brand name (Nike, Under Armour, Hoka, etc.) |
| 💰 `price` | number | Current selling price in USD |
| 💵 `originalPrice` | number | Original list price (null if not on sale) |
| 📉 `discountPercent` | integer | Discount percentage (null if not on sale) |
| 💱 `currency` | string | Always "USD" |
| 🔖 `isOnSale` | boolean | True when current price is below list price |
| 📦 `inStock` | boolean | Stock availability flag |
| ⭐ `rating` | number | Average rating out of 5.0 |
| 💬 `reviewCount` | integer | Total number of reviews |
| 📂 `categoryName` | string | Category name from the listing page |
| 🌈 `colorOptions` | string\[] | Available color/colorway names for the style |
| 🔍 `sourceUrl` | string | The listing or filter URL this product was found on |
| 🕒 `scrapedAt` | string | ISO 8601 timestamp of when this record was collected |
| ❌ `error` | string | Error message if this record failed (null otherwise) |

**Sample records (from actual run - 2026-05-20):**

```json
[
  {
    "imageUrl": "https://dks.scene7.com/is/image/dkscdn/16NIKMRFRC1GRYWHTLFS/?$DSG_ProductCard$",
    "title": "Nike Men's Air Force 1 '07 Shoes",
    "url": "https://www.dickssportinggoods.com/p/nike-mens-air-force-1-07-shoes-16nikmrfrc1grywhtlfs/16nikmrfrc1grywhtlfs",
    "sku": "16NIKMRFRC1GRYWHTLFS",
    "styleId": "16NIKMRFRC1GRYWHTLFS",
    "brand": "Nike",
    "price": 71.97,
    "originalPrice": 129.99,
    "discountPercent": 45,
    "currency": "USD",
    "isOnSale": true,
    "inStock": false,
    "rating": 4.65,
    "reviewCount": 3821,
    "categoryName": "Shop All Men's Shoes",
    "colorOptions": ["White/Black/White", "Black/White", "Wolf Grey/Black", "White/White"],
    "sourceUrl": "https://www.dickssportinggoods.com/f/all-mens-footwear",
    "scrapedAt": "2026-05-20T15:51:06.729Z",
    "error": null
  },
  {
    "imageUrl": "https://dks.scene7.com/is/image/dkscdn/24MAZMCLD6WHTXXXXMNS/?$DSG_ProductCard$",
    "title": "On Men's Cloud 6 Shoes",
    "url": "https://www.dickssportinggoods.com/p/on-mens-cloud-6-shoes-24mazmcld6whtxxxxmns/24mazmcld6whtxxxxmns",
    "sku": "24MAZMCLD6WHTXXXXMNS",
    "styleId": "24MAZMCLD6WHTXXXXMNS",
    "brand": "On",
    "price": 128.97,
    "originalPrice": 159.99,
    "discountPercent": 19,
    "currency": "USD",
    "isOnSale": true,
    "inStock": true,
    "rating": 4.77,
    "reviewCount": 511,
    "categoryName": "Shop All Men's Shoes",
    "colorOptions": ["Glacier/White", "Chai/Sand", "Black/Black", "Black/White", "Midnight Navy/White"],
    "sourceUrl": "https://www.dickssportinggoods.com/f/all-mens-footwear",
    "scrapedAt": "2026-05-20T15:51:06.730Z",
    "error": null
  },
  {
    "imageUrl": "https://dks.scene7.com/is/image/dkscdn/24FHQMCLFTN10BLCKMNS/?$DSG_ProductCard$",
    "title": "HOKA Men's Clifton 10 Running Shoes",
    "url": "https://www.dickssportinggoods.com/p/hoka-mens-clifton-10-running-shoes-24fhqmclftn10blckmns/24fhqmclftn10blckmns",
    "sku": "24FHQMCLFTN10BLCKMNS",
    "styleId": "24FHQMCLFTN10BLCKMNS",
    "brand": "Hoka",
    "price": 123.99,
    "originalPrice": 154.99,
    "discountPercent": 20,
    "currency": "USD",
    "isOnSale": true,
    "inStock": true,
    "rating": 4.76,
    "reviewCount": 941,
    "categoryName": "Shop All Men's Shoes",
    "colorOptions": ["Black/Black", "Black/White", "Alpine Blue", "Stardust", "White/Black"],
    "sourceUrl": "https://www.dickssportinggoods.com/f/all-mens-footwear",
    "scrapedAt": "2026-05-20T15:51:06.730Z",
    "error": null
  }
]
```

***

### ✨ Why choose this Actor

| Feature | Benefit |
|---|---|
| 🛰️ Camoufox + residential proxy | Passes bot detection layers that block datacenter IPs |
| 📡 Catalog API interception | Captures the internal v2 search API for structured, complete data - not fragile HTML scraping |
| 🔁 Pagination via direct API calls | Navigates page 1 with real browser behavior, then hits the catalog API directly for pages 2+ - fast and reliable |
| 🌈 Color variant array | Every colorway name for the style, not just the current selected color |
| 🔖 Automatic sale detection | `isOnSale` and `discountPercent` computed from live price vs list price on every record |
| 📂 100+ category enums | No slug guessing - every top-level Dick's category is enumerated in the input schema |
| 📦 18 structured fields | Rich data: image, pricing, ratings, stock status, colors, category - all in one record |

***

### 📈 How it compares to alternatives

| Feature | This Actor | Manual export | Generic web scraper |
|---|---|---|---|
| Live prices and sale flags | Yes | Stale | Fragile |
| Color variant array | Yes | No | Rarely |
| 100+ category enum | Yes | No | No |
| Pagination | Auto, up to 50 pages | Manual | Manual |
| Bot detection bypass | Yes (camoufox + residential) | N/A | Often fails |
| CSV / Excel / JSON / XML export | Yes | CSV only | Varies |
| Scheduling | Yes (Apify cloud) | No | Manual |

***

### 🚀 How to use

1. **[Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)** on Apify.
2. Open the Dick's Sporting Goods Scraper from the Apify Store.
3. Set your input: choose a category slug or paste a filter/listing URL.
4. Optionally set `maxItems` and `sortBy`.
5. Click **Start** and wait for the run to finish.
6. Download your dataset in CSV, Excel, JSON, or XML from the **Dataset** tab.

***

### 💼 Business use cases

#### Price intelligence and competitive monitoring

Track Dick's pricing across categories on a daily or weekly schedule. Compare against Academy Sports, Bass Pro Shops, or REI to benchmark margins, identify when Dick's drops prices first, and route deals to your deal alert newsletter or affiliate content calendar.

#### Affiliate content and SEO

Refresh product feeds for "best running shoes" or "golf equipment deals" articles automatically. Pull the 20 highest-rated, on-sale items in any category and inject them directly into your CMS. Sort by `discountPercent` descending to surface the best deals for your readers.

#### Resale and arbitrage

Run daily scans across clearance categories (`mens-clearance-all`, `womens-clearance-all`, `kids-clearance-all`) and filter for `isOnSale: true` records with high `discountPercent` values. Cross-reference with secondary market prices to identify profitable arbitrage windows before inventory sells out.

#### Inventory and supply analysis

Watch stock availability (`inStock`) across high-demand SKUs in limited-edition or seasonal categories. Build time-series datasets to detect when supply tightens before a product sells through or restocks. Useful for brands monitoring their own distribution at retail or analysts tracking sporting goods supply chains.

***

### 🔌 Automating Dick's Sporting Goods Scraper

Combine this Actor with other Apify tools to build automated workflows:

- **Make (Integromat):** Trigger the Actor on a schedule, then send the dataset to Google Sheets or Airtable for your team to review.
- **Zapier:** Run the Actor on new Dick's sale events and push matching records to Slack, email, or a CRM.
- **Apify Scheduler:** Set a daily or weekly cron run and always have a fresh product snapshot ready.
- **Apify API:** Call `POST /v2/acts/parseforge~dicks-sporting-goods-scraper/runs` from your own codebase and integrate the dataset into your pipeline programmatically.

***

### 🌟 Beyond business use cases

#### Research and academia

Retail economics researchers can use this Actor to build longitudinal datasets of sporting goods pricing, discount frequency, and product turnover at the largest US sporting goods chain. Track how prices shift across seasons, before and after major sporting events, or in response to supply chain disruptions.

#### Personal deal hunting

Set up a weekly scheduled run on your favorite category - say `golf-equipment` or `running-accessories` - and get an automatic alert when items you track drop below a target price. Filter the dataset by brand and `discountPercent` to find your personal best deals.

#### Data journalism and market reporting

Journalists covering retail trends, sports sponsorship economics, or consumer spending can pull category-level snapshots to illustrate price trends, brand dominance in specific sports categories, or how Dick's assortment shifts around major sporting seasons (back-to-school, holiday, NFL season).

#### Experimentation and learning

For developers learning data pipelines, this Actor is a clean, production-grade example of how to intercept browser API calls, handle bot detection, and build robust paginated scrapers for large e-commerce sites.

***

### 🤖 Ask an AI assistant about this scraper

You can paste the output from this Actor into any AI chat tool and ask questions like:

- "Which of these products have the highest discount percent and are still in stock?"
- "Find all Nike footwear items under $80 with a rating above 4.5."
- "Summarize the top 5 brands by average review count in this dataset."
- "Which items have dropped more than 30% from original price?"

The 18-field structured output makes it easy for AI tools to filter, rank, and analyze without additional cleanup.

***

### ❓ Frequently Asked Questions

#### ❓ Does this Actor require a Dick's Sporting Goods account?

No. All data is scraped from the public storefront without login. No credentials are needed.

#### ❓ How current is the data?

Every run fetches live data from dickssportinggoods.com at execution time. There is no caching. Prices and stock status reflect the storefront at the moment the run completes.

#### ❓ Can I scrape a specific product URL?

Yes. Paste any `/p/` product detail URL into `startUrls` and the Actor will scrape that single product and return one record.

#### ❓ What happens if a category returns no results?

The Actor logs a warning for that URL and continues with any remaining URLs. It will not fail the entire run.

#### ❓ How many items can I scrape per run?

Free users are capped at 10 items per run as a preview. Paid users can set `maxItems` up to 1,000,000.

#### ❓ What proxy setup works best?

The default (Apify residential US proxy) is strongly recommended. Datacenter IPs are frequently blocked by the site's bot detection. Do not remove the proxy configuration.

#### ❓ Does it handle pagination automatically?

Yes. The Actor navigates page 1 with a real browser session to capture the catalog API endpoint, then paginates through subsequent pages via direct API calls - up to 50 pages per listing URL.

#### ❓ Are color variant arrays always populated?

Color variants come from the catalog API response, which includes them for most apparel and footwear SKUs. For accessories or equipment categories with no color variants, `colorOptions` will be null.

#### ❓ Can I sort results by price, rating, or newest?

Yes. Set `sortBy` to `best_sellers`, `price_lowest`, `price_highest`, `top_rated`, or `newest` to apply the sort before pagination begins.

#### ❓ How do I download the results?

After a run completes, open the **Dataset** tab in your run view. Use the **Export** button to download CSV, Excel, JSON, JSONL, RSS, HTML, or XML. You can also access the dataset via the Apify API at `GET /v2/datasets/{datasetId}/items`.

#### ❓ Can I run this on a schedule?

Yes. Open the Actor in the Apify Console, click **Schedule**, set your cron expression (daily, weekly, etc.), and Apify will run it automatically on your behalf.

#### ❓ Is the Actor available for API access?

Yes. Use the Apify API to trigger runs programmatically: `POST https://api.apify.com/v2/acts/parseforge~dicks-sporting-goods-scraper/runs`. See the [Apify API docs](https://docs.apify.com/api/v2) for full reference.

***

### 🔌 Integrate with any app

This Actor connects to your existing tools through the Apify platform:

**Export formats:** CSV - Excel - JSON - JSONL - RSS - HTML - XML

**Integrations:** Make (Integromat) - Zapier - n8n - Keboola - Airbyte - Supermetrics - Google Sheets (via Make) - Airtable (via Make) - Slack (via Zapier) - Power BI (via JSON endpoint) - Tableau (via CSV) - Any REST API client

***

### 🔗 Recommended Actors

| Actor | Description |
|---|---|
| [Amazon Product Scraper](https://apify.com/parseforge) | Scrape Amazon product listings, prices, and reviews |
| [Walmart Product Scraper](https://apify.com/parseforge) | Extract Walmart product data including pricing and availability |
| [Target Product Scraper](https://apify.com/parseforge) | Collect Target product listings with prices and stock status |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for scrapers covering 100+ data sources - retail, travel, jobs, finance, and more.

Need help? Visit the [Apify Help Center](https://help.apify.com) or open a support ticket from your console.

***

**Disclaimer:** This Actor is an independent tool and is not affiliated with, endorsed by, or connected to Dick's Sporting Goods or any of its affiliates. Use it in accordance with dickssportinggoods.com's terms of service and applicable law. Data is provided for informational purposes only. ParseForge makes no warranties regarding the completeness or accuracy of scraped data.

# Actor input Schema

## `startUrls` (type: `array`):

Dick's Sporting Goods listing or product URLs. Filter pages (/f/slug) hold the product cards. Category hub URLs (/c/slug) only list sub-categories so they are auto-redirected to /f/all-{slug}. Product detail pages (/p/slug/sku) are scraped one record at a time.

## `categories` (type: `array`):

Optional. Pick one or more category slugs and the scraper will visit https://www.dickssportinggoods.com/c/{slug}. Use Start URLs for direct links or for filter pages.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000.

## `sortBy` (type: `string`):

Sort order applied to category and listing pages.

## `proxyConfiguration` (type: `object`):

Proxy settings. Apify residential US is strongly recommended; the site geo-blocks non-US IPs and requires residential to clear bot protection.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.dickssportinggoods.com/f/all-mens-footwear",
    "https://www.dickssportinggoods.com/f/casual-sneakers-for-men"
  ],
  "maxItems": 10,
  "sortBy": "relevance",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://www.dickssportinggoods.com/f/all-mens-footwear",
        "https://www.dickssportinggoods.com/f/casual-sneakers-for-men"
    ],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/dicks-sporting-goods-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [
        "https://www.dickssportinggoods.com/f/all-mens-footwear",
        "https://www.dickssportinggoods.com/f/casual-sneakers-for-men",
    ],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/dicks-sporting-goods-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://www.dickssportinggoods.com/f/all-mens-footwear",
    "https://www.dickssportinggoods.com/f/casual-sneakers-for-men"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call parseforge/dicks-sporting-goods-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/dicks-sporting-goods-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Dick's Sporting Goods Product Scraper",
        "description": "Scrape Dick's Sporting Goods product listings: title, brand, price, original price, discount, rating, review count, image, color options, sport, gender, and stock status. Search any category, filter, or product URL. Built for affiliate marketers, price-comparison tools, and sporting goods resellers.",
        "version": "0.1",
        "x-build-id": "F3B1yfBftgQUcrbSr"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~dicks-sporting-goods-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-dicks-sporting-goods-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~dicks-sporting-goods-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-dicks-sporting-goods-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~dicks-sporting-goods-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-dicks-sporting-goods-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Dick's Sporting Goods listing or product URLs. Filter pages (/f/slug) hold the product cards. Category hub URLs (/c/slug) only list sub-categories so they are auto-redirected to /f/all-{slug}. Product detail pages (/p/slug/sku) are scraped one record at a time.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "categories": {
                        "title": "Categories",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Optional. Pick one or more category slugs and the scraper will visit https://www.dickssportinggoods.com/c/{slug}. Use Start URLs for direct links or for filter pages.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "all-accessories",
                                "apparel-footwear-accessories",
                                "athlete-recovery",
                                "baseball-equipment-gear",
                                "baseball-softball-apparel",
                                "basketball-accessories",
                                "basketball-gear",
                                "bike-accessories",
                                "bike-gear",
                                "bike-parts-tools",
                                "bikes-cycling",
                                "boys-apparel",
                                "buy-one-get-one-deals",
                                "camp-accessories",
                                "camping-cooking-equipment",
                                "camping-hiking-gear",
                                "cardio-machines-equipment",
                                "carmelo-anthony-footwear-apparel-jerseys",
                                "clearance-fishing-apparel",
                                "clearance-football",
                                "clearance-footwear-shop-by-sport",
                                "clearance-golf",
                                "clearance-hockey",
                                "clearance-lacrosse",
                                "clearance-outdoor-travel",
                                "clearance-shop-by-sport",
                                "clearance-water-sports",
                                "clearance-workwear",
                                "custom-golf-shop",
                                "cycling-apparel-gear",
                                "dicks-exclusive-brands",
                                "dsg-equipment-room",
                                "electronics",
                                "exercise-equipment",
                                "fan-shop",
                                "field-hockey",
                                "fishing-accessories",
                                "fishing-bait-lures",
                                "fishing-clothes",
                                "fishing-gear",
                                "fly-fishing-gear-accessories",
                                "football-equipment-gear",
                                "football-player-accessories",
                                "footwear",
                                "footwear-accessories",
                                "footwear-by-sport",
                                "girls-apparel",
                                "golf-accessories",
                                "golf-equipment",
                                "health-wellness",
                                "hockey-gear-equipment",
                                "ice-fishing-gear",
                                "international-soccer",
                                "kids-clearance-all",
                                "lacrosse",
                                "lacrosse-player-accessories",
                                "licensed-golf-accessories",
                                "mens-clearance-all",
                                "mens-footwear",
                                "mens-workout-clothes",
                                "mlb-fan-shop",
                                "mls-apparel-accessories",
                                "nba-fan-shop",
                                "ncaa-fan-shop",
                                "ncaa-view-all-schools",
                                "nfl-fan-shop",
                                "nhl-fan-shop",
                                "nwsl-apparel-accessories",
                                "outdoor-living-patio",
                                "outdoor-travel-gear",
                                "racquet-sports",
                                "rugby-apparel-gear",
                                "running-accessories",
                                "shop-by-league",
                                "shop-by-mlb-team",
                                "shop-by-sport",
                                "shop-clearance-apparel",
                                "shop-clearance-footwear",
                                "shop-clearance-sports-equipment",
                                "sideline-essentials-shop",
                                "skates-scooters-skateboards",
                                "soccer-apparel",
                                "soccer-gear-equipment",
                                "soccer-national-teams",
                                "softball-apparel-uniforms",
                                "softball-gear-equipment",
                                "special-events-fan-shop",
                                "sport-accessories",
                                "swim-gear",
                                "swimming-accessories",
                                "tailgating-shop",
                                "tennis-gear-equipment",
                                "tennis-racquet-accessories",
                                "terminal-tackle-fishing-gear",
                                "this-weeks-deals",
                                "toning-fitness-accessories",
                                "ufl-fan-shop",
                                "volleyball-gear",
                                "water-sports-equipment",
                                "weight-lifting-equipment",
                                "winter-sports-gear-equipment",
                                "wnba-fan-shop",
                                "womens-clearance-all",
                                "womens-footwear",
                                "womens-plus-size-clothes",
                                "womens-workout-clothes",
                                "workout-clothes",
                                "wrestling-gear",
                                "youth-footwear"
                            ],
                            "enumTitles": [
                                "All Accessories",
                                "Apparel Footwear Accessories",
                                "Athlete Recovery",
                                "Baseball Equipment Gear",
                                "Baseball Softball Apparel",
                                "Basketball Accessories",
                                "Basketball Gear",
                                "Bike Accessories",
                                "Bike Gear",
                                "Bike Parts Tools",
                                "Bikes Cycling",
                                "Boys Apparel",
                                "Buy One Get One Deals",
                                "Camp Accessories",
                                "Camping Cooking Equipment",
                                "Camping Hiking Gear",
                                "Cardio Machines Equipment",
                                "Carmelo Anthony Footwear Apparel Jerseys",
                                "Clearance Fishing Apparel",
                                "Clearance Football",
                                "Clearance Footwear Shop By Sport",
                                "Clearance Golf",
                                "Clearance Hockey",
                                "Clearance Lacrosse",
                                "Clearance Outdoor Travel",
                                "Clearance Shop By Sport",
                                "Clearance Water Sports",
                                "Clearance Workwear",
                                "Custom Golf Shop",
                                "Cycling Apparel Gear",
                                "Dick's Exclusive Brands",
                                "DSG Equipment Room",
                                "Electronics",
                                "Exercise Equipment",
                                "Fan Shop",
                                "Field Hockey",
                                "Fishing Accessories",
                                "Fishing Bait Lures",
                                "Fishing Clothes",
                                "Fishing Gear",
                                "Fly Fishing Gear Accessories",
                                "Football Equipment Gear",
                                "Football Player Accessories",
                                "Footwear",
                                "Footwear Accessories",
                                "Footwear By Sport",
                                "Girls Apparel",
                                "Golf Accessories",
                                "Golf Equipment",
                                "Health Wellness",
                                "Hockey Gear Equipment",
                                "Ice Fishing Gear",
                                "International Soccer",
                                "Kids Clearance All",
                                "Lacrosse",
                                "Lacrosse Player Accessories",
                                "Licensed Golf Accessories",
                                "Mens Clearance All",
                                "Mens Footwear",
                                "Mens Workout Clothes",
                                "MLB Fan Shop",
                                "MLS Apparel Accessories",
                                "NBA Fan Shop",
                                "NCAA Fan Shop",
                                "NCAA View All Schools",
                                "NFL Fan Shop",
                                "NHL Fan Shop",
                                "NWSL Apparel Accessories",
                                "Outdoor Living Patio",
                                "Outdoor Travel Gear",
                                "Racquet Sports",
                                "Rugby Apparel Gear",
                                "Running Accessories",
                                "Shop By League",
                                "Shop By MLB Team",
                                "Shop By Sport",
                                "Shop Clearance Apparel",
                                "Shop Clearance Footwear",
                                "Shop Clearance Sports Equipment",
                                "Sideline Essentials Shop",
                                "Skates Scooters Skateboards",
                                "Soccer Apparel",
                                "Soccer Gear Equipment",
                                "Soccer National Teams",
                                "Softball Apparel Uniforms",
                                "Softball Gear Equipment",
                                "Special Events Fan Shop",
                                "Sport Accessories",
                                "Swim Gear",
                                "Swimming Accessories",
                                "Tailgating Shop",
                                "Tennis Gear Equipment",
                                "Tennis Racquet Accessories",
                                "Terminal Tackle Fishing Gear",
                                "This Weeks Deals",
                                "Toning Fitness Accessories",
                                "UFL Fan Shop",
                                "Volleyball Gear",
                                "Water Sports Equipment",
                                "Weight Lifting Equipment",
                                "Winter Sports Gear Equipment",
                                "WNBA Fan Shop",
                                "Womens Clearance All",
                                "Womens Footwear",
                                "Womens Plus Size Clothes",
                                "Womens Workout Clothes",
                                "Workout Clothes",
                                "Wrestling Gear",
                                "Youth Footwear"
                            ]
                        }
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000."
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "relevance",
                            "best_sellers",
                            "price_lowest",
                            "price_highest",
                            "top_rated",
                            "newest"
                        ],
                        "type": "string",
                        "description": "Sort order applied to category and listing pages.",
                        "default": "relevance"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Apify residential US is strongly recommended; the site geo-blocks non-US IPs and requires residential to clear bot protection.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
