Otodom Scraper - Polish Real Estate Listings avatar

Otodom Scraper - Polish Real Estate Listings

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Otodom Scraper - Polish Real Estate Listings

Otodom Scraper - Polish Real Estate Listings

Scrapes property listings from Otodom.pl, Poland's leading real estate marketplace. Supports filters for transaction type, property type, location, price, area, rooms, building type, extras, and more.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Scraptivo

Scraptivo

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

Otodom Scraper collects property listings from Otodom.pl, Poland's leading real estate marketplace, and turns them into structured data for real estate analysis, lead generation, and market monitoring. Provide a search URL or a location with filters, run the Actor, and export prices, area, rooms, floor, address, images, and seller details to JSON, CSV, Excel, or your preferred integration. Use it to track asking prices, build property lists, and monitor new listings. Each property result costs $0.001.

What can you automate with Otodom Scraper?

  • Track asking prices — collect total price and price per square meter across cities and property types.
  • Build property lists — filter by transaction, property type, price, area, rooms, and building type.
  • Monitor new listings — schedule recurring runs to catch fresh offers by date.
  • Identify private sellers vs agencies — export isPrivateOwner and agencyName.
  • Feed a CRM or spreadsheet — export JSON, CSV, or Excel for outreach or analysis.

Who is this scraper for?

TeamWorkflow
Real estate agentsMonitor competing listings and pricing in their market.
Investors and analystsTrack price trends and yields by location and property type.
Lead-generation teamsBuild lists of sellers and agents with contact context.
Proptech and data teamsPower apps and dashboards with structured listing data.

What data can you collect from Otodom?

Data groupExample fieldsHow it helps
Listing identityid, title, url, dateCreatedIdentify and link the offer.
PricetotalPrice, priceCurrency, pricePerSquareMeterAssess value and compare.
Property detailsareaInSquareMeters, roomsNumber, floorNumber, estate, transactionQualify the property.
Locationcity, province, street, locationMap and target areas.
SellerisPrivateOwner, agencyName, ownerName, isExclusiveOfferUnderstand who is selling.

How to use Otodom Scraper

  1. Open the Actor in the Scraptivo account.
  2. Paste a copied Otodom search URL, or enter a location plus filters.
  3. Set optional filters for price, area, rooms, and property type.
  4. Run the Actor.
  5. Export the dataset to JSON, CSV, Excel, or your integration.
{ "locationQuery": "Bielawa", "transaction": "RENT", "estate": "FLAT", "maxItems": 20 }

Example workflow

Track apartment asking prices in a district every week

  1. Run an apartment (FLAT) search for one city every Monday.
  2. Keep listings posted in the last 7 days.
  3. Send new records to Google Sheets or a CRM.
  4. Deduplicate using the stable listing id.

Automate and integrate your results

  • Schedule daily or weekly runs per location using Apify's Scheduler or the API.
  • Webhooks after a successful run to trigger your downstream pipeline.
  • Export to Google Sheets, Make, Zapier, Slack, or a database.
  • Deduplicate using the stable id field.
curl "https://api.apify.com/v2/acts/scraptivo~otodom-scraper/run-sync" -H "Content-Type: application/json" -d '{"locationQuery":"Bielawa","transaction":"SELL","estate":"FLAT","maxItems":20}'

Input reference

FieldTypeRequiredDefaultWhat it controls
searchUrlstringnoFull Otodom search URL; when set, filter fields are ignored.
locationQuerystringnoCity/region name or Otodom domain path.
transactionstringnoSELLFor sale or for rent.
estatestringnoFLATProperty type (apartment, house, plot, etc.).
marketstringnoALLPrimary (new), secondary (resale), or all.
ownerTypestringnoALLFilter by private, developer, or agency.
availabilitystringno""Filter by "available now" or any.
priceMin / priceMaxintegernoPrice range in PLN.
areaMin / areaMaxintegernoLiving area range in m².
roomsNumberarraynoFilter by number of rooms (1 to 6+).
buildingTypearraynoBuilding construction type.
heatingarraynoHeating type.
floorNumberarraynoFloor position.
floorsNumberMin / MaxintegernoBuilding floor count range.
buildYearMin / MaxintegernoConstruction year range.
extrasarraynoAmenities (balcony, garage, elevator, etc.).
daysSinceCreatedstringno""Filter by listing age (1/3/7/14/30 days).
hasPhotosbooleannofalseOnly listings with photos.
isExclusiveOfferbooleannofalseOnly exclusive (private) offers.
sortBystringnoDEFAULTSort by price, date, or area.
sortDirectionstringnoDESCAscending or descending order.
maxPagesintegerno0Max result pages to scrape (0 = unlimited).
maxItemsintegerno100Max listings to scrape (0 = unlimited).
proxyConfigurationobjectnoRESIDENTIALProxy settings for anti-bot protection.

Output example

{
"id": 68126450,
"title": "3-POKOJOWE MIESZKANIE – BIELAWA, UL. REYMONTA",
"url": "https://www.otodom.pl/pl/ad/3-pokojowe-mieszkanie-bielawa-ul-reymonta-ID4BQNI",
"estate": "FLAT",
"transaction": "RENT",
"totalPrice": 1900,
"priceCurrency": "PLN",
"pricePerSquareMeter": 29,
"areaInSquareMeters": 65,
"roomsNumber": "THREE",
"floorNumber": "SECOND",
"city": "Bielawa",
"province": "dolnośląskie",
"isPrivateOwner": true,
"hasPhotos": true,
"imageCount": 11
}

How much does it cost to scrape Otodom?

Otodom Scraper uses pay-per-event billing on Apify:

  • $0.001 per property result (the headline result event).
  • $0.00005 per run for the actor-start event.

Examples: 100 listings cost about $0.10; 1,000 listings cost about $1.00 plus the start fee. Residential proxy traffic is billed separately by Apify according to your plan.

Reliability and responsible use

  • Residential proxies are enabled by default for anti-bot protection.
  • When searchUrl is provided, the filter fields are ignored and only maxItems, maxPages, and proxy apply.
  • Location names are resolved automatically via Otodom's autocomplete.
  • Scrape only public listing data and follow Otodom's terms of service.

Frequently asked questions

Can I scrape Otodom by search URL instead of filters?

Yes. Paste a copied Otodom search URL into searchUrl; the Actor uses it as-is and ignores the filter fields.

Can I filter by price, area, and rooms?

Yes. Use priceMin/priceMax, areaMin/areaMax, and roomsNumber. These apply only when searchUrl is empty.

What counts as one result?

One property listing in the dataset.

Why are some fields empty?

Some listings do not publish every field (e.g. agencyName is empty for private sellers, and pricePerSquareMeter can be missing).

How do I avoid duplicate records?

Deduplicate on the stable id field before writing to your CRM or spreadsheet.

Do I need a proxy?

Residential proxies are recommended and enabled by default for anti-bot protection.

Support and custom workflows

Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, a sample URL, the required fields, and expected volume so we can assess the request.