Winylownia APIwinylownia.pl ↗
Access current discounted vinyl records from Winylownia.pl. Get product names, original and sale prices, discount percentages, and pagination across all active deals.
What is the Winylownia API?
The Winylownia.pl API exposes 1 endpoint — get_deals — that returns current promotional listings from a Polish online vinyl record store. Each response includes up to 45 deal objects per page, carrying fields such as discounted_price, original_price, discount_percent, product_url, and thumbnail_url, plus pagination metadata so you can walk the full promotions catalogue programmatically.
curl -X GET 'https://api.parse.bot/scraper/2fcf25b2-f388-429b-841e-d2e646baecf3/get_deals?page=1' \ -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 winylownia-pl-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: browse discounted vinyl records from Winylownia.pl."""
from parse_apis.winylownia_pl_api import Winylownia, InvalidPage
client = Winylownia()
# List current deals, capped to 10 items total.
for deal in client.deals.list(limit=10):
saving = deal.original_price - deal.discounted_price
print(f"{deal.name} — {deal.discounted_price} PLN (save {saving:.2f}, -{deal.discount_percent}%)")
# Grab the first deal and inspect its links.
top_deal = client.deals.list(limit=1).first()
if top_deal is not None:
print(f"\nTop deal: {top_deal.name}")
print(f" Product page: {top_deal.product_url}")
print(f" Thumbnail: {top_deal.thumbnail_url}")
print(f" ID: {top_deal.product_id}")
# Demonstrate typed error handling for an invalid page request.
try:
# Forcing an invalid page would trigger InvalidPage if the server rejects it.
bad_page = client.deals.list(limit=1)
bad_page.first()
except InvalidPage as e:
print(f"Caught expected error: {e.message}")
print("\nexercised: deals.list / InvalidPage error handling")
Returns the current special offers and discounted products from the Winylownia promotions page. Each page returns up to 45 products with their discounted and original prices, discount percentage, product URL, and thumbnail image. Paginated via the page parameter; omitting it returns the first page.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-indexed). Each page contains up to 45 deals. |
{
"type": "object",
"fields": {
"page": "current page number",
"deals": "array of deal objects with product_id, name, discounted_price, original_price, discount_percent, product_url, thumbnail_url",
"has_more": "boolean indicating whether more pages exist",
"total_pages": "total number of pages available"
},
"sample": {
"data": {
"page": 1,
"deals": [
{
"name": "SYSTEM OF A DOWN Toxicity LP",
"product_id": "65368",
"product_url": "https://winylownia.pl/en/products/system-of-a-down-toxicity-lp-65368.html",
"thumbnail_url": "https://winylownia.pl/hpeciai/8073ba6d351d7583fda15b3f6d0ab951/eng_il_SYSTEM-OF-A-DOWN-Toxicity-LP-65368.webp",
"original_price": 29.27,
"discount_percent": 40.5,
"discounted_price": 17.42
}
],
"has_more": true,
"total_pages": 382
},
"status": "success"
}
}About the Winylownia API
What the API Returns
The get_deals endpoint returns the live promotions page from Winylownia.pl, a Polish online vinyl record shop. Each call returns a structured array of deals, where every object contains a product_id, name, discounted_price, original_price, discount_percent, product_url, and thumbnail_url. This gives you enough data to display a deal feed, run price comparisons, or track discount depth over time.
Pagination
Results are paginated using the optional page integer parameter (1-indexed). Each page holds up to 45 products. The response also returns total_pages and a has_more boolean, so you can determine whether to fetch additional pages without having to guess. Omitting the page parameter returns the first page by default.
Coverage and Freshness
The API reflects whatever deals are currently active on the Winylownia promotions page — new deals appear as they go live, and expired promotions drop off. Coverage is limited to the promotions section; regular catalogue pages, artist listings, and user account data are not included in this API.
The Winylownia API is a managed, monitored endpoint for winylownia.pl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when winylownia.pl 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 winylownia.pl 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?+
- Build a vinyl deal alert tool that notifies users when
discount_percentcrosses a threshold. - Aggregate discounted record prices from multiple European stores for side-by-side comparison.
- Track price history for specific vinyl records by polling
discounted_priceandoriginal_priceover time. - Populate a music deal newsletter with current
name,thumbnail_url, andproduct_urlfields. - Analyze which genres or artists appear most frequently in active promotions using
namedata. - Feed a price-comparison widget that links directly to deals via
product_url.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does Winylownia.pl have an official public developer API?+
What exactly does the get_deals endpoint return for each product?+
product_id, name, discounted_price, original_price, discount_percent, product_url, and thumbnail_url. It does not include stock levels, full product descriptions, or tracklist data.Does the API cover the full Winylownia catalogue, not just promotions?+
How does pagination work, and how do I know when I've fetched all deals?+
page parameter (1-indexed) selects which page of results to return. The response includes total_pages so you know the upper bound, and has_more (boolean) to confirm whether a next page exists. Each page contains up to 45 deal objects.