# Conforama Product Search Scraper (`stealth_mode/conforama-product-search-scraper`) Actor

Scrape product listings from Conforama.ch search results with complete details. This scraper captures product names, prices, promotions, stock status, ratings, and 18+ fields per item — perfect for price comparison, market research, and inventory tracking in Swiss furniture retail.

- **URL**: https://apify.com/stealth\_mode/conforama-product-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.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

## Conforama Product Search Scraper: Extract Furniture & Home Goods Data
---

### About Conforama.ch

Conforama is Switzerland's leading furniture and home goods retailer, offering thousands of products across entertainment systems, bedroom, kitchen, and living room categories. Manually tracking product availability, pricing, and promotions across the site is inefficient — the **Conforama Product Search Scraper** automates product data extraction, delivering clean, structured records from search result pages.

---

### Overview

The **Conforama Product Search Scraper** extracts detailed product information from Conforama.ch category and search pages, converting listings into machine-readable data. It is built for:

- **E-commerce analysts** monitoring competitor pricing and promotions
- **Price comparison platforms** aggregating Swiss furniture market data
- **Retailers** tracking stock availability and product positioning
- **Researchers** studying furniture market trends in Switzerland
- **Dropshippers and resellers** sourcing product information

Key features include configurable scraping limits, robust error handling via `ignore_url_failures`, and comprehensive product field extraction including pricing, ratings, and stock status.

---

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.conforama.ch/de/entertainment/c/entertainment"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

| Field | Description |
|---|---|
| `urls` | Direct links to Conforama category or search result pages. Supports `/de/`, `/fr/`, and `/it/` language variants. |
| `max_items_per_url` | Maximum products extracted per URL (e.g., `200`). Useful for limiting API usage or testing. |
| `ignore_url_failures` | If `true`, continues scraping even if some URLs fail. If `false`, stops on the first error. |

> **Tip:** Use category URLs (e.g., `/entertainment/c/entertainment`) rather than individual product pages for best results. You may scrape multiple categories by adding URLs to the array.

***

### Output Format

**Sample output**

```json
{
  "result_type": "product",
  "additional_fields": {
    "ec_shortdesc": null,
    "cf_product_banners": null,
    "click_uri": null,
    "urihash": "k1rAh6m2NFapeZñj",
    "cf_product_subname": "GPE6068 mehrfarbig",
    "cfc_code": "638095",
    "ec_rating": null,
    "ec_gender": null,
    "total_number_of_child_results": null,
    "ec_in_stock": null,
    "cf_product_flyers": [
      "nouveau"
    ],
    "ec_promo_price": 1.95,
    "cf_product_price_percentagediscount": -87.0,
    "cf_product_number_content_units": "1.0",
    "ec_product_id": null,
    "cf_product_price_baseprice": " 14.95",
    "ec_description": null,
    "permanentid": "638095",
    "ec_color": "Mehrfarbig",
    "ec_item_group_id": "638095",
    "cf_product_energy_image": null,
    "ec_images": "https://cdn.conforama.ch/medias/600000/30000/8000/000/90/Z_638095_A.webp",
    "cf_product_bazaarvoiceaveragerating": null,
    "cf_product_multiple_variations": "false",
    "cf_product_segm4": null,
    "cf_product_serie": null,
    "uri": "https://www.conforama.ch/de/poster-grupo-erik-gpe6068/product/638095",
    "cf_product_bazaarvoiceratingscount": null,
    "ec_brand": "GRUPO ERIK",
    "cf_product_availability": "Available",
    "clickableuri": "/poster-grupo-erik-gpe6068/product/638095",
    "availablestores": [
      "AAA",
      "660",
      "653",
      "659",
      "657",
      "655",
      "656",
      "654",
      "651",
      "663",
      "652",
      "658",
      "664",
      "668"
    ],
    "cf_product_energy_label": null,
    "ec_price": 1.95,
    "cf_product_second_image": "https://cdn.conforama.ch/medias/600000/30000/8000/000/90/Z_638095_B.webp",
    "cf_product_price_pricetype": "C",
    "ec_thumbnails": "https://cdn.conforama.ch/medias/600000/30000/8000/000/90/N_638095_A.webp",
    "ec_category": null,
    "cf_product_segm3": "BAZAR",
    "cf_product_type": "Poster",
    "cf_product_segm2": "46 - BAZAR",
    "cf_product_price_discountprice": " 1.95",
    "cf_product_energy_color": null,
    "ec_listing": null,
    "ec_name": "GRUPO ERIK Poster"
  },
  "query_pinned": false,
  "badge_placements": [],
  "ec_name": "GRUPO ERIK Poster",
  "ec_description": null,
  "ec_shortdesc": null,
  "ec_brand": "GRUPO ERIK",
  "ec_category": [],
  "ec_thumbnails": [
    "https://cdn.conforama.ch/medias/600000/30000/8000/000/90/N_638095_A.webp"
  ],
  "ec_images": [
    "https://cdn.conforama.ch/medias/600000/30000/8000/000/90/Z_638095_A.webp"
  ],
  "ec_price": 1.95,
  "ec_promo_price": 1.95,
  "ec_in_stock": null,
  "ec_item_group_id": "638095",
  "ec_rating": null,
  "ec_product_id": null,
  "ec_gender": null,
  "ec_color": "Mehrfarbig",
  "ec_listing": "",
  "click_uri": "https://www.conforama.ch/de/poster-grupo-erik-gpe6068/product/638095",
  "permanentid": "638095",
  "children": [],
  "total_number_of_children": 0,
  "from_url": "https://www.conforama.ch/de/entertainment/c/entertainment"
}
```

Each product record contains 18+ fields with comprehensive details:

#### Product Identification

| Field | Meaning |
|---|---|
| `EC Product ID` | Unique internal Conforama product identifier |
| `EC Name` | Official product name as displayed on the site |
| `EC Brand` | Manufacturer or brand name |
| `Permanent ID` | Stable product ID across site updates |

#### Classification & Categorization

| Field | Meaning |
|---|---|
| `EC Category` | Product category (e.g., Entertainment, Kitchen, Bedroom) |
| `Result Type` | Type of result (product, bundle, variant) |
| `EC Listing` | Whether the item is a standard listing |

#### Pricing & Promotions

| Field | Meaning |
|---|---|
| `EC Price` | Standard retail price in CHF |
| `EC Promo Price` | Discounted price if a promotion is active |
| `Badge Placements` | Promotion badges (e.g., "Sale", "New", "Hot Deal") — useful for identifying special offers |

#### Availability & Stock

| Field | Meaning |
|---|---|
| `EC In Stock` | Boolean indicating current stock availability |
| `EC Item Group ID` | Groups product variants (colors, sizes) under one parent |

#### Product Details & Media

| Field | Meaning |
|---|---|
| `EC Short Description` | Brief 1-2 sentence product summary |
| `EC Description` | Full detailed product description with features and specs |
| `EC Thumbnails` | URL to small preview image for quick viewing |
| `EC Images` | Array of high-resolution product image URLs for display |

#### Customer & Performance Data

| Field | Meaning |
|---|---|
| `EC Rating` | Average customer rating (typically 1-5 stars) — indicates product quality and satisfaction |
| `EC Gender` | Demographic targeting (if applicable, e.g., men's, women's, unisex) |
| `EC Color` | Primary color classification of the product |

#### Navigation & Hierarchy

| Field | Meaning |
|---|---|
| `Click URI` | Direct clickable link to the product detail page |
| `Children` | Sub-products or variants (e.g., different colors of the same sofa) |
| `Total Number Of Children` | Count of product variants available |

#### Advanced Fields

| Field | Meaning |
|---|---|
| `Query Pinned` | Whether the product is pinned/featured in search results for specific queries |
| `Additional Fields` | Custom metadata fields for special promotions or attributes |

***

### How to Use

1. **Find category URLs** — Browse Conforama.ch and copy the URL of a product category (e.g., `/de/entertainment/c/entertainment`).
2. **Prepare input JSON** — Populate the `urls` array with one or more Conforama category or search URLs.
3. **Set scraping limits** — Adjust `max_items_per_url` based on your needs (higher = more data, longer runtime).
4. **Enable fault tolerance** — Set `ignore_url_failures: true` for batch jobs to skip broken links gracefully.
5. **Run the scraper** — Execute the actor and monitor progress in the logs.
6. **Export results** — Download output as JSON, CSV, or Excel for analysis or integration.

**Best practices:**

- Language-specific URLs (`/de/`, `/fr/`, `/it/`) scrape the correct language variant.
- Filter by color or gender before scraping for targeted datasets.
- Use `max_items_per_url: 200` to balance data volume with execution time.

**Handling errors:**

- If a URL returns no products, verify it is a valid category page, not a product detail page.
- Empty `EC Images` or `EC Thumbnails` may indicate unloaded media; re-run if needed.

***

### Use Cases & Business Value

- **Price intelligence:** Monitor Conforama's pricing strategies and competitor positioning in Swiss furniture retail
- **Promotion tracking:** Identify sales patterns, seasonal discounts, and badge placements across categories
- **Inventory insights:** Track stock availability changes and product rotation
- **Market research:** Analyze product mix, ratings, and customer sentiment in Swiss furniture market
- **Content feeds:** Populate affiliate sites, price comparison portals, or product aggregators with real-time data

By automating product data collection, the Conforama scraper eliminates manual entry errors and delivers reliable datasets for analytics, pricing decisions, and market intelligence.

***

### Conclusion

The **Conforama Product Search Scraper** is a powerful tool for anyone needing structured, up-to-date furniture and home goods data from Switzerland's leading retailer. With 18+ data fields per product and flexible URL configuration, it streamlines competitive analysis, price monitoring, and market research. Start scraping today to unlock actionable insights from Conforama's extensive inventory.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.conforama.ch/de/entertainment/c/entertainment"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.conforama.ch/de/entertainment/c/entertainment"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/conforama-product-search-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 = {
    "urls": ["https://www.conforama.ch/de/entertainment/c/entertainment"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/conforama-product-search-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 '{
  "urls": [
    "https://www.conforama.ch/de/entertainment/c/entertainment"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/conforama-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Conforama Product Search Scraper",
        "description": "Scrape product listings from Conforama.ch search results with complete details. This scraper captures product names, prices, promotions, stock status, ratings, and 18+ fields per item — perfect for price comparison, market research, and inventory tracking in Swiss furniture retail.",
        "version": "0.0",
        "x-build-id": "8V5sk4FgtX1EqQkdq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~conforama-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-conforama-product-search-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/stealth_mode~conforama-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-conforama-product-search-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/stealth_mode~conforama-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-conforama-product-search-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": {
                    "urls": {
                        "title": "URLs of the product search list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
