Imoti.net Scraper - Bulgarian Real Estate Listings
Pricing
from $5.00 / 1,000 result scrapeds
Imoti.net Scraper - Bulgarian Real Estate Listings
Scrape real estate listings from Imoti.net, Bulgaria's #2/#3 property portal. Extract prices in EUR and BGN, areas, rooms, floors, energy class, locations, images, and seller details for apartments, houses, land, and commercial properties for sale or rent.
Pricing
from $5.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Imoti.net Scraper
Extract property listings from Imoti.net -- one of Bulgaria's largest real estate portals -- into structured JSON with prices in both EUR and BGN, areas, rooms, floors, energy class, locations, photos, and seller details.
What is Imoti.net Scraper?
Imoti.net Scraper lets you extract structured real estate data from one of Bulgaria's biggest property platforms, helping you monitor the market, compare prices, and automate property research -- all without manual browsing or login.
- Track market prices across Bulgaria: extract listings with prices in EUR and BGN, surface areas, and price-per-m2 to build price maps across Sofia, Plovdiv, Varna, Burgas, and every major Bulgarian city
- Monitor new listings in real time: schedule daily runs and get alerted the moment a property matching your criteria hits the market
- Build property datasets for analysis: export thousands of listings with areas, rooms, floors, and construction details for valuation models, academic research, or investment screening
- Compare sale vs. rental markets: switch between sale and rent listings to analyse yield gaps and rental demand across locations
- Feed your CRM or dashboard: export structured data to Google Sheets, Airtable, or any BI tool via Apify integrations
Imoti.net has no public API and no bulk export feature. This scraper is the only way to get structured data out of this platform at scale.
What data does Imoti.net Scraper extract?
Each listing returns the following fields:
- Property Title -- the listing headline
- Property Type -- apartment (studio to 4+ room), house, villa, maisonette, office, plot, shop, and more (Bulgarian label as shown on the site)
- Rooms -- derived from the apartment-size label (Едностаен=1, Двустаен=2, Тристаен=3, Четиристаен=4, Многостаен=5+); null for houses, land, and other non-apartment types
- Transaction Type -- sale or rent
- Price -- asking price in EUR, with the BGN equivalent alongside (imoti.net always shows both currencies -- never converted, both are the site's own published numbers)
- Price per m2 -- in both EUR and BGN
- Area -- living area in square meters
- Floor -- floor number, e.g. "2 от 4" (2 of 4) -- only with
fetchDetailson - Construction Type -- building material, e.g. "Тухла" (brick) -- only with
fetchDetailson - Energy Class -- energy performance rating, when the seller reported it -- only with
fetchDetailson - City / District / Location -- Bulgarian city and neighbourhood
- Seller Type -- agency or private individual
- Agency Name -- name of the listing agency, null for private sellers
- Description -- listing text (truncated snippet by default, full text with
fetchDetailson) - Images -- main thumbnail by default, full photo gallery with
fetchDetailson - Posted Date / Views -- only with
fetchDetailson - URL -- direct link to the listing on Imoti.net
- Scraped At -- ISO 8601 timestamp
How to scrape Imoti.net data
The input is simple: choose a city, property type, and transaction type and hit run. You can configure the scraper through the Apify Console UI or programmatically via the API.
Input fields
| Field | Type | Default | Description |
|---|---|---|---|
| citySlug | String | "sofia" | City area slug from an Imoti.net URL, e.g. "sofia", "plovdiv", "varna", "burgas" |
| transactionType | String | "sale" | "sale" or "rent" |
| propertyType | String | "any" | "any", "ednostaen", "dvustaen", "tristaen", "mnogostaen", "mezonet", "kashta", "vila", "ofis", "parcel", "magazin" |
| startUrls | Array | -- | Imoti.net search-result or single-listing URLs (overrides city/type filters); max 100 |
| maxResults | Integer | 50 | Maximum number of listings to return (1--2,000) |
| fetchDetails | Boolean | false | OFF by default. When ON, fetches each listing's own detail page to add floor, construction type, energy class, posted date, views, and full photo gallery -- roughly doubles request count and run time |
| proxyConfiguration | Object | Automatic | No proxy group needed -- see "Do I need proxies?" below |
Tips for best results
- Use
citySlugfor quick searches:"sofia","plovdiv","varna","burgas","ruse","stara-zagora","pleven","blagoevgrad"and 18 more major cities are confirmed-working (see table below). Any valid Imoti.net area slug works, even ones not listed here. - Use
startUrlsfor advanced filtering: apply price ranges, room counts, or other filters on Imoti.net, copy the URL, and paste it as a start URL to preserve them. A single listing URL also works and returns full detail-page data for that one property. - Turn on
fetchDetailsonly when you need it: floor, construction type, energy class, posted date, and the full photo gallery all require an extra request per listing. Search-card data alone (default) already covers price in both currencies, area, rooms, location, and seller info. - Start with a small
maxResults(e.g. 20) to verify the output, then scale up. - Empty input works: running with
{}defaults to apartments and houses for sale in Sofia.
Confirmed city slugs
| City | Slug | City | Slug |
|---|---|---|---|
| Sofia | sofia | Montana | montana |
| Plovdiv | plovdiv | Haskovo | haskovo |
| Varna | varna | Yambol | yambol |
| Burgas | burgas | Pazardzhik | pazardzhik |
| Ruse | ruse | Kyustendil | kustendil |
| Stara Zagora | stara-zagora | Shumen | shumen |
| Pleven | pleven | Silistra | silistra |
| Dobrich | dobrich | Razgrad | razgrad |
| Sliven | sliven | Targovishte | targovishte |
| Pernik | pernik | Smolyan | smolyan |
| Veliko Tarnovo | tarnovo | Lovech | lovech |
| Blagoevgrad | blagoevgrad | Vidin | vidin |
| Vratsa | vratsa | Kardzhali | kardzhali |
| Gabrovo | gabrovo |
Output
Results are stored in a dataset that you can download in JSON, CSV, Excel, XML, or HTML format directly from the Apify Console.
JSON example
{"externalId": "6226637","propertyTitle": "Едностаен апартамент, София, Малинова Долина","propertyType": "Едностаен апартамент","rooms": 1,"transactionType": "sale","price": 95000,"currency": "EUR","priceBgn": 185804,"pricePerSqm": 2794,"pricePerSqmBgn": 5464.82,"area": 34,"floor": "1 от 4","constructionType": "Тухла","energyClass": null,"city": "София","district": "Малинова Долина","location": "София, Малинова Долина","sellerType": "agency","agencyName": "Революшън Естейт България","description": "Референтен номер: 2107424 ...","imageUrl": "https://www.imoti.net/web/files/obiavi/6226637/main_image/thumb_880x0_wm_main_image_6226637_1.jpg","images": ["https://www.imoti.net/web/files/obiavi/6226637/..."],"photoCount": 7,"postedDate": "2026-06-24","views": 594,"url": "https://www.imoti.net/bg/obiava/prodava/sofia/malinova-dolina/ednostaen/6226637/","scrapedAt": "2026-06-24T10:30:00.000Z"}
How much does it cost to scrape Imoti.net?
Imoti.net has no real bot protection to pay for -- the actor reads server-rendered HTML directly with a standard browser User-Agent header, no proxy or unblocking service required. That keeps runs fast and cheap.
| Scenario | Est. cost | Time |
|---|---|---|
50 listings, fetchDetails off | ~$0.26 | ~10 sec |
500 listings, fetchDetails off | ~$2.51 | ~1 min |
500 listings, fetchDetails on | ~$2.51 | ~5 min |
2,000 listings, fetchDetails on | ~$10.01 | ~15 min |
Pricing breakdown:
- Per result: $0.005
- Per run: $0.01
Usage cost only settles once a run reports SUCCEEDED -- reading a dataset mid-run will show a cost far below the final total.
Can I integrate Imoti.net Scraper with other apps?
Yes. Imoti.net Scraper connects with any tool through Apify integrations:
- Google Sheets -- automatically export property data to a spreadsheet
- Slack / Email -- get notified when new listings match your criteria
- Zapier / Make -- trigger workflows when data is ready
- Airtable -- build a searchable property database
- REST API -- call the scraper programmatically from any language
- Webhooks -- get notified when a run finishes
Can I use Imoti.net Scraper as an API?
Yes. Use the Apify API to run Imoti.net Scraper programmatically.
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("studio-amba/imoti-net-scraper").call(run_input={"citySlug": "sofia","transactionType": "sale","propertyType": "dvustaen","maxResults": 200,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['propertyTitle']} -- EUR {item['price']:,} -- {item['location']}")
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('studio-amba/imoti-net-scraper').call({citySlug: 'sofia',transactionType: 'sale',propertyType: 'dvustaen',maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Check the API tab for full documentation.
FAQ
What is Imoti.net?
Imoti.net is one of Bulgaria's largest real estate platforms, covering apartments, houses, villas, land, and commercial property for sale and rent across every major Bulgarian city. It's a separate site and business from Imot.bg -- if you need both, Studio AMBA also publishes an Imot.bg Scraper.
How does Imoti.net Scraper work?
It requests Imoti.net search-result pages with a real browser User-Agent header (the site rejects requests that don't send one, but doesn't otherwise challenge automated access) and extracts structured data from the server-rendered HTML. Search cards give price, area, location, and seller info directly; the optional detail-page fetch adds floor, construction type, energy class, and the full photo gallery.
Can I scrape both sale and rental listings?
Yes. Set transactionType to "sale" or "rent". Filter by property type with propertyType: apartments by room count, houses, villas, offices, plots, or shops.
Do I need proxies?
No. Imoti.net's only access rule is a realistic browser User-Agent header, which this actor always sends. The default proxyConfiguration uses Apify's free automatic proxy pool. If you see blocks from your own account's specific IP reputation, escalate to RESIDENTIAL in the proxy settings.
Why do prices show both EUR and BGN?
Imoti.net itself always displays both currencies for every listing -- the scraper reports both exactly as published, never converting one to the other at scrape time (an FX conversion would bake in a rate that goes stale immediately).
Is it legal to scrape Imoti.net?
This scraper extracts publicly available listing data that Imoti.net displays to all visitors. The data is factual (prices, addresses, property specifications) and does not contain private personal information. As with any scraping tool, use the data responsibly and in compliance with applicable laws. No login or cookies are required.
Limitations
- Bulgaria only. Imoti.net covers exclusively Bulgarian real estate.
- Rooms is derived, not native. Imoti.net doesn't expose a separate numeric "rooms" field -- for apartments it's inferred from the Bulgarian size label (Едностаен/Двустаен/etc); it's null for houses, land, and other property types.
- Floor, construction type, energy class, posted date, views, and full gallery all require
fetchDetails: true. With it off (the default, for speed), output comes only from search-card data. - Energy class is frequently missing. Most sellers don't fill it in on the source site -- this is a data-completeness fact of Imoti.net, not a scraper limitation.
- Description is a truncated snippet unless
fetchDetailsis on, which pulls the full, untruncated listing text.
Other Bulgarian and Balkan real estate scrapers
Combine Imoti.net Scraper with these actors for broader regional property market coverage:
- Imot.bg Scraper -- Bulgaria's largest real estate portal
- Spitogatos Scraper -- Greek real estate listings
Your feedback
Found a bug or have a feature request? Please open an issue on the Issues tab. We actively maintain this scraper and respond to all reports.