# APONEO Scraper API: Apothekenpreise, PZN und Verfügbarkeit (`scraperseurope/aponeo-germany`) Actor

Extrahieren Sie APONEO-Produktdaten für Deutschland: Preise in EUR, PZN, Marken, Hersteller und veröffentlichte Verfügbarkeit. Paginierte Suche mit JSON-, CSV- und Excel-Export für Preisvergleich und Sortimentsanalysen.

- **URL**: https://apify.com/scraperseurope/aponeo-germany.md
- **Developed by:** [Scrapers Europe](https://apify.com/scraperseurope) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 products

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## APONEO Scraper und API fuer Apotheken-Produktdaten

Vergleichen Sie das oeffentliche APONEO-Sortiment in Deutschland: Produktpreise in EUR, achtstellige PZN, Marken, Hersteller, veroeffentlichte Verfuegbarkeit und Referenzpreise. Geeignet fuer wiederkehrende Preisvergleiche, Sortimentsanalysen und Produktzuordnung ueber die PZN. Ergebnisse als JSON, CSV oder Excel exportieren oder ueber die Apify-API abrufen.

### Beispiel

```json
{"term":"vitamin","maxItems":3}
```

Mit `{"searchTerms":["vitamin","sonnencreme"],"maxPages":2}` fuehren Sie mehrere Suchen aus. `searchTerms` ersetzt `term`. Die Sortierung und Suchrelevanz kommen von APONEO.

### Daten

`product_id` und `pzn` enthalten die PZN, nicht automatisch eine EAN. Weitere Felder: `title`, `source_url`, `price`, `currency`, `brand`, `manufacturer`, `reference_price`, `reference_price_label`, `available`, `availability_text`, `unit_price_text`, `image_url`, `rating` und `review_count`. Land, Suchbegriff, Seite und Abrufzeit werden ergaenzt.

Der Produktpreis wird mit dem sichtbaren EUR-Preis abgeglichen. Eine UVP oder ein anderer Referenzpreis ist kein frueherer Verkaufspreis; beachten Sie `reference_price_label`. Grundpreise bleiben als Quelltext mit Einheit erhalten. Gutscheine, Versandkosten und persoenliche Angebote werden nicht in den Produktpreis eingerechnet. Unbekannte Verfuegbarkeit bleibt null. Keine Kundendaten, Patienteninformationen oder medizinischen Empfehlungen.

### Grenzen und Zuverlaessigkeit

Keine versteckte feste Ergebnis- oder Seitengrenze. `maxItems` gilt fuer alle Suchen zusammen, `maxPages` pro Suche. Standard-Zeitbudget 240 Sekunden, anpassbar bis 7200. Reale Quellgrenzen und das Apify-Ausgabenbudget gelten weiterhin. Seiten werden fortlaufend geliefert und doppelte Produkte nur einmal ausgegeben.

Echte leere Suchen ergeben `no_results` ohne abrechenbare Zeilen. Zugriffssperren sind keine leeren Suchen. Bei spaeteren Fehlern bleiben fruehere Seiten erhalten. `RUN_SUMMARY` und `DIAGNOSTICS` zeigen Abschluss, Unterbrechung und Fehler. Verbindungen und Proxies werden automatisch verwaltet; keine Cookies oder technische Einrichtung notwendig.

USD 0.004 pro echtem, einzigartigem gelieferten Produkt plus Plattformverbrauch auf Kosten des Nutzers. Keine Berechnung von Duplikaten, Fehlern oder Zusammenfassungen. Privater Kandidat; die kommerzielle Tarifierung wird erst bei ausdruecklich erlaubter Veroeffentlichung aktiviert und erneut geprueft.

Unabhaengiges Werkzeug ohne Verbindung zu APONEO. Keine Garantie auf Vollstaendigkeit, Lieferbarkeit oder dauerhaft gleiche Preise. Quellbedingungen und geltendes Recht beachten.

# Actor input Schema

## `term` (type: `string`):

Produkt, Marke oder PZN für die APONEO-Suche.

## `searchTerms` (type: `array`):

Ersetzt den einzelnen Suchbegriff. Doppelte Produkte werden nur einmal geliefert und berechnet.

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

Ohne Wert gibt es keine feste Ergebnisgrenze. Gilt für alle Suchbegriffe zusammen.

## `maxPages` (type: `integer`):

Ohne Wert bis zum Ende der Quelle oder des Zeit- bzw. Ausgabenbudgets.

## `maxRuntimeSecs` (type: `integer`):

Bereits gelieferte Produkte bleiben bei späteren Fehlern erhalten.

## `requestTimeoutSecs` (type: `integer`):

Maximale Wartezeit auf eine Anfrage an die Quelle.

## Actor input object example

```json
{
  "term": "vitamin",
  "maxRuntimeSecs": 240,
  "requestTimeoutSecs": 30
}
```

# Actor output Schema

## `products` (type: `string`):

No description

## `summary` (type: `string`):

No description

## `diagnostics` (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 = {
    "term": "vitamin"
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraperseurope/aponeo-germany").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 = { "term": "vitamin" }

# Run the Actor and wait for it to finish
run = client.actor("scraperseurope/aponeo-germany").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 '{
  "term": "vitamin"
}' |
apify call scraperseurope/aponeo-germany --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scraperseurope/aponeo-germany"
        }
    }
}
```

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/mFW1eb0RO2k5KPAXr/builds/Uh2aE6N42kaarrSub/openapi.json
