Osiedlemlodych APIosiedlemlodych.pl ↗
Retrieve public tender announcements from Spółdzielnia Mieszkaniowa Osiedle Młodych in Poznań, including full text, dates, authors, and file attachments.
What is the Osiedlemlodych API?
The Osiedle Młodych Tenders API exposes public procurement announcements published at osiedlemlodych.pl through a single endpoint, list_tenders, returning up to 10 tenders per page with 9 structured fields per record — including full announcement text, HTML body, publication timestamp, and an attachments dictionary mapping each document label to its download URL. It covers all tender categories published by the housing cooperative Spółdzielnia Mieszkaniowa Osiedle Młodych in Poznań.
curl -X GET 'https://api.parse.bot/scraper/8fcf41c1-2d5b-489d-8ed3-c849643ffa75/list_tenders?newer_than=2026-07-01' \ -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 osiedlemlodych-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: SM Osiedle Młodych Tenders — browse and filter public tenders."""
from parse_apis.osiedlemlodych_pl_api import OsiedleMlodych, TenderCategory, InputFormatInvalid
client = OsiedleMlodych()
# List the five most recent tenders across all categories.
for tender in client.tenders.list(limit=5):
print(tender.title, "|", tender.published_date, "|", tender.author)
# Filter to renovation tenders published after a given date.
try:
recent_renovation = client.tenders.list(
category=TenderCategory.REMONTY,
newer_than="2025-01-01",
limit=3,
).first()
except InputFormatInvalid as e:
print("Bad filter input:", e.message)
recent_renovation = None
if recent_renovation is not None:
print(recent_renovation.title)
print("Published:", recent_renovation.published_at)
print("Content preview:", recent_renovation.content_text[:200])
# Attachments: label → file URL
for label, url in recent_renovation.attachments.items():
print(f" 📎 {label}: {url}")
print("exercised: tenders.list (all + filtered by category and date)")
Returns one listing page of tender announcements, newest first, each enriched with the full announcement from its detail page: numeric id, title, url, publication date/time, author, full text and HTML of the announcement, and an attachments dictionary mapping link label to file URL for every document linked from the announcement (empty object when the announcement links no files). The site lists 10 tenders per page; one call costs one listing fetch plus one detail fetch per tender on that page. Pagination is caller-controlled through page: has_more/next_page tell whether a following page exists and total_pages is the last page number the site advertises (null when the requested page is past the end, which yields an empty tenders list). newer_than keeps only tenders published strictly after the given date; because the listing is date-descending, scanning stops at the first older tender on the page and has_more then becomes false. category narrows the listing to one of the site's two tender categories; the category field on each tender echoes that filter and is null when no filter was given. Detail pages that could not be fetched are listed in failed_detail_urls instead of being silently dropped.
| Param | Type | Description |
|---|---|---|
| page | integer | Listing page number (1-based, 10 tenders per page). Pages past the end return an empty tenders list. |
| category | string | Tender category filter from the site's category selector. Omitted = all categories. |
| newer_than | string | ISO date YYYY-MM-DD. Only tenders published after this date (exclusive) are returned. Omitted = no date filter. |
{
"type": "object",
"fields": {
"page": "integer, the requested page",
"tenders": "array of tender objects: id (string, site post id), title, url (detail page), published_date (YYYY-MM-DD), published_at (ISO 8601 with timezone), author, category (echo of the filter or null), content_text (plain text of the announcement), content_html (announcement HTML), attachments (object mapping link label to file URL, empty when none)",
"has_more": "boolean, whether a following page exists (false once the newer_than cut-off was reached)",
"per_page": "integer, number of tenders the site listed on this page before the date filter",
"next_page": "integer page to request next, or null",
"total_pages": "integer last page number advertised by the site, or null when the page is past the end",
"failed_detail_urls": "array of detail page URLs whose fetch failed"
},
"sample": {
"data": {
"page": 2,
"tenders": [
{
"id": "33127",
"url": "https://osiedlemlodych.pl/przetarg/przetarg-ofertowy-na-najem-lokalu-mieszkalnego-os-orla-bialego-45-130/",
"title": "Przetarg ofertowy na najem lokalu mieszkalnego – os. Orła Białego 45/130",
"author": "Julia Tritt",
"category": "inne",
"attachments": {
"Wymagany druk": "https://osiedlemlodych.pl/wp-content/uploads/2022/02/wniosek-o-wynajecie-lokalu-mieszkalnego-w-trybie-przetargu-2022.pdf",
"„Zasad wynajmu lokali mieszkalnych”": "https://osiedlemlodych.pl/wp-content/uploads/2022/02/zasady-wynajmu-lokali-mieszkalnych-2022.pdf"
},
"content_html": "<p>Zarząd Spółdzielni Mieszkaniowej „Osiedle Młodych” w Poznaniu ogłasza przetarg ofertowy</p>\n<p><strong>na najem lokalu mieszkalnego na os. Orła Białego 45/130 o powierzchni 33,70 m kw.</strong></p> ...",
"content_text": "Zarząd Spółdzielni Mieszkaniowej „Osiedle Młodych” w Poznaniu ogłasza przetarg ofertowy\nna najem lokalu mieszkalnego na os. Orła Białego 45/130 o powierzchni 33,70 m kw. ...",
"published_at": "2022-02-14T06:00:14+01:00",
"published_date": "2022-02-14"
}
],
"has_more": true,
"per_page": 10,
"next_page": 3,
"total_pages": 3,
"failed_detail_urls": []
},
"status": "success"
}
}About the Osiedlemlodych API
What the API covers
The list_tenders endpoint returns paginated tender announcements from the SM Osiedle Młodych procurement page. Each result includes the post id, title, canonical url, published_date (YYYY-MM-DD), full ISO 8601 published_at timestamp, author, plain-text full_text, raw html of the announcement body, and an attachments object whose keys are document link labels and whose values are the corresponding file URLs.
Filtering and pagination
Requests accept three optional inputs. The page parameter (1-based, default 1) selects which listing page to retrieve; the site displays 10 tenders per page. The category parameter filters by one of the categories available in the site's selector — omit it to retrieve all categories. The newer_than parameter accepts an ISO date string (YYYY-MM-DD) and excludes tenders published on or before that date, making incremental polling straightforward. The response includes has_more, next_page, total_pages, and per_page so you can walk the full archive programmatically.
Edge cases and reliability signals
The response carries a failed_detail_urls array listing any detail page URLs that could not be fetched during enrichment. When this array is non-empty, the corresponding tender objects in tenders will be missing their full_text, html, and attachments fields. Pages past the last available page return an empty tenders array and total_pages: null. When newer_than causes the cut-off to be reached mid-page, has_more is set to false even if the site would normally have further pages.
Source context
SM Osiedle Młodych is a residential housing cooperative (spółdzielnia mieszkaniowa) in Poznań, Poland. Its tender board covers procurement for building maintenance, renovation works, and related services. Announcements are published in Polish.
The Osiedlemlodych API is a managed, monitored endpoint for osiedlemlodych.pl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when osiedlemlodych.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 osiedlemlodych.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?+
- Monitor new tender announcements daily using the
newer_thanfilter to detect freshly published procurements. - Download all attachment files for a tender by iterating the
attachmentsdictionary returned per record. - Archive the full HTML and plain-text body of each announcement for audit or compliance documentation.
- Filter tenders by category to track only a specific type of procurement (e.g. construction works).
- Build an alert system that flags tenders whose
titleorfull_textcontains specific keywords. - Compare publication frequency over time using
published_attimestamps across paginated results.
| 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 osiedlemlodych.pl have an official developer API?+
What does the attachments field contain, and are all file types included?+
attachments field is a dictionary where each key is the visible link label on the announcement page and each value is the file URL. The API returns whatever document links are present on a given detail page — typically PDFs, DOCX files, or similar. If a detail page fetch fails (listed in failed_detail_urls), that tender's attachments will be absent.Does the API cover tender results or awarded contract notices, not just announcements?+
How does pagination behave when using the newer_than filter?+
newer_than is set, the API stops including tenders once it reaches one published on or before that date. At that point has_more is set to false and next_page is null, even if the site has additional pages. per_page reflects how many tenders the site listed on the page before the date filter was applied, so it may be higher than the number of items actually returned in tenders.