






This library supports Bun, Deno, and Node.js. It is not recommended for browser-based applications.
For more information, see the SDK Reference.
const { Client } = require('@replit/object-storage');const client = new Client();
const { ok, value: textValue, error } = await client.downloadAsText('file.json');if (!ok) {// ... handle error ...}
const { ok, value: bytesValue, error } = await client.downloadAsBytes('file.png');if (!ok) {// ... handle error ...}
const { ok, value: stream, error } = await client.downloadAsStream('file.json');if (!ok) {// ... handle error ...}
const { ok, error } = await client.downloadToFilename('file.json', destFilename);if (!ok) {// ... handle error ...}
const { ok, value, error } = await client.list();if (!ok) {// ... handle error ...}
const { ok, error } = await client.uploadFromText('file.json', data);if (!ok) {// ... handle error ...}
const { ok, error } = await client.uploadFromBytes('file.png', data);if (!ok) {// ... handle error ...}
const { ok, error } = await client.uploadFromFilename('file.json', srcFilename);if (!ok) {// ... handle error ...}
const { ok, error } = await client.uploadFromStream('file.json', stream);if (!ok) {// ... handle error ...}
const { ok, error } = await client.delete('file.json');if (!ok) {// ... handle error ...}
🏠 NEMOVITOSTI - TOP 40 PORTÁLY & SCRAPING GUIDE
Dokument: Komplexní analýza 40+ českých realitních portálů pro scrapování
Datum: Prosinec 2025
Status: Optimizováno pro NEMOVITOSTI aplikaci
📊 TIER 1: POVINNÉ PORTÁLY (TOP 10)
1. Sreality.cz ⭐⭐⭐ ABSOLUTNÍ PRIORITA
- URL: https://www.sreality.cz
- Typ: Největší realitní portál ČR
- Nabídky: ~62,000+ nemovitostí
- Návštěvnost: 1.5M unikátních uživatelů/měsíc
- Vlastník: Seznam.cz
Scrapovatelnost:
Status: ✅ PLNĚ SCRAPOVATELNÝTechnologie: HTML (statický) + JavaScript (React)Alternativy: BeautifulSoup NEBO Selenium/PuppeteerDelay: 2-5 sekund mezi požadavkyRate Limit: ~100-200 req/min (respektovat!)
Co lze scrapovat:
- Cena nemovitosti
- Adresa, podlaží, počet místností
- Výměra (m²), dispozice
- Podrobný popis
- Fotografie
- Aktuální status (aktivní/vypršela)
- Kontakt inzerentu
CSS Selektory (orientační):
div.property-list__item # Jednotlivá nabídkaspan.price # Cenaspan.title # Název/název nemovitostidiv.description # Popisimg.photo # Fotografie
Filtrační URL schéma:
https://www.sreality.cz/hledani/prodej/byty/prahahttps://www.sreality.cz/hledani/pronajem/domy/[kraj]Parametry: prodej|pronajem, byty|domy, [region]
Práv. omezení:
robots.txt: ✓ Existuje - respektovat zákazyGDPR: Nesbírat e-maily/jména realitníkůToS: Scraping limitován - preferovat API (v budoucnosti)
2. Reality.iDNES.cz ⭐⭐ VYSOKÁ PRIORITA
- URL: https://reality.idnes.cz
- Typ: Druhou největší realitní portál
- Nabídky: ~50,000+
- Návštěvnost: Vysoká (rostoucí trend)
- Vlastník: MAFRA / IDNES
Scrapovatelnost:
Status: ✅ PLNĚ SCRAPOVATELNÝTechnologie: HTML (statický) - JEDNODUŠŠÍ než SrealityNástroj: BeautifulSoup + Requests (doporučeno)Delay: 1-3 sekundRate Limit: ~150 req/min
URL schéma:
https://reality.idnes.cz/prodej-bytu-ceska-republikahttps://reality.idnes.cz/pronajem-domu-prahaJednoduší navigace než Sreality
3. Bezrealitky.cz ✅ READY TO USE
- URL: https://www.bezrealitky.com
- Typ: Bez realitních kanceláří
- Nabídky: Vysoký počet (soukromí majitelé)
- Vlastník: Vlastní realitní kancelář
Scrapovatelnost:
Status: ✅ EXISTUJÍCÍ SCRAPER NA APIFYOdkaz: https://apify.com/bebich/bezrealitkyTechnologie: Apify SDK (cloudové)Vstup: region, typ (PRODEJ|PRONAJEM), nemovitostType (BYT|DUM)Výstup: JSON/CSV
Klíčové výhody:
- Již připravený scraper - stačí API key
- Strukturovaný output
- Cloudové řešení bez lokální instalace
- Free tier dostupný
4. Reality.cz ⭐ KVALITNÍ ZDROJ
- URL: https://www.reality.cz
- Typ: Starší portál, stálý obsah
- Nabídky: Vysoký počet
- Vlastník: Realitniservery.cz
Scrapovatelnost:
Status: ✅ SCRAPOVATELNÝTechnologie: Statický HTMLNástroj: BeautifulSoup (ideální)Delay: 1-2 sekundRate Limit: ~100 req/min
Zvláštnosti:
Regionální subdomény:- jiho.ceskereality.cz (jižní Morava)- mora.ceskereality.cz (střední Morava)- cechy.ceskereality.cz (Čechy)Bezplatná inzerce pro majitele = různorodější data
5. ČeskéReality.cz ✅ ALTERNATIVA
- URL: https://www.ceskereality.cz
- Typ: Národní portál
- Nabídky: Vysoký počet
- Vlastník: Sieť realitních serverů
Scrapovatelnost:
Status: ✅ SCRAPOVATELNÝTechnologie: Statický HTMLNástroj: BeautifulSoupDelay: 1-3 sekundRate Limit: ~100 req/min
6. RealityMon.cz 📊 AGREGÁTOR
- URL: http://www.realitymon.cz
- Typ: Agregátor - sbírá z ostatních
- Zdrojuje z: Sreality, Bezrealitky, iDNES, Reality.cz, viaReality
- Vlastník: Profesionální monitoring
Scrapovatelnost:
Status: ✅ AGREGOVANÉ ÚDAJEVýhoda: Už je všechno scraplo a strukturovánoPostup: Scrapovat z RealityMon (jednodušší) místo jednotlivých portálů
7. Bazoš.cz - Reality 💰 LEVNÝ ZDROJ
- URL: https://reality.bazos.cz
- Typ: Bezplatné inzerce (bazár)
- Nabídky: 43,700+
- Vlastník: Bazoš.cz
Scrapovatelnost:
Status: ✅ SCRAPOVATELNÝTechnologie: Statický HTML (velmi jednoduchý)Nástroj: BeautifulSoup (nejjednoduší ze všech)Delay: 1 sekundaRate Limit: ~200 req/min (liberální)
Výhody:
- Nejjednoduší HTML struktura- Nejliberálnější s requesty- Bezplatné inzerce = špína a nekvalitní nabídky- Málo realitních kanceláří
8. Realingo.cz 🗺️ MAPOVÝ AGREGÁTOR
- URL: https://www.realingo.cz
- Typ: Agregátor s mapovým zobrazením
- Zdrojuje z: Více portálů
- Vlastník: Pronájem.cz
Scrapovatelnost:
Status: ✅ API/MAPOVÝ SCRAPINGTechnologie: JavaScript + Mapový APINástroj: Selenium (pro dynamický obsah)Poznámka: Mapový interface - nutný JavaScript rendering
9. UlovDomov.cz 🎯 SPECIALISTA
- URL: https://www.ulovdomov.cz
- Typ: Nástupce Sreality.cz (alternativa)
- Nabídky: Rostoucí
- Vlastník: Soukromý startup
Scrapovatelnost:
Status: ✅ SCRAPOVATELNÝTechnologie: Moderno, React frontendNástroj: Puppeteer (JavaScript rendering)Delay: 2-5 sekund
10. CinCink.cz 🏦 BANKA
- URL: https://www.cincink.cz
- Typ: Komerční banka - inzerce na webu
- Nabídky: Střední počet
- Vlastník: Komerční banka
Scrapovatelnost:
Status: ✅ SCRAPOVATELNÝTechnologie: Statický HTMLNástroj: BeautifulSoupDelay: 1-2 sekund
📊 TIER 2: KVALITNÍ PORTÁLY (POZICE 11-25)
11-15: Realitní Kanceláře (Vlastní Portály)
| # | Portál | URL | Scrapovatelnost | Poznámka |
|---|---|---|---|---|
| 11 | M&M Reality | https://www.mmreality.cz | ✅ Středně | Největší RK v ČR |
| 12 | RE/MAX | https://www.remax.cz | ✅ Středně | Mezinárodní síť |
| 13 | Realcity.cz | https://realcity.cz | ✅ Středně | Regionální RK |
| 14 | ERA Bohunice | https://era-bohunice.cz | ✅ Středně | Lokální RK |
| 15 | Luxor Reality | https://www.luxor.cz | ✅ Středně | Premium segment |
Poznámka: RK portály mají vlastní struktury, není standardizace. Nutný individuální přístup.
16-20: Regionální & Niche Portály
| # | Portál | URL | Region | Scrapovatelnost |
|---|---|---|---|---|
| 16 | Moravské Reality | https://moravskreality.cz | Morava | ✅ |
| 17 | Reality Čechy | https://realitycechy.cz | Čechy | ✅ |
| 18 | Spěcháto.cz | https://specháto.cz | Lokální | ✅ |
| 19 | Viareality.cz | https://viareality.cz | Mix | ✅ |
| 20 | Realhit.cz | https://realhit.cz | - | ✅ |
21-25: Inzertní Bazary & Alternativy
| # | Portál | URL | Typ | Scrapovatelnost |
|---|---|---|---|---|
| 21 | sBazar.cz | https://sbazar.cz | Bazár | ✅ |
| 22 | Hypeinzerce | https://hyperinzerce.cz | Inzerce | ✅ |
| 23 | eReality.cz | https://ereality.cz | Starší | ✅ |
| 24 | Bydlet.cz | https://bydlet.cz | Starší | ✅ |
| 25 | ChciBezRealitky | https://chcibezrealitky.cz | Bez RK | ✅ |
📊 TIER 3: DOPLŇKOVÉ PORTÁLY (POZICE 26-40)
| # | Portál | URL | Poznámka | Scrapovatelnost |
|---|---|---|---|---|
| 26 | Annonce | https://annonce.cz | Klasické inzerce | ✅ |
| 27 | Avizo | https://avizo.cz | Klasické inzerce | ✅ |
| 28 | OdhadOnline.cz | https://odhadonline.cz | Odhady nemovitostí | ⚠️ |
| 29 | RealitákRoku | https://realitakroku.cz | Hodnocení makléřů | ✅ |
| 30 | FermaMakléři | https://fermakleri.cz | Agregátor | ✅ |
| 31 | NemovitostiKauer | https://nemovitostikauer.cz | Lokální | ✅ |
| 32 | RealitníMakléřka | https://realitni-maklerka.cz | RE/MAX | ✅ |
| 33 | Realitníservery | https://realitniservery.cz | Katalog | 📊 |
| 34 | T15.cz | https://t15.cz | Srovnávač | ✅ |
| 35 | Videobydlení | https://videobydleni.cz | Video prohlídky | ✅ |
| 36 | Eurobydlení | https://eurobydleni.cz | Starší | ✅ |
| 37 | Tiscali Reality | https://tiscali-reality.cz | Archiv | ⚠️ |
| 38 | Domy-byty-pozemky | https://domy-byty-pozemky.cz | Inzerce | ✅ |
| 39 | Maxirealitypraha | https://maxirealitypraha.cz | Praha | ✅ |
| 40 | LiveOnRiviera | https://liveonriviera.com | Zahraniční | ✅ |
🛠️ TECHNICKÉ SPECIFIKACE - SCRAPING STRATEGIE
Strategie 1: BeautifulSoup (Nejjednoduší - Doporučené)
Vhodné pro: Sreality, iDNES, Reality.cz, Bezrealitky, Bazoš
import requestsfrom bs4 import BeautifulSoupimport timeimport csv# Konfiguraceheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'}DELAY = 2 # Sekund mezi requesty# Příklad: Sreality.czurl = "https://www.sreality.cz/hledani/prodej/byty/praha"response = requests.get(url, headers=headers)soup = BeautifulSoup(response.content, 'html.parser')# Extrakce nabídek (upravit dle aktuální struktury)listings = soup.find_all('div', class_='property-list__item')results = []for listing in listings:try:title = listing.find('span', class_='title').text.strip()price = listing.find('span', class_='price').text.strip()address = listing.find('span', class_='address').text.strip()results.append({'title': title,'price': price,'address': address,'url': listing.find('a')['href'] if listing.find('a') else None})except Exception as e:print(f"Chyba při parsování: {e}")time.sleep(DELAY)# Uložení do CSVwith open('nemovitosti.csv', 'w', newline='', encoding='utf-8') as f:writer = csv.DictWriter(f, fieldnames=['title', 'price', 'address', 'url'])writer.writeheader()writer.writerows(results)print(f"Sebráno {len(results)} nemovitostí")
Strategie 2: Selenium (Pro JavaScript Porály)
Vhodné pro: Realingo, UlovDomov, moderní React aplikace
from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECimport time# Setupdriver = webdriver.Chrome() # Nebo Firefoxwait = WebDriverWait(driver, 10)# Načtení stránkyurl = "https://www.realingo.cz/prodej/byty"driver.get(url)# Čekání na načtení dynamického obsahuwait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, "property-card")))# Extrakce elementůlistings = driver.find_elements(By.CLASS_NAME, "property-card")results = []for listing in listings:title = listing.find_element(By.CLASS_NAME, "title").textprice = listing.find_element(By.CLASS_NAME, "price").textresults.append({'title': title, 'price': price})driver.quit()print(f"Sebráno {len(results)} nemovitostí")
Strategie 3: Apify SDK (Cloudová Řešení)
Vhodné pro: Production nasazení, škálovatelné řešení
const Apify = require('apify');Apify.main(async () => {const crawler = new Apify.CheerioCrawler({requestList: await Apify.openRequestList('default', ['https://www.sreality.cz/hledani/prodej/byty/praha']),handlePageFunction: async ({ request, $, body }) => {const listings = [];$('.property-list__item').each((_, el) => {listings.push({title: $(el).find('.title').text(),price: $(el).find('.price').text(),url: $(el).find('a').attr('href')});});await Apify.pushData(listings);},});await crawler.run();});
📋 POKYNY PRO SCRAPING
Best Practices:
1. RESPEKTOVAT ROBOT.TXT✓ Kontrolovat /robots.txt před scraping✓ Dodržovat pravidla (delay, user-agent)✓ Když řekne "Disallow: /", NESCRAPOVAT2. RATE LIMITING✓ 1-5 sekund delay mezi requesty✓ Max 100-200 requestů za minutu✓ Distribuovat load na čas (ne svalový scraping)3. USER-AGENT✓ Vždy nastavit realistický User-Agent✓ Náhodně rotovat User-Agenty (knihovna faker)✓ Nenazývat se "Bot" nebo "Scraper"4. GDPR & PRIVACY✗ Nescrapovat osobní data (jména, emaily, tel.)✓ Scrapovat jen veřejné údaje (ceny, adresy)✓ Neukládat citlivé údaje5. ERROR HANDLING✓ Implementovat retry logiku (3x pokus)✓ Logovat chyby do souboru✓ Monitorovat HTTP status (404, 429, 500)6. VÝKON✓ Paralelizovat requesty (3-5 concurrent)✓ Cachovat výsledky (nesbírat 2x)✓ Přerušit dlouhotrvající procesy (timeout)
📍 INTEGRACE DO APLIKACE
Backend Endpoint: POST /api/scraper/nemovitosti
// server/routes.tsapp.post("/api/scraper/nemovitosti", requireApiToken, async (req, res) => {try {const { portals, region, type } = req.body;// portals: ["sreality", "idnes", "bezrealitky"]// region: "Praha", "Jihomoravský kraj"// type: "prodej|pronajem"const results = await Promise.all(portals.map(portal => scrapePortal(portal, region, type)));res.json({success: true,collected: results.flat().length,data: results.flat()});} catch (error) {res.status(500).json({ error: error.message });}});
⚠️ PRÁVNÍ OMEZENÍ
| Omezení | Status | Řešení |
|---|---|---|
| robots.txt | ✓ Závazné | Respektovat pravidla |
| GDPR | ✓ Povinné | Nescrapovat osobní data |
| ToS | ⚠️ Varuje | Některé portály zakazují |
| Autorská práva | ✓ Chráněné | Popisy/fotky jsou autorská |
| Server load | ⚠️ Riziko | Rate limiting |
🎯 PRIORITIZACE PRO MVP
Fáze 1: ZÁKLADNÍ (Týden 1)
✅ Sreality.cz (BeautifulSoup)✅ Reality.iDNES (BeautifulSoup)✅ Bezrealitky (Apify)= 80% trhu v ČR
Fáze 2: EXPANZE (Týden 2-3)
✅ Reality.cz✅ ČeskéReality✅ Bazoš (bazár)= Zbývajících 15% + alternativy
Fáze 3: AGREGÁTOR (Týden 4+)
✅ RealityMon (agregované)✅ Realingo (mapa)✅ Zbylých 30+ portálů= Kompletní pokrytí TOP 40
📞 REFERENCE & ZDROJE
- Apify Bezrealitky: https://apify.com/bebich/bezrealitky
- RealityMon: http://www.realitymon.cz
- BeautifulSoup Docs: https://www.crummy.com/software/BeautifulSoup/
- Selenium Docs: https://selenium.dev/documentation/
- robots.txt Guide: https://www.robotstxt.org/
Poslední aktualizace: Prosinec 2025
Autor: Agent Executor Platform
Status: Připraveno k implementaci v NEMOVITOSTI aplikaci 🚀
