# Ricardo.ch Produkt Scraper

Scrape product title, url, price, brand, etc from Ricardo.ch by keywords

- Template page: [https://www.octoparse.com/template/ricardo-ch-produkt-scraper](https://www.octoparse.com/template/ricardo-ch-produkt-scraper)
- Categories: E-Commerce
- Status: `PUBLISHED`
- Run mode: `BOTH`

## Pricing

Free.

## What is an Octoparse template?

An Octoparse template is a ready-to-use scraping workflow with predefined inputs and structured outputs. Use the exact parameter keys below; do not invent parameters.

## Overview

This ready-to-use template collects structured data from general web pages.

## Output

The current workflow extracts 7 fields, including `Anzahl_Gebote`, `Endzeitpunkt`, `Gebote_Preis`, `Marke`, `Produkt_url`, `Schlüsselwort`, `Titel`.

## Use Cases

- Use structured results for research, comparison, and monitoring.
- Collect rows without building the extraction workflow from scratch.
- Combine results with other templates for downstream enrichment.
- Review a representative result before starting a large batch.

## Why Octoparse

- **No coding required:** complete Keywords (up to 100) and start the template in local or cloud mode.
- **Flexible export:** review and export results as CSV, Excel, or JSON.

## Input

### Keywords (up to 100)

Required. Keywords (up to 100) Constraints: minItems=1; maxItems=100; items.minLength=1; items.maxLength=10000.

## How to Use

## Ricardo.ch Product Scraper

### What it collects

Product title, URL, price, brand, and other fields from [Ricardo](https://www.ricardo.ch/) search results by keyword.

### Output fields

- `Schlüsselwort`
- `Titel`
- `Marke`
- `Gebote_Preis`
- `Anzahl_Gebote`
- `Endzeitpunkt`
- `Produkt_url`

### Input

- **Keywords (up to 100)** (required): Enter one or more values, one per line.

### Pricing

No per-line charge. Octoparse plan or resource limits may still apply. Scheduling and API access may require a paid plan.

### How to use

1. Open the template and select **Try it** or **Start**.
2. Enter keywords (up to 100), one per line.
3. Choose a local or cloud run.
4. Review the output rows and export (CSV, Excel, JSON, databases, cloud storage, or via Octoparse OpenAPI).

### Limitations

- Collects only fields listed in Output from search results pages; does not add data not displayed by Ricardo.
- Fields such as `Anzahl_Gebote`, `Endzeitpunkt`, and `Produkt_url` can be empty when not provided.

### Tips

- Start with few inputs, review results, then scale.
- Use specific keywords to reduce unrelated records.
- Use a stable identifier from output fields as a deduplication key when available.

## Limitations

Results depend on what the source site exposes at run time. Fields may be empty when a source page does not provide a value. The template enforces the input limits shown above.

## Tips

Use specific, valid inputs and review a representative result before starting a large batch. Remove duplicate inputs when repeated records are not needed.

## FAQ

### What do I need to enter?

Use the exact inputs and limits listed above.

### What data does this template return?

See Output Schema below; availability can vary by source record.

### How is usage billed?

See the Pricing section above for current pricing and billing details.

## Related Templates

- [Otto Scraper (Produkt Liste)](https://www.octoparse.com/template/otto-scraper-produkt-liste)
- [Galaxus.ch Produkt Scraper (Details)](https://www.octoparse.com/template/galaxusch-produkt-scraper-details)
- [Rossmann Online Data Scraper (Produkt Listing)](https://www.octoparse.com/template/rossmann-online-data-scraper-produkt-listing)
- [Rossmann Online Data Scraper (Produkt Details)](https://www.octoparse.com/template/rossmann-online-data-scraper-produkt-details)
- [Otto Scraper (Produkt Details)](https://www.octoparse.com/template/otto-produkt-details-scraper)

## Input Schema

```json
{
  "title": "Ricardo.ch Produkt Scraper input",
  "description": "Input parameters configured for the current published template version.",
  "type": "object",
  "schemaVersion": 1,
  "additionalProperties": false,
  "properties": {
    "keywords": {
      "title": "Keywords (up to 100)",
      "description": "Keywords (up to 100)",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 10000
      },
      "minItems": 1,
      "maxItems": 100,
      "x-octoparse": {
        "apiEnabled": true
      }
    }
  },
  "required": [
    "keywords"
  ]
}
```

## Input JSON Example

Example 1

```json
{
  "keywords": [
    "Schmuck"
  ]
}
```

Example 2

```json
{
  "keywords": [
    "Schmuck"
  ]
}
```

Example 3

```json
{
  "keywords": [
    "Schmuck"
  ]
}
```

Example 4

```json
{
  "keywords": [
    "Schmuck"
  ]
}
```

Example 5

```json
{
  "keywords": [
    "Schmuck"
  ]
}
```


## Output Schema

```json
{
  "schemaVersion": 1,
  "type": "object",
  "properties": {
    "Anzahl_Gebote": {
      "type": "string",
      "description": ""
    },
    "Endzeitpunkt": {
      "type": "string",
      "description": ""
    },
    "Gebote_Preis": {
      "type": "string",
      "description": ""
    },
    "Marke": {
      "type": "string",
      "description": ""
    },
    "Produkt_url": {
      "type": "string",
      "description": ""
    },
    "Schlüsselwort": {
      "type": "string",
      "description": ""
    },
    "Titel": {
      "type": "string",
      "description": ""
    }
  },
  "title": "Ricardo.ch Produkt Scraper output",
  "description": "Initial output fields derived from the current published implementation. Field descriptions are maintained by Data Center; production field names and types should be refreshed from recent successful runs.",
  "additionalProperties": false
}
```

## Output Example

Example 1

```json
{
  "Anzahl_Gebote": "(1 Gebot)",
  "Endzeitpunkt": "Heute, 13:04\n(3m 48s)",
  "Gebote_Preis": "135.00",
  "Marke": "Grösse 54",
  "Produkt_url": "https://www.ricardo.ch/de/a/vintage-goldring-mit-tuerkis-und-diamanten-1327225956/",
  "Schlüsselwort": "Schmuck",
  "Titel": "Vintage-Goldring mit Türkis und Diamanten"
}
```

Example 2

```json
{
  "Anzahl_Gebote": "(28 Gebote)",
  "Endzeitpunkt": "Heute, 09:13\n(39m 55s)",
  "Gebote_Preis": "116.00",
  "Marke": "Grösse 58",
  "Produkt_url": "https://www.ricardo.ch/de/a/neuer-silberring-%E2%80%9Eadler-mit-quarz%E2%80%9C-unikat-1327393816/",
  "Schlüsselwort": "Schmuck",
  "Titel": "Neuer Silberring „Adler mit Quarz“ Unikat"
}
```

Example 3

```json
{
  "Anzahl_Gebote": "(0 Gebote)",
  "Endzeitpunkt": "Heute, 18:43\n(41m 17s)",
  "Gebote_Preis": "20.00",
  "Marke": "Apple",
  "Produkt_url": "https://www.ricardo.ch/de/a/armband-edelstahl-und-kautschuk-fuer-apple-watch-7-8-9-10-11-1327705788/",
  "Schlüsselwort": "Schmuck",
  "Titel": "Armband Edelstahl und Kautschuk für Apple Watch 7 8 9 10 11"
}
```

Example 4

```json
{
  "Anzahl_Gebote": "(1 Gebot)",
  "Endzeitpunkt": "Heute, 16:54\n(16m 48s)",
  "Gebote_Preis": "21.00",
  "Marke": "Swarovski",
  "Produkt_url": "https://www.ricardo.ch/de/a/swarovski-halskette-1326622898/",
  "Schlüsselwort": "Schmuck",
  "Titel": "Swarovski Halskette"
}
```

Example 5

```json
{
  "Anzahl_Gebote": "(1 Gebot)",
  "Endzeitpunkt": "Heute, 16:17\n(51m 50s)",
  "Gebote_Preis": "141.00",
  "Marke": "Grösse 65",
  "Produkt_url": "https://www.ricardo.ch/de/a/silberring-von-gone-archive-gr-65-1302848188/",
  "Schlüsselwort": "Schmuck",
  "Titel": "Silberring von Gone-Archive Gr. 65"
}
```

## API

`POST https://openapi.octoparse.com/api/agentTools/executeTask`

This is the OpenAPI Agent Tools `executeTask` endpoint. Authenticate with a Bearer token.

Request body:

`templateName` is the template slug; `parameters` is a JSON object string whose keys match Input Schema; `taskName`, `idempotencyKey`, and `maxCollectedRows` are optional.

Obtain a token:

```http
POST https://openapi.octoparse.com/token
Content-Type: application/json

{
  "username": "YOUR_USERNAME",
  "password": "YOUR_PASSWORD",
  "grant_type": "password"
}
```

Use `data.access_token` as `Authorization: Bearer <token>`. After starting, poll `getTaskStatus` and export with `exportData`.

```json
{
  "templateName": "ricardo-ch-produkt-scraper",
  "taskName": "Ricardo.ch Produkt Scraper",
  "parameters": "{\"keywords\":[\"Schmuck\"]}"
}
```

## Python Example

```python
import json
import requests

OPENAPI_BASE = "https://openapi.octoparse.com"
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"

parameters = json.loads("{\"keywords\":[\"Schmuck\"]}")

response = requests.post(
    f"{OPENAPI_BASE}/api/agentTools/executeTask",
    headers={
        "Authorization": f"Bearer {ACCESS_TOKEN}",
        "Content-Type": "application/json",
    },
    json={
        "templateName": "ricardo-ch-produkt-scraper",
        "taskName": "Ricardo.ch Produkt Scraper",
        "parameters": json.dumps(parameters, ensure_ascii=False),
    },
    timeout=60,
)
print(response.status_code)
print(response.json())
```

## HTTP/cURL Example

```bash
curl -X POST "https://openapi.octoparse.com/api/agentTools/executeTask" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "templateName": "ricardo-ch-produkt-scraper",
  "taskName": "Ricardo.ch Produkt Scraper",
  "parameters": "{\"keywords\":[\"Schmuck\"]}"
}
JSON
```

## MCP Setup

Connect an MCP-compatible AI client to `https://mcp.octoparse.com` using browser OAuth or an Octoparse API key. Find `ricardo-ch-produkt-scraper`, inspect its inputs, create a cloud task with the exact Input Schema keys, and export JSON results.

## Machine-readable Resources

- [Template contract](https://www.octoparse.com/templates/ricardo-ch-produkt-scraper.json)
- [Manifest](https://www.octoparse.com/templates/ricardo-ch-produkt-scraper-manifest.json)
