MyDealz APImydealz.de ↗
Search MyDealz.de deals via API. Returns prices, community temperature ratings, merchant info, comment counts, expiry status, and pagination across all results.
What is the MyDealz API?
The MyDealz.de API provides access to Germany's largest deal-sharing community through a single search_deals endpoint that returns up to 11 structured fields per deal, including price, community temperature rating, merchant name, expiry status, and image URL. Pass a keyword query to retrieve matching deals, or omit it to pull trending listings. Results are paginated with full metadata on total items and available pages.
curl -X GET 'https://api.parse.bot/scraper/4cc1290b-69dc-4ceb-a3c6-fce01d39d459/search_deals?page=1&query=laptop' \ -H 'X-API-Key: $PARSE_API_KEY'
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 mydealz-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.
"""MyDealz API — search deals, inspect results, handle errors."""
from parse_apis.mydealz_api import MyDealz, DealSearchFailed
client = MyDealz()
# Search for deals with a keyword, capped at 5 results
for deal in client.deals.search(query="Smart Home", limit=5):
print(deal.title, deal.price, deal.merchant)
# Drill into the hottest deal from a different search
top = client.deals.search(query="Philips Hue", limit=1).first()
if top:
print(top.title, top.temperature, top.comment_count, top.deal_url)
# Typed error handling around a search call
try:
for d in client.deals.search(query="laptop", limit=3):
print(d.title, d.price, d.is_expired)
except DealSearchFailed as exc:
print(f"Search failed: {exc}")
print("exercised: deals.search (3 queries), field access on Deal, DealSearchFailed catch")
Full-text search over deals on MyDealz.de. Returns a paginated list of deals matching the query keyword, each with pricing, community temperature rating, comment count, merchant, expiry status, and image. Pagination advances via integer page number. An empty query returns trending deals. Each page returns up to 30 deals.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| query | string | Search keyword. Supports multi-word queries (e.g. 'Philips Hue', 'Smart Home'). Omitting returns trending deals. |
{
"type": "object",
"fields": {
"deals": "array of Deal objects with thread_id, title, price, temperature, comment_count, is_expired, merchant, deal_url, image_url, description",
"query": "string, the original search query",
"last_page": "integer, total number of pages available",
"total_items": "integer, total number of deals matching the query",
"current_page": "integer, current page number"
},
"sample": {
"data": {
"deals": [
{
"price": 549,
"title": "HP EliteBook 840 G9 14\" Laptop, Sammeldeal ab 469€",
"deal_url": "https://www.mydealz.de/share-deal/2792666",
"merchant": "Lap-works",
"image_url": "https://www.mydealz.de/assets/threads/raw/2792666_1.jpg",
"thread_id": "2792666",
"is_expired": false,
"updated_at": 1781015404,
"description": "Mal ein Deal...",
"expiry_date": {
"timestamp": 1781301540
},
"temperature": 999.88,
"published_at": 1780996856,
"comment_count": 58,
"display_price": null,
"next_best_price": 0,
"temperature_level": "Hot3"
}
],
"query": "laptop",
"last_page": 28,
"total_items": 817,
"current_page": 1
},
"status": "success"
}
}About the MyDealz API
What the API Returns
The search_deals endpoint performs a full-text search across MyDealz.de and returns a paginated array of Deal objects. Each object includes thread_id, title, price, temperature (the community upvote/downvote score), comment_count, is_expired, merchant, deal_url, image_url, and a short description. Alongside the deal array, the response also carries query (the original search term), current_page, last_page, and total_items so you can iterate through all result pages programmatically.
Search and Pagination
The query parameter accepts multi-word strings such as 'Philips Hue' or 'Smart Home'. Leaving it empty switches the endpoint to trending deals — useful for monitoring what the community is actively engaging with. Pagination is integer-based via the page parameter (1-based). The last_page field in the response tells you the maximum page you can request for a given query, and total_items gives the aggregate match count.
Temperature and Community Signals
MyDealz.de's temperature score reflects net community votes on a deal — higher values indicate strong upvote momentum, negative values indicate a poorly received listing. Combined with comment_count, these two fields let you rank or filter deals not just by price but by community confidence. The is_expired boolean flags deals that are no longer active, so you can exclude stale listings without additional validation.
The MyDealz API is a managed, monitored endpoint for mydealz.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mydealz.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 mydealz.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track price drops on specific products by polling
search_dealswith a product keyword and comparing thepricefield over time. - Build a deal alert system that filters results by
temperaturethreshold to surface only high-confidence community-approved offers. - Aggregate expired deals using the
is_expiredflag to build a historical price reference for common consumer electronics. - Monitor trending deals without a query to surface what German consumers are actively upvoting right now.
- Extract
merchantdata across search results to analyze which retailers appear most frequently for a given product category. - Power a comparison widget that shows
comment_countalongsidetemperatureto gauge deal quality beyond raw price. - Paginate through all results using
last_pageandtotal_itemsto build a complete dataset of deals matching a category keyword.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does MyDealz.de have an official developer API?+
What does the `search_deals` endpoint return when no query is provided?+
query parameter returns trending deals — the listings currently receiving active community engagement on MyDealz.de. The response structure is identical to a keyword search, including temperature, comment_count, price, and pagination fields.Does the API return deal categories or tags?+
title, price, merchant, temperature, and is_expired, but does not expose category labels or tags. You can fork this API on Parse and revise it to add category filtering as an additional endpoint.How does the `is_expired` field behave, and should I rely on it for real-time availability?+
is_expired boolean reflects the expiry status as reported on the deal thread at the time of the request. It does not guarantee current stock availability at the merchant — a deal may be flagged active on MyDealz.de while the merchant's offer has ended. Always verify price and availability directly with the merchant via deal_url.Can I retrieve individual deal details or comments by thread ID?+
Deal object per thread including thread_id, but there is no endpoint for fetching full deal detail pages or comment threads. You can fork this API on Parse and revise it to add a deal detail endpoint using the thread_id field.