OLX.bg Real Estate Scraper avatar

OLX.bg Real Estate Scraper

Pricing

from $1.20 / 1,000 results

Go to Apify Store
OLX.bg Real Estate Scraper

OLX.bg Real Estate Scraper

Real estate listings scraper for olxbg

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

OLX.bg Scraper

olxbg-scraper

Scrape real estate listings from OLX.bg — Bulgaria's largest classifieds platform — dominant in real estate. Filter by transaction type, Bulgarian region/city, property type, and price range. No API key required.


Why this scraper?

⚡ Fast & cost-efficient extraction

Pure REST API — no browser, no HTML parsing. Direct JSON responses from OLX.bg's official internal API.

🏠 Market coverage

60,000+ Bulgarian property listings across all 28 oblasts and Sofia-grad.

💰 Rich structured data

50 fields per listing: price (EUR + BGN), price per m², area, rooms, floor, construction type, heating, furnishing, amenities, GPS coordinates, promotion flags, contact flags, and more.

🔍 Flexible filters

Filter by transaction (sale/rent), property type, region/city, and price range. Multi-region splitting automatically bypasses the API's 1,000-item-per-query cap.

📍 Location & coverage

Covers all Bulgarian oblasts: Sofia, Plovdiv, Varna, Burgas, and all 28 regions.

🔗 Direct URL support

Pass any OLX.bg real estate search URL via startUrls — region and category are auto-detected.


Input parameters

ParameterTypeDescriptionDefault
transactionstringsale or rentsale
propertyTypestringapartment, house, land, garage, office, commercialapartment
regionsarrayCity/region names, e.g. ["sofia","plovdiv","varna"][] (all Bulgaria)
maxItemsintegerMaximum listings to scrape100
startUrlsarrayDirect OLX.bg real estate URLs — overrides other filters
minPriceintegerMin price in EUR (client-side filter)
maxPriceintegerMax price in EUR (client-side filter)

Regions / cities

Use common city names or full region slugs:

City nameRegion slug
sofiaoblast-sofiya-grad
plovdivoblast-plovdiv
varnaoblast-varna
burgasoblast-burgas
stara-zagoraoblast-stara-zagora
ruseoblast-ruse
plevenoblast-pleven

All 28 Bulgarian oblasts are supported — use the oblast-{name} slug format for any region.


Output schema

{
"id": "147756215",
"url": "https://www.olx.bg/d/ad/...",
"transaction": "sale",
"propertyType": "apartment",
"title": "Продавам 3-стаен апартамент",
"priceText": "183456.85 лв. / 93800 €",
"priceAmount": 93800,
"priceCurrency": "EUR",
"negotiable": false,
"pricePerM2": 2345,
"city": "гр. Варна",
"citySlug": "varna",
"region": "Област Варна",
"district": "Общината",
"country": "BG",
"latitude": 43.19778,
"longitude": 27.89139,
"areaM2": 40,
"rooms": 1,
"apartmentType": "1 - стаен",
"floor": 5,
"totalFloors": 6,
"isNotLastFloor": false,
"buildYear": 2010,
"constructionType": "Тухла",
"heating": "Електричество",
"furnishing": "Обзаведен",
"hasPassage": false,
"amenities": ["asansor", "klimatik", "parking", "saniran"],
"images": ["https://frankfurt.apollo.olxcdn.com:443/v1/files/.../image;s=800x600"],
"agencyName": null,
"sellerName": "Иван",
"isBusiness": false,
"hasPhone": true,
"hasChat": true,
"isPromoted": true,
"isTopAd": true,
"isUrgent": false,
"publishDate": "2026-04-23",
"publishDateISO": "2026-04-23T14:30:20+03:00",
"pushedUpAt": "2026-05-05",
"lastRefreshDate": "2026-05-05",
"validToDate": "2026-05-23",
"isRepost": true,
"categoryId": 524,
"source": "olx.bg",
"scrapedAt": "2026-05-06T10:53:37.677Z",
"contentHash": "7b2b6a9783b722bf"
}

New fields vs v1.0

FieldDescription
pricePerM2Price per square metre (from API param ppsp)
citySlugCity normalized slug, e.g. varna
districtSub-district name within the city
isNotLastFloorWhether the apartment is NOT on the top floor
heatingHeating type (Електричество, ТЕЦ, etc.)
furnishingFurnishing status (Обзаведен, Необзаведен, etc.)
hasPassageWhether the apartment has a passage/through layout
amenitiesArray of feature slugs (asansor, parking, klimatik, etc.)
sellerNameSeller's name
isBusinesstrue if listed by a business account
hasPhoneWhether a phone number is available
hasChatWhether chat is available
isPromotedHighlighted or top-ad listing
isTopAdPaid top-ad placement
isUrgentMarked as urgent
lastRefreshDateDate the listing was last refreshed
validToDateListing expiry date

Examples

Apartments for sale in Sofia:

{ "transaction": "sale", "propertyType": "apartment", "regions": ["sofia"], "maxItems": 100 }

Rent apartments in Sofia + Plovdiv, filtered by price:

{ "transaction": "rent", "propertyType": "apartment", "regions": ["sofia", "plovdiv"], "minPrice": 400, "maxPrice": 800, "maxItems": 200 }

Houses for sale, all of Bulgaria:

{ "transaction": "sale", "propertyType": "house", "maxItems": 500 }

Via direct URL:

{ "startUrls": [{ "url": "https://www.olx.bg/nedvizhimi-imoti/prodazhbi/kaschi-vili/oblast-plovdiv/" }], "maxItems": 50 }

Daily feed of new listings (run on a schedule):

{
"daysOld": 1,
"maxItems": 500
}

Schedule this input to run once a day in the Apify Scheduler — each run returns only listings added in the last 24 hours, ideal as a daily new-listings alert.

💰 Pricing

$1.50 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.

ResultsCost
100~$0.15
1,000~$1.50
10,000~$15.00
100,000~$150.00

Flat-rate real estate data providers typically charge $99–$299/month regardless of usage. At 10,000 results/month, this scraper costs significantly less with no subscription.


Performance

Run sizeEstimated time
100 listings~2–4 min
500 listings~8–15 min
1,000 listings~20–30 min

Multi-region runs execute segments sequentially with respectful delays.


Known limitations

  • Price currency: Some listings quote price in BGN only — the EUR equivalent shown uses OLX's own conversion label.
  • Contact: Private seller phone numbers may be masked — full numbers require login.
  • Language: All text fields are returned in Bulgarian Cyrillic.
  • API cap: OLX.bg limits each category+region query to 1,000 results. For high-volume national scrapes, use the regions input to split across oblasts (each with its own 1,000 cap).
  • Price filter: OLX.bg's API does not support server-side price filtering — minPrice/maxPrice are applied client-side after fetching.

Technical details

  • Method: OLX.bg REST API v1 (/api/v1/offers/) — no browser, no HTML parsing
  • Memory: 256 MB
  • Retry: Automatic retry on transient errors with exponential backoff
  • Deduplication: Cross-run content hash prevents duplicate listings in repeated runs
  • Output fields: 49 fields

Additional services

Need a custom actor, additional filters, scheduled runs, or integration support?.nl](mailto:info@unfencedgroup.nl) — we build on request.



Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl