# Kaufland seller scraper for public marketplace seller leads (`getascraper/kaufland-sellers-scraper`) Actor

Scrape public Kaufland sellers across seven European storefronts. Get legal names, VAT, phones, emails, full imprints, product IDs, offer prices, ratings, provenance, and change monitoring in Apify datasets, JSON, CSV, and scheduled workflows, without seller logins or browser automation.

- **URL**: https://apify.com/getascraper/kaufland-sellers-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.80 / 1,000 seller records

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🔎 Kaufland seller scraper for public marketplace seller leads

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#EAF2F8;border:1px solid #B8CFE0;border-top:4px solid #16324F;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#16324F;line-height:1.3">Seven European storefronts. One run. A clean seller lead list.</span><br>
<span style="font-size:15px;color:#345;line-height:1.6">Enter a keyword or a public Kaufland URL, choose your storefronts, and export legal names, VAT numbers, contacts, offer prices, and product IDs ready for your workflow.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#EAF2F8;border:1px solid #B8CFE0;border-radius:10px 0 0 10px;vertical-align:top">
<strong style="color:#16324F;font-size:15px">🌍 Seven storefronts</strong><br>
<span style="color:#345;font-size:12px">Cover Germany, Austria, Czechia, Slovakia, Poland, France, and Italy in one run.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#F4F8FB;border:1px solid #B8CFE0;border-left:none;vertical-align:top">
<strong style="color:#16324F;font-size:15px">📋 Full public profiles</strong><br>
<span style="color:#345;font-size:12px">Legal name, VAT, address, phone, email, tenure, and published policies from the public imprint.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#EAF2F8;border:1px solid #B8CFE0;border-left:none;vertical-align:top">
<strong style="color:#16324F;font-size:15px">💶 Offer intelligence</strong><br>
<span style="color:#345;font-size:12px">Prices, ranks, availability, product IDs, brand, and GTIN for each seller's retained offers.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#F4F8FB;border:1px solid #B8CFE0;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<strong style="color:#16324F;font-size:15px">🔄 Change monitoring</strong><br>
<span style="color:#345;font-size:12px">Schedule the same scope and receive only new or updated seller records each run.</span>
</td>
</tr>
</table>

### 🧭 What does this Actor do?

This Actor collects information that Kaufland makes publicly available on its marketplace. It returns one deduplicated row per seller with the evidence behind that seller match.

Use it to:

- discover sellers offering a product or brand across seven European storefronts;
- build a public marketplace seller list with legal names, contacts, and VAT numbers;
- compare seller offer prices, ranks, availability, and product metadata;
- monitor public seller changes with scheduled change-tracking runs.

The Actor does not require a Kaufland account. It does not visit seller-owned websites or collect private fields.

### 👥 Who is it for?

- **I am a marketplace researcher.** I need to map every seller behind a product category across Kaufland's European storefronts so that I can size the seller landscape without manual browsing.
- **I run a sourcing team.** I need verified business names, VAT numbers, and contact details for sellers already visible on Kaufland so that I can reach the right people directly.
- **I am an e-commerce analyst.** I need current offer prices, product IDs, and seller ranks for the same product across multiple storefronts so that I can feed my pricing comparison models.
- **I manage scheduled data workflows.** I need only new and changed seller records after each run so that my pipeline stays lean and my client receives meaningful alerts, not re-sends.

### ⚡ How it works

<table width="100%">
<tr>
<td style="padding:14px 12px;width:33%;background:#EAF2F8;border:1px solid #B8CFE0;border-radius:10px 0 0 10px;vertical-align:top">
<strong style="color:#16324F;font-size:15px">1. Choose a source</strong><br>
<span style="color:#345;font-size:12px">Enter a keyword and pick storefronts, or paste a public Kaufland URL. Both work together in one run.</span>
</td>
<td style="padding:14px 12px;width:33%;background:#F4F8FB;border:1px solid #B8CFE0;border-left:none;vertical-align:top">
<strong style="color:#16324F;font-size:15px">2. Collect seller records</strong><br>
<span style="color:#345;font-size:12px">The Actor reads public seller details, retained offer context, and product metadata for each match.</span>
</td>
<td style="padding:14px 12px;width:33%;background:#EAF2F8;border:1px solid #B8CFE0;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<strong style="color:#16324F;font-size:15px">3. Use the dataset</strong><br>
<span style="color:#345;font-size:12px">Open the Sellers, Offers, or Changes view and export to JSON, CSV, Excel, or your workflow.</span>
</td>
</tr>
</table>

### 📝 Input

All fields are optional. The default run searches for `cosrx` on the German storefront and returns up to 10 enriched sellers.

| Field                    | Type                 | Required | Description                                                                                                                |
| ------------------------ | -------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `startUrls`              | array of URLs        | No       | Public Kaufland search, product, shop, or seller imprint URLs. Direct URLs take precedence in automatic mode.              |
| `searchQueries`          | array of strings     | No       | Product or brand terms used for storefront searches.                                                                       |
| `countries`              | array of enum values | No       | Storefronts: `de`, `at`, `cz`, `sk`, `pl`, `fr`, or `it`.                                                                 |
| `sourceMode`             | enum                 | No       | Use `auto`, `urlsOnly`, or `queriesOnly`.                                                                                  |
| `sellerType`             | enum                 | No       | Return `all` sellers or only sellers with a public imprint.                                                                |
| `includeOfferContext`    | boolean              | No       | Include retained offers and product metadata such as prices, ranks, availability, brand, identifiers, ratings, and images. |
| `includePublicImprint`   | boolean              | No       | Read published legal, contact, country, and seller-tenure fields from public seller information.                           |
| `includeFullImprintText` | boolean              | No       | Include the complete published imprint and legal policy text when available.                                               |
| `runMode`                | enum                 | No       | `snapshot` returns all matches. `changes` returns new and updated sellers.                                                 |
| `monitorScope`           | string               | No       | Namespaces change history for separate brands, regions, or schedules.                                                      |
| `maxSellers`             | integer              | No       | Global seller limit, from 1 to 250.                                                                                        |
| `maxProductsPerSource`   | integer              | No       | Product limit for each search or direct source, from 1 to 25.                                                              |
| `maxOffersPerProduct`    | integer              | No       | Offer limit for each product, from 1 to 100.                                                                               |
| `maxPagesPerSource`      | integer              | No       | Page limit for each search or shop source, from 1 to 25.                                                                   |
| `requestDelayMs`         | integer              | No       | Pause between requests, from 500 to 5000 milliseconds.                                                                     |
| `proxyConfiguration`     | object               | No       | Connection settings for accessing Kaufland marketplace pages.                                                              |

#### Example: keyword discovery

```json
{
    "searchQueries": ["cosrx", "cerave"],
    "countries": ["de", "at"],
    "maxSellers": 50
}
```

#### Example: direct public page

```json
{
    "startUrls": [{ "url": "https://www.kaufland.de/product/48748000/" }],
    "includeOfferContext": true,
    "includePublicImprint": true,
    "maxSellers": 25
}
```

#### Example: scheduled change monitoring

```json
{
    "searchQueries": ["cosrx"],
    "countries": ["de"],
    "runMode": "changes",
    "monitorScope": "cosrx-de",
    "includePublicImprint": true,
    "maxSellers": 50
}
```

### 📊 Data table

The dataset contains exactly three views: Sellers, Offers, and Changes. Location fields stay in the Sellers view, so there is no separate locations view.

| Field                | Type    | Description                                                      |
| -------------------- | ------- | ---------------------------------------------------------------- |
| `sellerId`           | string  | Public Kaufland seller identifier.                               |
| `sellerName`         | string  | Public seller display name.                                      |
| `businessName`       | string  | Business name visible in the public imprint.                     |
| `marketplace`        | string  | Storefront identifier such as `kaufland.de`.                     |
| `addressCountryCode` | string  | Public seller country code.                                      |
| `businessAddress`    | string  | First public business address line.                              |
| `addressLines`       | string  | Combined public address lines.                                   |
| `postalCode`         | string  | Public postal code.                                              |
| `city`               | string  | Public city.                                                     |
| `vatNumber`          | string  | Public VAT identifier.                                           |
| `registrationNumber` | string  | Public registration identifier.                                  |
| `hasPublicImprint`   | boolean | Whether a public imprint was returned.                           |
| `isDirectSeller`     | boolean | Whether Kaufland identifies the seller as direct.                |
| `isBusinessSeller`   | boolean | Business indicator when Kaufland publishes it.                   |
| `sellerSince`        | string  | Public seller tenure value when Kaufland publishes it.           |
| `sellerCountry`      | string  | Public seller country label.                                     |
| `phoneNumber`        | string  | Public phone number.                                             |
| `email`              | string  | Public email address.                                            |
| `sellerUrl`          | string  | Public seller page.                                              |
| `storefrontUrl`      | string  | Public shop page.                                                |
| `sourceType`         | string  | Discovery source: search, product, shop, or imprint.             |
| `sourceQuery`        | string  | Search term that discovered the seller.                          |
| `sourceQueries`      | string  | All search terms that surfaced the seller in this run.           |
| `sourceProductIds`   | string  | Product IDs where the seller was found.                          |
| `sourceUrls`         | string  | All public source pages that surfaced the seller.                |
| `sourceProductCount` | number  | Number of distinct source products for the seller.               |
| `sourceUrl`          | string  | Source page used for discovery.                                  |
| `scrapedAt`          | string  | Collection timestamp.                                            |
| `offerCount`         | number  | Number of visible offers retained when offer context is enabled. |
| `offerProductIds`    | string  | Product IDs represented in offer context.                        |
| `offerPrices`        | string  | Visible prices and currencies for retained offers.               |
| `offerRanks`         | string  | Visible offer positions for retained offers.                     |
| `offerCurrencies`    | string  | Currencies represented by retained offers.                       |
| `fulfillmentTypes`   | string  | Published fulfillment types represented by retained offers.      |
| `offersJson`         | string  | JSON containing all retained offer contexts for this seller.     |
| `lowestOfferPrice`   | number  | Lowest retained offer price.                                     |
| `highestOfferPrice`  | number  | Highest retained offer price.                                    |
| `offerPriceSpread`   | number  | Difference between the highest and lowest retained prices.       |
| `productId`          | string  | First retained product ID.                                       |
| `productTitle`       | string  | First retained product title.                                    |
| `productUrl`         | string  | First retained product page.                                     |
| `brand`              | string  | Product brand when published.                                    |
| `category`           | string  | Product category when published.                                 |
| `gtin`               | string  | Product GTIN when published.                                     |
| `sku`                | string  | Product SKU or manufacturer number when published.               |
| `imageUrl`           | string  | Product image URL when published.                                |
| `ratingValue`        | number  | Product rating value when published.                             |
| `reviewCount`        | number  | Product review count when published.                             |
| `listedPrice`        | number  | Product page listed price when published.                        |
| `listedCurrency`     | string  | Currency for the product page listed price.                      |
| `listedAvailability` | string  | Product page availability value when published.                  |
| `offerPrice`         | number  | First retained offer price.                                      |
| `currency`           | string  | First retained offer currency.                                   |
| `offerRank`          | number  | First retained offer position.                                   |
| `availability`       | string  | First retained delivery or availability text.                    |
| `dataProtection`     | string  | Public data-protection text when published.                      |
| `returnConditions`   | string  | Public return conditions when published.                         |
| `termsConditions`    | string  | Public terms and conditions when published.                      |
| `imprint`            | string  | Full public imprint when requested.                              |
| `changeType`         | string  | `new` or `updated` in changes mode.                              |
| `changedFields`      | string  | Public fields that changed.                                      |
| `firstSeenAt`        | string  | First observation in the selected monitor scope.                 |
| `lastSeenAt`         | string  | Most recent observation in the selected monitor scope.           |

#### Dataset views

| View       | Best for                              | Main fields                                                                  |
| ---------- | ------------------------------------- | ---------------------------------------------------------------------------- |
| 🔎 Sellers | Seller discovery and contact research | Seller identity, legal details, contacts, tenure, shop, and source           |
| 🛒 Offers  | Product and offer context             | Seller, product metadata, every retained offer, price statistics, and source |
| 🔄 Changes | Scheduled monitoring                  | Change type, changed fields, timestamps, seller, and source                  |

### 💰 Pricing

Pricing is pay per event. One billable event equals one seller record successfully delivered to the dataset. Runs that return no sellers create no event charges. There are no subscriptions. Check the Store page for current rates.

### ⭐ Enjoying Kaufland seller scraper?

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:20px 24px 14px;background:#EAF2F8;border:1px solid #B8CFE0;border-left:5px solid #16324F;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#16324F">One run just built a European seller lead list you could not put together manually in a day.</span><br>
<span style="font-size:14px;color:#345">A 5-star rating takes 10 seconds and helps other marketplace researchers and sourcing teams find this Actor. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#16324F;border:1px solid #B8CFE0;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/kaufland-sellers-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### 💡 Tips

- **Separate your monitoring scopes.** Set a distinct `monitorScope` per brand or region when running `changes` mode. This keeps each tracking history independent so a new brand does not reset the history for an existing one.
- **Filter to verified sellers.** Set `sellerType` to `publicImprint` when your workflow needs a legal name or VAT number. The run skips sellers for which Kaufland has not published a complete business record.
- **Reduce offer depth for price presence checks.** Lower `maxOffersPerProduct` to 1 or 2 when you only need to know whether a seller has an offer on a product, not a full per-seller price comparison. This keeps runs faster.
- **Combine sources in one run.** Add direct product URLs to `startUrls` for known products and keywords to `searchQueries` for discovery. Set `sourceMode` to `auto` and both are collected in a single run.

### ❓ FAQ

#### Can I scrape a specific Kaufland product?

Yes. Add its public product URL to `startUrls`. The Actor reads the visible sellers associated with that product.

#### Can I collect seller emails and phone numbers?

Yes. The default run reads them when Kaufland publishes them in the seller's public imprint. Set `includePublicImprint` to `false` only when you want a smaller export.

#### Does it return more than contact fields?

Yes. Each enriched seller can include seller tenure, public policy text, retained offer details, price ranges, product identifiers, ratings, availability, and product images when Kaufland publishes them.

#### Does the Actor visit seller websites?

No. It stays on public Kaufland marketplace pages and does not enrich records from external websites.

#### How do I monitor seller changes?

Set `runMode` to `changes`, reuse the same `monitorScope`, and schedule recurring runs. The Changes view receives only new or updated records.

### 🛡️ Limits and data boundaries

Some seller pages are temporarily unavailable during a run. When that happens, the Actor records the affected source and keeps every seller already collected. All discovery is bounded by the seller, product, offer, and page limits you set. Missing fields are omitted rather than filled with guesses.

Use the output for lawful research and business workflows. Respect Kaufland's terms, applicable privacy rules, and any contact restrictions relevant to your use case.

### 🔗 Other actors

- [🛍️ Mercari Seller Scraper: Shop Listings, Ratings & Item History](https://apify.com/getascraper/mercari-seller-scraper) ↗ - Collect seller listings and marketplace history from Mercari.
- [🕵️ RU Marketplace Seller Intel: Wildberries, Авито (Avito) and Яндекс Маркет (Yandex Market)](https://apify.com/getascraper/ru-marketplace-seller-intel) ↗ - Discover seller intelligence across major Russian marketplaces.
- [🛍️ Skroutz seller offers: Greek price monitor and Σκρουτζ changes](https://apify.com/getascraper/skroutz-seller-intelligence-scraper) ↗ - Track seller prices and offer changes on Skroutz.
- [👤 Avito Seller Profile Scraper: Профили продавцов Авито](https://apify.com/getascraper/avito-seller-profile-scraper) ↗ - Collect public seller profile information from Avito.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/kaufland-sellers-scraper/changelog.md

# Actor input Schema

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

Paste public Kaufland search, product, shop, or seller imprint URLs. These take precedence over keyword discovery unless Source mode is set to queries only.

## `searchQueries` (type: `array`):

Search brand or product terms on each selected Kaufland storefront.

## `countries` (type: `array`):

Select storefronts for keyword searches. A direct URL always determines its own storefront.

## `sourceMode` (type: `string`):

Choose whether to use direct URLs, keyword searches, or both when both input types are present.

## `sellerType` (type: `string`):

Keep all discovered sellers, or only sellers for which Kaufland returns a public imprint record.

## `includeOfferContext` (type: `boolean`):

Include retained offers and product intelligence for each seller, including visible prices, ranks, availability, brand, identifiers, ratings, and image URLs when published.

## `includePublicImprint` (type: `boolean`):

Read the public seller information Kaufland publishes, including legal name, address, VAT, phone, email, country, and seller tenure.

## `includeFullImprintText` (type: `boolean`):

Keep the complete public imprint and published legal policy text when available, so you can audit the extracted fields.

## `runMode` (type: `string`):

Return every matching seller in snapshot mode, or only new and changed sellers in changes mode.

## `monitorScope` (type: `string`):

A readable name that keeps monitoring state separate between brands, regions, or scheduled jobs.

## `maxSellers` (type: `integer`):

Global maximum number of unique seller rows across all URLs, queries, countries, and products.

## `maxProductsPerSource` (type: `integer`):

Maximum product pages considered from each search or direct source before offers are read.

## `maxOffersPerProduct` (type: `integer`):

Maximum public competing offers retained from each product response. Increase this when you need a complete seller comparison.

## `maxPagesPerSource` (type: `integer`):

Maximum search or shop pages followed from one source. Direct product and imprint pages use one page.

## `requestDelayMs` (type: `integer`):

Pause between source requests to reduce load and keep runs predictable.

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

The tested default uses Apify's UNBLOCKER group because direct Kaufland requests are protected by Cloudflare. Proxy availability depends on your Apify plan.

## Actor input object example

```json
{
  "startUrls": [],
  "searchQueries": [
    "cosrx"
  ],
  "countries": [
    "de"
  ],
  "sourceMode": "auto",
  "sellerType": "all",
  "includeOfferContext": true,
  "includePublicImprint": true,
  "includeFullImprintText": true,
  "runMode": "snapshot",
  "monitorScope": "kaufland-default",
  "maxSellers": 10,
  "maxProductsPerSource": 10,
  "maxOffersPerProduct": 25,
  "maxPagesPerSource": 10,
  "requestDelayMs": 1000,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "UNBLOCKER"
    ]
  }
}
```

# Actor output Schema

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

No description

## `runSummary` (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": [],
    "searchQueries": [
        "cosrx"
    ],
    "countries": [
        "de"
    ],
    "sourceMode": "auto",
    "sellerType": "all",
    "includeOfferContext": true,
    "includePublicImprint": true,
    "includeFullImprintText": true,
    "runMode": "snapshot",
    "monitorScope": "kaufland-default",
    "maxSellers": 10,
    "maxProductsPerSource": 10,
    "maxOffersPerProduct": 25,
    "maxPagesPerSource": 10,
    "requestDelayMs": 1000,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "UNBLOCKER"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/kaufland-sellers-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": [],
    "searchQueries": ["cosrx"],
    "countries": ["de"],
    "sourceMode": "auto",
    "sellerType": "all",
    "includeOfferContext": True,
    "includePublicImprint": True,
    "includeFullImprintText": True,
    "runMode": "snapshot",
    "monitorScope": "kaufland-default",
    "maxSellers": 10,
    "maxProductsPerSource": 10,
    "maxOffersPerProduct": 25,
    "maxPagesPerSource": 10,
    "requestDelayMs": 1000,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["UNBLOCKER"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/kaufland-sellers-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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": [],
  "searchQueries": [
    "cosrx"
  ],
  "countries": [
    "de"
  ],
  "sourceMode": "auto",
  "sellerType": "all",
  "includeOfferContext": true,
  "includePublicImprint": true,
  "includeFullImprintText": true,
  "runMode": "snapshot",
  "monitorScope": "kaufland-default",
  "maxSellers": 10,
  "maxProductsPerSource": 10,
  "maxOffersPerProduct": 25,
  "maxPagesPerSource": 10,
  "requestDelayMs": 1000,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "UNBLOCKER"
    ]
  }
}' |
apify call getascraper/kaufland-sellers-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/kaufland-sellers-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/XzKEnS5eXDn8tgC6t/builds/LX69CSv8ZBqCnuInh/openapi.json
