# Intersport Scraper — German Sporting Goods & Prices (`studio-amba/intersport-scraper`) Actor

Scrape sporting goods from Intersport.de — running shoes, outdoor gear, team sports equipment, and fitness apparel from Germany's Intersport chain.

- **URL**: https://apify.com/studio-amba/intersport-scraper.md
- **Developed by:** [Studio Amba](https://apify.com/studio-amba) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 result scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Intersport Scraper -- European Sports Products, Prices & Availability

Scrape products, prices, ratings, and availability from Intersport.de -- part of Europe's largest sporting goods retail group. Running shoes, football boots, ski gear, fitness equipment, and outdoor apparel from Nike, Adidas, Puma, Salomon, and hundreds of other brands.

### What is Intersport Scraper?

Intersport is a global sporting goods retail cooperative with over 5,500 stores across 57 countries. Their German online store (intersport.de) carries a massive assortment of sports equipment, footwear, and apparel spanning every major sport. This scraper extracts that catalog into structured JSON.

Practical applications:

- **Sports retail price monitoring** -- Track pricing on running shoes, football boots, or ski equipment across major brands. Detect promotions before your competitors do.
- **Brand & distributor intelligence** -- Monitor how Nike, Adidas, Puma, or your brand is represented at Europe's biggest sports retailer. Track pricing compliance, catalog depth, and promotional placement.
- **Product comparison platforms** -- Feed structured product data from Intersport into sports gear comparison sites, review platforms, or recommendation engines.
- **Seasonal inventory tracking** -- Sports retail is seasonal. Track when ski gear arrives, when summer collections drop, and when end-of-season clearances begin.
- **Fitness & sports market research** -- Analyze the sporting goods market by category, brand, price segment, and rating. Understand what's popular, what's new, and what's on markdown.

### What data does Intersport Scraper extract?

- 👟 **Product name** -- full product title
- 🏷️ **Brand** -- Nike, Adidas, Puma, Salomon, ASICS, etc.
- 💰 **Price** and currency (EUR)
- 🔢 **EAN barcode** and SKU
- 📦 **Product ID**
- ✅ **Stock availability**
- ⭐ **Customer rating** -- normalized to 5-star scale
- 💬 **Review count**
- 🖼️ **Product images** -- primary and gallery
- 📝 **Description** -- product details
- 📂 **Category** -- product classification
- 🌐 **Language** -- German (de)

### How to scrape Intersport

Three input modes: search, category browsing, or sitemap discovery.

#### Search by keyword

```json
{
    "searchQuery": "laufschuhe",
    "maxResults": 100
}
````

Searches work in German. Popular search terms: "laufschuhe" (running shoes), "fussball" (football), "wanderjacke" (hiking jacket), "nike", "adidas", "fitness".

#### Browse a category

```json
{
    "categoryUrl": "https://www.intersport.de/schuhe/laufschuhe/",
    "maxResults": 200
}
```

Category URLs follow the structure `https://www.intersport.de/{category}/{subcategory}/`.

#### Full catalog via sitemap

Leave search and category empty to discover products from Intersport's product sitemap:

```json
{
    "maxResults": 500
}
```

The sitemap contains thousands of product URLs. The scraper fetches the compressed sitemap, extracts URLs, and visits product pages for full data.

### Output

A typical sports product from Intersport:

```json
{
    "name": "Nike Air Zoom Pegasus 41 Herren Laufschuh",
    "brand": "Nike",
    "price": 129.99,
    "currency": "EUR",
    "url": "https://www.intersport.de/schuhe/laufschuhe/nike-air-zoom-pegasus-41-herren-laufschuh-283456/",
    "scrapedAt": "2025-04-03T10:00:00.000Z",
    "ean": "4067888723401",
    "sku": "DV0734-002",
    "inStock": true,
    "rating": 4.5,
    "reviewCount": 89,
    "imageUrl": "https://www.intersport.de/media/nike-pegasus-41-main.jpg",
    "imageUrls": [
        "https://www.intersport.de/media/nike-pegasus-41-main.jpg",
        "https://www.intersport.de/media/nike-pegasus-41-side.jpg"
    ],
    "description": "Der Nike Air Zoom Pegasus 41 bietet reaktionsfreudige Dampfung fur dein tagliches Training. Die Zoom Air-Einheiten in Ferse und Vorfuss sorgen fur federleichten Komfort bei jedem Schritt.",
    "category": "Laufschuhe",
    "language": "de"
}
```

### How much does it cost?

| Scenario | Estimated cost |
|----------|---------------|
| 100 products (search) | ~$0.03 |
| 500 products (category) | ~$0.12 |
| 2,000 products (sitemap) | ~$0.40 |
| Large catalog scrape | ~$1.00+ |

The scraper uses CheerioCrawler with session pooling and cookie persistence for reliable access. No browser is needed.

### Can I integrate?

Connect Intersport data to your systems:

- **Google Sheets** -- maintain a live sports gear price tracker
- **Webhooks** -- trigger when products drop in price
- **Zapier / Make** -- automate sports retail monitoring
- **Slack** -- alerts for deals on running shoes, football gear, or ski equipment
- **Amazon S3 / Google Cloud Storage** -- archive seasonal pricing data
- **Databases** -- feed into your sports comparison platform

### Can I use it as an API?

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("studio-amba/intersport-scraper").call(run_input={
    "searchQuery": "nike laufschuhe",
    "maxResults": 25,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    rating = f" ({item['rating']}/5)" if item.get('rating') else ""
    print(f"{item['brand']} - {item['name']} -- EUR {item['price']}{rating}")
```

#### JavaScript

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

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('studio-amba/intersport-scraper').call({
    searchQuery: 'nike laufschuhe',
    maxResults: 25,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(`${item.brand} - ${item.name} -- EUR ${item.price}`));
```

### FAQ

**Does this scrape Intersport Germany only?**
Yes, this scraper targets intersport.de. Intersport operates separate national websites for other countries (France, Austria, etc.) which are not covered.

**Can I search by brand?**
Yes. Use the brand name as your search query, e.g., `"searchQuery": "adidas"` or `"searchQuery": "salomon"`.

**What sports categories are available?**
Intersport covers running, football, basketball, tennis, swimming, cycling, fitness, outdoor, hiking, skiing, snowboarding, and more. Browse intersport.de to find specific category URLs.

**How does the sitemap mode work?**
When no search or category is provided, the scraper downloads Intersport's compressed product sitemap (XML.gz), extracts product URLs, and visits each page for full product data. This is slower but discovers products across all categories.

**Are product variants (sizes, colors) included?**
The scraper returns the primary product listing. Variant-level data (specific sizes in stock) is partially available through the JSON-LD structured data.

**Is the data in German?**
Yes. Product names, descriptions, and categories are in German, matching the intersport.de storefront.

### Limitations

- The scraper targets intersport.de (Germany). Other national Intersport sites are not supported.
- Intersport uses Akamai bot protection. The scraper handles this with TLS fingerprinting and session pooling, but aggressive scraping patterns may still trigger rate limiting.
- Product data quality depends on JSON-LD availability. Some pages may fall back to HTML extraction with fewer fields.
- The sitemap mode downloads a compressed XML file, which may time out on slow connections. Use proxy for better reliability.
- Ratings use a variable best-rating scale in the JSON-LD. The scraper normalizes ratings to a 5-star scale.

### Other retail and fashion scrapers

Cover more of the European sports and retail market:

- [AS Adventure Scraper](https://apify.com/studio-amba/asadventure-scraper) -- Belgium's largest outdoor retailer
- [Bergfreunde Scraper](https://apify.com/studio-amba/bergfreunde-scraper) -- German climbing and hiking specialist
- [Helly Hansen Scraper](https://apify.com/studio-amba/hellyhansen-scraper) -- Norwegian outdoor and sailing apparel
- [Action Scraper](https://apify.com/studio-amba/action-scraper) -- Pan-European discount retailer
- [Kruidvat Scraper](https://apify.com/studio-amba/kruidvat-scraper) -- Belgian drugstore and beauty
- [ICI PARIS XL Scraper](https://apify.com/studio-amba/iciparisxl-scraper) -- Belgian beauty and perfume
- [Rituals Scraper](https://apify.com/studio-amba/rituals-scraper) -- Premium cosmetics and home fragrance
- [Mytheresa Scraper](https://apify.com/studio-amba/mytheresa-scraper) -- Luxury designer fashion

### Your feedback

Found a problem or need an enhancement? Let us know through the Apify Store. We maintain this scraper and fix issues promptly.

# Actor input Schema

## `searchQuery` (type: `string`):

Search for products by keyword (e.g., 'laufschuhe', 'nike', 'wanderjacke').

## `categoryUrl` (type: `string`):

An Intersport.de category page URL to scrape. Example: https://www.intersport.de/schuhe/laufschuhe/

## `maxResults` (type: `integer`):

Maximum number of products to return.

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

Proxy settings. Recommended for Intersport.de to avoid rate limiting.

## Actor input object example

```json
{
  "searchQuery": "laufschuhe",
  "maxResults": 100
}
```

# 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 = {
    "searchQuery": "laufschuhe"
};

// Run the Actor and wait for it to finish
const run = await client.actor("studio-amba/intersport-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 = { "searchQuery": "laufschuhe" }

# Run the Actor and wait for it to finish
run = client.actor("studio-amba/intersport-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 '{
  "searchQuery": "laufschuhe"
}' |
apify call studio-amba/intersport-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Intersport Scraper — German Sporting Goods & Prices",
        "description": "Scrape sporting goods from Intersport.de — running shoes, outdoor gear, team sports equipment, and fitness apparel from Germany's Intersport chain.",
        "version": "0.1",
        "x-build-id": "0r8afBbmfRg6rHGOd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/studio-amba~intersport-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-studio-amba-intersport-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/studio-amba~intersport-scraper/runs": {
            "post": {
                "operationId": "runs-sync-studio-amba-intersport-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/studio-amba~intersport-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-studio-amba-intersport-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": {
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Search for products by keyword (e.g., 'laufschuhe', 'nike', 'wanderjacke')."
                    },
                    "categoryUrl": {
                        "title": "Category URL",
                        "type": "string",
                        "description": "An Intersport.de category page URL to scrape. Example: https://www.intersport.de/schuhe/laufschuhe/"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of products to return.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Recommended for Intersport.de to avoid rate limiting."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
