# Docmorris — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and browse products from DocMorris.de to compare pricing, read customer reviews, and find current discounts. Look up specific products by name or pharmaceutical number (PZN) to retrieve detailed information, real-time pricing, and availability data.

**Category:** Healthcare | **Website:** [docmorris.de/](https://docmorris.de/) | **Docs:** [parse.bot/marketplace/a37e2a67-305a-4446-8dc6-3cd892687423/docmorris-de-api](https://parse.bot/marketplace/a37e2a67-305a-4446-8dc6-3cd892687423/docmorris-de-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-docmorris-de-api-a37e2a67/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_cannabis_category_products

Browse products within a specific category by name. Uses Algolia facet filtering on category_names. Returns paginated product listings identical in shape to search results. Category names are the display names used on DocMorris (German).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Category name to filter by (e.g. 'Hanf & CBD-Produkte', 'CBD-Öl', 'CBD-Salben', 'Muskeln, Knochen, Gelenke') |
| `limit` | integer | No | Number of results per page (max 100) |
| `page` | integer | No | Page number (0-indexed) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-docmorris-de-api-a37e2a67/get_cannabis_category_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","limit":"<integer>","page":"<integer>"}'
```

### get_discounted_cannabis_products

Search for products that currently have a discount. Performs an Algolia search then client-side filters results to only include products with savings_percentage > 0. Returns the filtered list and count of discounted products found.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max results to scan for discounts (higher limit finds more discounted products) |
| `query` | string | No | Search keyword to find discounted products within |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-docmorris-de-api-a37e2a67/get_discounted_cannabis_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","query":"<string>"}'
```

### get_product_details

Fetch full details for a specific product by its PZN identifier and URL slug. Returns comprehensive product information including multi-resolution images, pricing with savings, manufacturer addresses, brand, dosage form, packaging size, availability, breadcrumbs, and category hierarchy. The slug is available from search results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `pzn` | string | Yes | Pharmaceutical Central Number (PZN) of the product (e.g. '16892259') |
| `slug` | string | Yes | URL slug of the product from search results (e.g. 'cbd-vital-bio-cbd-oel-10-naturextrakt-premium-hanftropfen') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-docmorris-de-api-a37e2a67/get_product_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pzn":"<string>","slug":"<string>"}'
```

### get_product_reviews

Retrieve customer reviews and ratings for a product using its PZN. Returns review text, star ratings, secondary ratings (effectiveness, value, ease of use), reviewer nicknames, and submission dates from BazaarVoice. Also includes aggregated review statistics and product metadata in Includes.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of reviews to return (max 100) |
| `offset` | integer | No | Offset for pagination |
| `pzn` | string | Yes | PZN of the product (e.g. '17839899') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-docmorris-de-api-a37e2a67/get_product_reviews \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","offset":"<integer>","pzn":"<string>"}'
```

### search_by_pzn

Lookup one or more products by their PZN identifiers. Returns detailed product information including pricing, multi-resolution images, manufacturer details, availability, and category hierarchy for each PZN. Accepts a comma-separated list.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `pzns` | string | Yes | Comma-separated list of PZNs (e.g. '17839899,16892259') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-docmorris-de-api-a37e2a67/search_by_pzn \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pzns":"<string>"}'
```

### search_cannabis_products

Full-text search across the DocMorris product catalog via Algolia. Returns paginated results with product name, pricing, manufacturer, brand, category, and availability data. Pagination is zero-indexed. Each hit includes pricing.savings_percentage for discount detection and has_stock for availability.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of results per page (max 100) |
| `page` | integer | No | Page number (0-indexed) |
| `query` | string | No | Search keyword (e.g. 'cannabis', 'CBD', 'Hanf', 'Aspirin') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-docmorris-de-api-a37e2a67/search_cannabis_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```
