Discover/morele API
live

morele APImorele.net

Get discounted product listings and the full category directory from morele.net. Access prices, old prices, savings, and 3-month low via 2 endpoints.

Endpoint health
verified 3h ago
list_categories
get_deals
2/2 passing latest checkself-healing
Endpoints
2
Updated
4h ago

What is the morele API?

The morele.net API gives developers access to two endpoints covering discounted product listings and the site's full category directory of roughly 2,100 leaf categories. The get_deals endpoint returns up to 30 discounted products per page for any given category slug, including current price, crossed-out old price, discount percentage, savings amount, and the lowest price from the past 3 months. The list_categories endpoint maps every valid category slug in one round trip.

This call costs2 credits / call— charged only on success
Try it

No input parameters required.

api.parse.bot/scraper/11eb9f8c-1754-4681-9f25-8e61c9517d55/<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/11eb9f8c-1754-4681-9f25-8e61c9517d55/list_categories' \
  -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 morele-net-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: morele.net deals SDK — browse categories and discounted products."""
from parse_apis.morele_net_api import Morele, DealSort, CategoryNotFound

client = Morele()

# Browse the category directory to find a category slug.
for cat in client.categories.list(limit=5):
    print(cat.name, cat.department, cat.group)

# Pick the first category and list its discounted products.
cat = client.categories.list(limit=1).first()
if cat is not None:
    print(f"\nDeals in {cat.name} (slug: {cat.category}):")
    for product in cat.products.list(sort=DealSort.PRICE_ASC, limit=5):
        print(
            f"  {product.name} — {product.price} {product.currency}"
            f" (was {product.old_price}, save {product.savings})"
        )

# Construct a category directly when you already know the slug.
laptops = client.category(category="laptopy-31")
top_deal = laptops.products.list(sort=DealSort.POPULARITY, limit=1).first()
if top_deal is not None:
    print(f"\nMost popular laptop deal: {top_deal.name}")
    print(f"  Brand: {top_deal.brand}, Merchant: {top_deal.merchant}")
    print(f"  {top_deal.price} {top_deal.currency} (-{top_deal.discount_percent}%)")
    if top_deal.sold_count_90_days is not None:
        print(f"  Sold last 90 days: {top_deal.sold_count_90_days}")

# Handle an unknown category gracefully.
try:
    bogus = client.category(category="nonexistent-999")
    bogus.products.list(limit=1).first()
except CategoryNotFound:
    print("\nCategory not found — check the slug against categories.list().")

print("\nexercised: categories.list / category().products.list / CategoryNotFound")
All endpoints · 2 totalmissing one? ·

Returns the full directory of leaf product categories on morele.net (about 2,100 entries) in one round trip, each with its department and category group. The `category` value of each entry is the slug accepted by get_deals. No pagination; the whole directory is returned at once. Returns an empty list only if the store publishes no categories.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "categories": "array of category entries: category (slug used by get_deals), name, group, department, url",
    "total_count": "number of categories returned"
  },
  "sample": {
    "data": {
      "categories": [
        {
          "url": "https://www.morele.net/kategoria/akcesoria-komputerowe-674/",
          "name": "Akcesoria komputerowe",
          "group": "Akcesoria i zasilanie",
          "category": "akcesoria-komputerowe-674",
          "department": "Komputery"
        }
      ],
      "total_count": 2108
    },
    "status": "success"
  }
}

About the morele API

Category Directory

The list_categories endpoint returns the complete flat list of product categories on morele.net — approximately 2,100 entries — in a single response with no pagination. Each entry includes a category slug (e.g. laptopy-31), a human-readable name, a group, a department, and a url. The category field from this response is the required input to get_deals, so querying list_categories first is the standard starting point for any pipeline that needs to iterate across the catalogue.

Discounted Product Listings

The get_deals endpoint returns products currently listed under morele.net's "Produkty z obniżoną ceną" (reduced price) filter for a single category. You supply the required category slug, an optional 1-based page integer, and an optional sort string matching the store's sort menu. The response delivers up to 30 products per page and includes total_count, total_pages, and has_more fields to drive pagination.

Per-Product Fields

Each entry in the products array carries: product_id, name, brand, url, image_url, price (current sale price), old_price (the crossed-out reference price), discount_percent (the badge value the store displays), savings (the computed price difference), and lowest_price_3 (the lowest recorded price over the preceding 3 months, in line with EU Omnibus Directive requirements). category_name in the response confirms the display name for the queried category.

Reliability & maintenanceVerified

The morele API is a managed, monitored endpoint for morele.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when morele.net 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 morele.net 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
3h ago
Latest check
2/2 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
  • Track discount depth across electronics categories by comparing price against old_price and lowest_price_3.
  • Build a price-drop alert system by polling get_deals periodically and flagging products where discount_percent exceeds a threshold.
  • Aggregate the list_categories directory to map morele.net's product taxonomy for catalogue research.
  • Identify brands that appear most frequently in discounted listings by grouping get_deals results by brand.
  • Compare old_price vs lowest_price_3 to detect whether a marked-down price is genuinely at a historical low.
  • Compile a cross-category snapshot of all current deals by iterating get_deals over every category slug from list_categories.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does morele.net have an official developer API?+
Morele.net does not publish a documented public developer API or affiliate data feed.
What does `lowest_price_3` represent and why is it included?+
lowest_price_3 is the lowest price the product carried in the 30 days prior to the promotion, as displayed by morele.net in compliance with the EU Omnibus Directive. It lets you verify whether the current price is actually below the recent historical floor, not just below an inflated old_price.
Does `get_deals` return all products in a category, or only discounted ones?+
get_deals returns only products that morele.net is currently listing under its reduced-price filter. Full-price products in the same category are not included in the response. The API covers list_categories for navigation and get_deals for discounted-only inventory. You can fork it on Parse and revise to add a full-catalogue product listing endpoint.
Are product reviews or ratings available through the API?+
Not currently. The products array includes pricing, discount, and identity fields (product_id, name, brand, url, image_url) but no review counts or rating scores. You can fork the API on Parse and revise it to add an endpoint that returns review data for individual products.
How does pagination work in `get_deals`?+
Results are returned 30 items at a time. The response includes total_pages, total_count, and a boolean has_more field. Pass the next integer to the page parameter to advance through the listing. Page numbers are 1-based.
Page content last updated . Spec covers 2 endpoints from morele.net.
Related APIs in EcommerceSee all →
pepper.pl API
Browse deals, coupons, and product categories from Pepper.pl, a popular Polish community marketplace, with the ability to search specific offers and read community comments. Filter deals by category, view detailed information about each offer, and discover the latest coupon codes available.
sinsay.com API
Access data from sinsay.com.
amazon.pl API
Search and browse products across Amazon Poland to find categories, product details, pricing, and current deals. Get real-time suggestions and access promotional offers to help you discover and compare items on the Polish Amazon marketplace.
x-kom.pl API
Access product data from x-kom.pl, a major Polish electronics retailer. Search products by keyword or category, retrieve detailed product pages, customer reviews, Q&A, promotions, flash deals, and physical store locations.
allegro.pl API
Search listings, browse categories, retrieve product details, and get autocomplete suggestions from Allegro.pl, Poland's largest e-commerce marketplace.
jysk.pl API
Browse and search JYSK Poland's complete product catalog to find deals, view detailed product information, explore categories, and check real-time store availability across locations. Discover current promotions and navigate the full category hierarchy to easily find furniture and home goods that match your needs.
mercadolibre.com API
Search and retrieve product listings, details, customer reviews, categories, and current deals from MercadoLibre across multiple countries to find the best products and prices. Get comprehensive product information including specifications and user feedback to make informed purchasing decisions.
mydealz.de API
Search for deals on MyDealz.de and retrieve detailed information including ratings, merchant details, pricing, and community feedback across multiple pages. Find the best deals with access to temperature scores and comment counts to help you make informed purchasing decisions.