Discover/DocMorris API
live

DocMorris APIdocmorris.de

Access DocMorris.de product data via 6 endpoints: search by keyword or PZN, browse categories, retrieve pricing, availability, and customer reviews.

Endpoint health
verified 4d ago
get_discounted_cannabis_products
search_cannabis_products
get_product_details
get_cannabis_category_products
get_product_reviews
6/6 passing latest checkself-healing
Endpoints
6
Updated
18d ago

What is the DocMorris API?

The DocMorris.de API provides 6 endpoints for retrieving pharmaceutical and health product data from Germany's DocMorris online pharmacy. Use search_cannabis_products to run full-text searches across the catalog, returning product name, pricing with savings percentage, manufacturer, brand, stock status, and category hierarchy. Additional endpoints cover category browsing, PZN lookups, detailed product pages, discounted product filtering, and customer reviews.

Try it
Page number (0-indexed)
Number of results per page (max 100)
Search keyword (e.g. 'cannabis', 'CBD', 'Hanf', 'Aspirin')
api.parse.bot/scraper/a26981b9-ca46-4570-a0ba-7217384b5414/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a26981b9-ca46-4570-a0ba-7217384b5414/search_cannabis_products?page=0&limit=10&query=cannabis' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace docmorris-de-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: DocMorris SDK — search products, browse categories, lookup by PZN, read reviews."""
from parse_apis.docmorris_de_product_api import DocMorris, Query, Category, Pzns, ProductNotFound

client = DocMorris()

# Search for CBD products across the catalog
for product in client.products.search(query=Query.CBD, limit=5):
    print(product.name, product.pricing.price, product.pricing.savings_percentage)

# Browse products in a specific category
for product in client.products.by_category(category=Category.HANF___CBD_PRODUKTE, limit=3):
    print(product.name, product.brand.name, product.has_stock)

# Find currently discounted products
for deal in client.products.discounted(query="cannabis", limit=5):
    print(deal.name, deal.pricing.price, deal.pricing.recommended_price)

# Lookup detailed product info by PZN
for detail in client.productdetails.lookup_by_pzns(pzns=Pzns._17839899_16892259, limit=2):
    print(detail.name, detail.lazyId, detail.isAvailable)

# Get reviews for a specific product by its PZN
product = client.products.search(query=Query.CANNABIS, limit=1).first()
if product:
    for review in product.reviews.list(limit=3):
        print(review.Title, review.Rating, review.UserNickname)

# Typed error handling
try:
    first_product = client.products.search(query=Query.ASPIRIN, limit=1).first()
    if first_product:
        print(first_product.name, first_product.pricing.price)
except ProductNotFound as exc:
    print(f"Product not found: {exc.pzn}")

print("exercised: products.search / products.by_category / products.discounted / productdetails.lookup_by_pzns / product.reviews.list")
All endpoints · 6 totalmissing one? ·

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.

Input
ParamTypeDescription
pageintegerPage number (0-indexed)
limitintegerNumber of results per page (max 100)
querystringSearch keyword (e.g. 'cannabis', 'CBD', 'Hanf', 'Aspirin')
Response
{
  "type": "object",
  "fields": {
    "hits": "array of product objects with name, pricing, slug, manufacturer, brand, category info, has_stock, default_image",
    "page": "current page number (0-indexed)",
    "nbHits": "total number of matching results",
    "nbPages": "total number of pages available",
    "hitsPerPage": "number of results per page"
  },
  "sample": {
    "data": {
      "hits": [
        {
          "name": "CANTURA CBD-Pflaster AKUT 12 St",
          "slug": "cantura-cbdpflaster-akut-alternative-zu-schmerzpflaster",
          "brand": {
            "name": "Cantura"
          },
          "lazy_id": "19980596",
          "pricing": {
            "price": 14.95,
            "base_price": "1245.83 €/l",
            "recommended_price": 29.9,
            "savings_percentage": 50
          },
          "has_stock": true,
          "product_id": "0dc800a5-cc63-4c51-8354-393ab028f7e5",
          "manufacturer": {
            "name": "CANTURA Biopharma GmbH"
          },
          "default_image": "https://statics.docmorris.de/static/produkte/1NX85Y15/docmorris/ffm/cantura-cbd-pflaster.png",
          "category_names": [
            "Hanf & CBD-Produkte"
          ]
        }
      ],
      "page": 0,
      "nbHits": 995,
      "nbPages": 199,
      "hitsPerPage": 5
    },
    "status": "success"
  }
}

About the DocMorris API

Search and Browse

search_cannabis_products accepts a query string and returns paginated hits (up to 100 per page, zero-indexed) with fields including name, slug, manufacturer, brand, has_stock, default_image, and a pricing.savings_percentage field useful for discount detection. get_cannabis_category_products applies a category facet filter using German display names from DocMorris — for example 'Hanf & CBD-Produkte', 'CBD-Öl', or 'Muskeln, Knochen, Gelenke' — and returns the same product shape. Both endpoints expose nbHits and nbPages for result-set sizing.

Product Detail and PZN Lookup

get_product_details takes a pzn (Pharmaceutical Central Number) and a URL slug and returns a full product record: multi-resolution images, a prices object with salesPrice, recommendedRetailPrice, savingsPercentageFormatted, and savings, plus dosageForm, packagingSize, isAvailable, and a manufacturer object with address data. search_by_pzn accepts a comma-separated list of PZNs and returns the same detailed shape for each, making batch lookups straightforward.

Reviews and Discounts

get_product_reviews retrieves BazaarVoice-sourced reviews for a product by PZN. Each result includes Rating, ReviewText, Title, UserNickname, SubmissionTime, and SecondaryRatings covering dimensions such as effectiveness, value, and ease of use. The Includes object provides aggregated ReviewStatistics. get_discounted_cannabis_products scans results for a given query and returns only those where savings_percentage > 0, along with a count of matching discounted items.

Reliability & maintenanceVerified

The DocMorris API is a managed, monitored endpoint for docmorris.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when docmorris.de changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official docmorris.de API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor DocMorris pricing and savings percentages across CBD and hemp products for competitive analysis.
  • Build a PZN-based product lookup tool returning availability and retail vs. sales price comparisons.
  • Aggregate customer review ratings and secondary dimensions (effectiveness, value) across a product category.
  • Detect and alert on newly discounted products using the get_discounted_cannabis_products endpoint.
  • Populate a product database with manufacturer addresses, dosage forms, and packaging sizes via search_by_pzn.
  • Build a category browser using German DocMorris category names to list in-stock health and pharmacy products.
  • Compare recommended retail price against sales price across multiple PZNs to surface best-value items.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does DocMorris offer an official public developer API?+
DocMorris does not publish a public developer API or official data feed. There is no documented REST or GraphQL API listed in their developer documentation.
What identifiers do I need to fetch full product details?+
get_product_details requires both a pzn (Pharmaceutical Central Number, e.g. '16892259') and the product's URL slug. Both are returned in search and category listing responses, so you can chain a search call into a detail call. search_by_pzn only requires the PZN and accepts a comma-separated list for batch retrieval.
Does the API cover prescription-only or login-gated products?+
The API returns data for products accessible without authentication on DocMorris — primarily OTC, wellness, and CBD product categories. Prescription-only products that require a logged-in session or prescription upload are not covered. You can fork this API on Parse and revise it to target additional product segments if they become publicly accessible.
Are there endpoints for order history, wishlists, or account data?+
Not currently. The API covers product search, category browsing, PZN lookups, product details, and customer reviews. Account-level data such as order history or wishlists is not exposed. You can fork the API on Parse and revise it to add endpoints targeting any public account-adjacent pages.
How does pagination work across the search and category endpoints?+
Both search_cannabis_products and get_cannabis_category_products use zero-indexed pagination via the page parameter. The response includes nbHits (total matching results), nbPages (total pages), and hitsPerPage (results per page, max 100), giving you everything needed to iterate through a full result set.
Page content last updated . Spec covers 6 endpoints from docmorris.de.
Related APIs in HealthcareSee all →
aponeo.de API
Search for medications and health products from Aponeo.de, view detailed pricing and availability, browse by category, and discover current deals and promotions. Find specific products by PZN code, check bestsellers, or explore newly added items to compare prices and stock status.
dischem.co.za API
Search for pharmacy products and retrieve detailed information including prices, descriptions, and images directly from Dis-Chem's catalog. Browse product listings and access complete product details all in one place.
amazon.de API
Search Amazon.de for products, retrieve detailed product information, customer reviews, seller and offer data, bestseller lists, and autocomplete suggestions.
adidas.de API
Search and browse Adidas products on adidas.de to find detailed information about items, availability, pricing, and specific categories. Get comprehensive product details including size availability and stock levels across the German Adidas store.
morrisons.com API
Search and browse Morrisons grocery products, view detailed information like reviews and pricing, discover active promotions, and get personalized product recommendations. Find exactly what you're looking for with category browsing, search suggestions, and similar product recommendations.
rewe.de API
Search REWE online shop products with local delivery pricing by German postal code, browse the delivery catalog, and check whether delivery or pickup is available in a given area.
thomann.de API
Search and browse Thomann's music store catalog to find products by category, view detailed specifications and pricing, read customer reviews, and filter results to discover the instruments and gear you're looking for. Access comprehensive product information including descriptions, availability, and ratings all in one place.
idealo.de API
Search for products on Idealo.de and retrieve detailed information including current seller offers, price history, technical specifications, and user and expert reviews. Compare prices across sellers and access comprehensive product data to evaluate deals.