Hepsiemlak Property Search Scraper
Pricing
from $1.50 / 1,000 results
Hepsiemlak Property Search Scraper
Automate extraction of comprehensive Turkish property data from Hepsiemlak.com. Capture listings with pricing, locations, features, images, and contact details. Perfect for real estate analysis, market research, and investment intelligence in Turkey's dynamic property market.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Stealth mode
Maintained by CommunityActor stats
0
Bookmarked
46
Total users
7
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Hepsiemlak.com Property Details Scraper: Extract Turkish Real Estate Data Efficiently
Understanding Hepsiemlak.com and Its Value
Hepsiemlak.com ranks among Turkey's leading real estate platforms, connecting buyers, sellers, and renters across Turkish cities from Istanbul to Ankara. The platform aggregates residential and commercial properties, vacation rentals, and land listings with detailed specifications that drive investment decisions.
For property investors analyzing Turkish markets, agencies monitoring competition, or researchers studying housing trends, Hepsiemlak data provides essential insights. Manual collection across searches, neighborhoods, and price ranges requires tedious scrolling and copying. This scraper automates the entire extraction process, transforming search results into structured datasets ready for analysis.
What This Scraper Extracts
The Hepsiemlak.com scraper processes search result pages—listings displayed after applying location, price, or property type filters. It efficiently captures multiple properties from search pages, ideal for building comprehensive datasets across regions or categories.
Key Data Extracted:
Property Identification: Listing ID, identification number, and detail URL enable tracking specific properties and accessing full details.
Pricing & Economics: Price, currency, highest/lowest price, and CPL status provide financial analysis foundations.
Location Data: Country, city, county, district, and map coordinates offer geographic context for market segmentation.
Property Specifications: Room count, living room count, SQM area, floor, age, and bed/guest counts deliver comprehensive property details.
Visual Assets: Images array, image URLs, 360-degree image counts, and video URLs provide visual documentation.
Marketing Elements: Title, description, tags, featuring status, star ratings, and branded indicators reveal positioning strategies.
Contact Information: Owner details, firm information, WhatsApp numbers, seller type, and contact permissions enable direct engagement.
Listing Metadata: Create date, update timestamps, ad data type, category classifications, and stale status track listing lifecycle.
Additional Features: Dormitory status, online visit capabilities, realty sharing, flat-for-land exchanges, and projeland indicators provide specialized information.
Input Configuration
The scraper processes Hepsiemlak search result URLs. Understanding parameters ensures accurate targeting.
Example Configuration:
{"urls": ["https://www.hepsiemlak.com/en/emlak?q=anka&page=2"],"ignore_url_failures": true,"max_items_per_url": 20,"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Example Screenshot:

Parameter Breakdown:
urls: Search result page URLs from Hepsiemlak. Include multiple URLs for different searches, locations, or pagination. The example targets page 2 of "anka" search results.
ignore_url_failures: When true, continues processing remaining URLs if some fail. Essential for batch operations—one failed URL won't halt the entire job.
include_raw_data: When true, includes raw data from website before cleaning in the output.
max_items_per_url: Controls extraction quantity per URL. Set to 20 for standard pages. Hepsiemlak typically displays 20-30 properties per page.
proxy: Set useApifyProxy: false by default. Enable residential proxies for large-scale scraping to avoid detection. Occasional small runs may not require proxies.
URL Structure Tips: Perform manual searches on Hepsiemlak first, apply desired filters (location, price, type), then copy resulting URLs. For comprehensive datasets, include multiple page numbers: page=1, page=2, etc.
Complete Output Structure and Field Definitions
The scraper returns JSON data with each property as an object containing detailed fields. Related attributes (agent, agency, contact, promotion) are grouped into nested objects. Understanding field purposes enables effective analysis and application.
Listing Identification
ID: Unique numeric identifier of the listing on Hepsiemlak. Purpose: Database indexing, tracking listings over time, avoiding duplicates.
Listing ID: Public listing code in the format agencyId-listingNumber. Purpose: Cross-referencing with agency records, linking to detail pages.
Listing URL: Direct link to the full listing. Purpose: Accessing complete details, sharing with clients, verification of scraped data.
Title: Headline of the listing. Purpose: Quick preview, keyword analysis, listing summaries.
Description: Short descriptive text of the listing. Purpose: Summary of size, layout and location, keyword analysis.
Transaction: Type of transaction offered (e.g., For Sale). Purpose: Separating sales from rentals.
Main Category: Top-level property class (e.g., Residential). Purpose: Segmenting the market by residential, commercial or land.
Property Type: Specific property type (e.g., Apartment). Purpose: Fine-grained filtering and segmentation.
Identification No: Official advertisement identification number. Purpose: Verifying registration and detecting duplicate ads across portals.
Advertise Category Title: Extra category title attached to the ad (may be empty). Purpose: Identifying special ad categories.
Pricing
Price: Asking price as a number. Purpose: Price comparison, market valuation, budget filtering.
Currency: Currency of the listed price (e.g., TRY). Purpose: Correct financial interpretation in multi-currency datasets.
Highest Price: Highest price recorded for the listing. Purpose: Detecting price changes over the listing's life.
Lowest Price: Lowest price recorded for the listing. Purpose: Detecting price reductions and negotiation room.
Price Per Sqm: Price per square meter provided by the platform (often 0 for apartments, mainly used for land). Purpose: Benchmarking value across properties.
Property Characteristics
Room Layout: Room configuration as displayed (e.g., 3+1). Purpose: Matching properties to buyer requirements.
Room Count: Number of rooms (bedrooms). Purpose: Household size targeting, segmentation.
Living Room Count: Number of living rooms. Purpose: Layout analysis combined with room count.
Bed Count: Number of beds (relevant for short-term/holiday rentals). Purpose: Capacity analysis for rental listings.
Guest Count: Maximum number of guests (relevant for short-term rentals). Purpose: Capacity analysis for rental listings.
Net Sqm: Usable area in square meters. Purpose: Price-per-m² analysis on real living space.
Gross Sqm: Total area in square meters. Purpose: Size comparison and gross price-per-m².
Open Area Sqm: Open area such as balcony or terrace. Purpose: Assessing outdoor space and added value.
Floor: Floor label shown on the listing. Purpose: Filtering by floor preference.
Floor Number: Floor level as a number. Purpose: Numeric sorting and floor-based price analysis.
Building Age: Age of the building in years (0 = new). Purpose: Valuation adjustments, separating new builds from resale.
Star: Star rating (hotel-type properties, may be null). Purpose: Segmenting accommodation listings.
Dormitory: Dormitory flag/info (may be null). Purpose: Identifying dormitory-type properties.
Period: Rental period (may be null). Purpose: Separating daily/monthly/seasonal rentals.
Populated: Population/occupancy indicator (may be null). Purpose: Special property filtering when available.
Projeland: Project/land development indicator (may be null). Purpose: Identifying project-linked listings.
Location
Country: Country of the property (may be null). Purpose: Geographic segmentation.
City: City (province) of the property. Purpose: City-level market analysis.
County: County (ilçe) of the property. Purpose: County-level statistics.
District: District (mahalle) of the property. Purpose: Micro-market analysis.
Latitude / Longitude: Geographic coordinates of the property. Purpose: Map plotting, distance calculations, spatial analysis.
Seller and Status
Seller Type: Seller category (e.g., Kurumsal = corporate). Purpose: Separating agencies from private sellers.
Advertise Owner: Who advertises the property (e.g., Emlakçıdan = from agent). Purpose: Identifying listing source and lead type.
Is Shared Listing: Whether the listing is shared among agencies. Purpose: Detecting co-brokerage and duplicates.
Is Flat Received For Land: Whether the property is part of a flat-for-land (kat karşılığı) deal. Purpose: Filtering special sale conditions.
Is Stale: Whether the listing is flagged as outdated. Purpose: Filtering inactive listings.
Has Online Visit: Whether online viewing is offered. Purpose: Identifying remote-viewing-ready listings.
Agent (object)
Agent: Object describing the person who posted the listing. Purpose: Lead generation and agent performance tracking.
- id: Unique agent identifier. Grouping listings by agent.
- name / first_name / last_name / preferred_name: Agent names. Contact identification and personalized outreach.
- photo_url: Link to the agent photo. Branding in reports.
- phone / phones: Primary phone and all phones with type (e.g., MOBILE_PHONE). Direct outreach.
- whatsapp: WhatsApp number. Messaging-based outreach.
- is_admin: Whether the agent is the agency's admin user. Identifying decision makers.
- licence_number / licence_expire_date: Professional licence details (may be null). Verifying credentials.
- profile_url: Link to the agent or agency profile page. Exploring the portfolio.
- is_test_user: Platform test-account flag (may be null). Filtering out non-real accounts.
Agency (object)
Agency: Object describing the real estate office behind the listing. Purpose: Competitor analysis, market share evaluation, B2B lead generation.
- id: Unique agency identifier. Grouping listings by agency.
- name / short_name: Full and short agency names. Lead generation.
- type: Entity type (e.g., Emlak Ofisi = real estate office). Segmenting business types.
- url: Agency profile page. Exploring the portfolio.
- address / city / county / district: Office location. Geographic targeting and local outreach.
- logo_url / branded_logo_url: Agency logos. Branding in reports.
- package_name: Subscription package on the platform. Estimating advertising investment.
- package_start_date: Start date of the current package summary. Measuring subscription tenure.
- member_since: Start of the first package. Measuring agency maturity.
- badge_year: Years of membership badge. Assessing experience and reliability.
- agent_count: Number of agents (may be null). Estimating agency size.
- licence_number / licence_expire_date: Agency licence (may be null). Verifying business credentials.
- rating: Agency rating (may be null). Evaluating reputation.
- google_name / google_place_id: Google Maps business link (may be null). Enriching with Google reviews.
- is_reservation: Whether the agency supports reservations. Identifying booking-enabled agencies.
- black_list: Platform blacklist flag (may be null). Risk screening.
Contact (object)
Contact: Alternative contact details on the listing. Purpose: Additional outreach channels.
- name: Alternative contact name (may be null).
- phones: Alternative phone numbers with type (empty if none).
- use_contact_info: Whether the listing uses a custom contact instead of the agent's.
Promotion (object)
Promotion: Paid promotion and branding information. Purpose: Analyzing agency advertising investment and visibility strategy.
- featured_products: Paid highlight options with name, type and end date.
- tag_products: Tag-based promotions (may be null).
- has_update_booster: Whether an automatic refresh booster is used.
- has_branded / has_firm_branded_user: Whether branded presentation is enabled for the listing and the agent.
- branded_user: Branded agent details (name, photo, profile URL, branding end date).
- cpl_status: Cost-per-lead program status.
Listing Dates
Created At: Listing creation time (ISO 8601). Purpose: Time-series analysis, listing age.
Start Date: Time the listing went live. Purpose: Measuring actual time on market.
Updated At: Last record update time. Purpose: Freshness and change detection.
Listing Updated At: Last listing content modification time. Purpose: Detecting content or price edits.
Media
Image Count: Total number of photos. Purpose: Evaluating listing quality.
Image 360 Count: Number of 360° images. Purpose: Identifying immersive media.
Image URLs: Direct links to listing photos in original order. Purpose: Downloading images, computer vision analysis.
Video URL: Link to the listing video (may be null). Purpose: Direct access to video walkthroughs.
Raw Data
Raw Data: Complete original JSON object as scraped, without modification. Purpose: Auditing, debugging, accessing fields not in the cleaned output, reprocessing without re-scraping.
Sample Output Structure:
{"id": 46610146,"listing_id": "8790-1570","listing_url": "https://www.hepsiemlak.com//en/ankara-cankaya-birlik-satilik/daire/8790-1570","title": "260 Square Meters Apartment For Sale in Çankaya, Ankara","description": "260 square meters, 6+1 rooms Apartment For Sale in Çankaya Birlik, Ankara and Apartment For Sale in Çankaya are on hepsiemlak!","transaction": "For Sale","main_category": "Residential","property_type": "Apartment","identification_no": "267775","advertise_category_title": "","price": 13250000,"currency": "TRY","highest_price": 13250000,"lowest_price": 13250000,"price_per_sqm": 0,"room_layout": "6+1","room_count": 6,"living_room_count": 1,"bed_count": 0,"guest_count": 0,"net_sqm": 230,"gross_sqm": 260,"open_area_sqm": 0,"floor": "3. Floor","floor_number": 4,"building_age": 30,"star": null,"dormitory": null,"period": null,"populated": false,"projeland": null,"country": null,"city": "Ankara","county": "Çankaya","district": "Birlik","latitude": 39.88224236080932,"longitude": 32.87463539490027,"seller_type": "Kurumsal","advertise_owner": "Emlakçıdan","is_shared_listing": false,"is_flat_received_for_land": false,"is_stale": false,"has_online_visit": false,"agent": {"id": 8790,"name": "Yıldırım Şenyurt","first_name": "Yıldırım","last_name": "Şenyurt","preferred_name": null,"photo_url": "/firmuser/0/9/7/8/0/0/88b2f5c3-283d-456c-ac91-cd14afa40045.jpg","phone": "+90 552 7592513","phones": [{"number": "+90 552 7592513","type": "MOBILE_PHONE"}],"whatsapp": "+90 532 1669905","is_admin": true,"licence_number": null,"licence_expire_date": null,"profile_url": "https://www.hepsiemlak.com//en/emlak-ofisi/borse-kucukesat-8790/yildirim-senyurt-8790","is_test_user": null},"agency": {"id": 8790,"name": "BORSE KÜÇÜKESAT","short_name": "BORSE KÜÇÜKESAT","type": "Emlak Ofisi","url": "https://www.hepsiemlak.com//en/emlak-ofisi/borse-kucukesat-8790","address": "Esat caddesi No:85/3","city": "Ankara","county": "Çankaya","district": "Küçükesat","logo_url": "/logo/0/9/7/8/0/0/d5143142-aa2b-488d-9f45-913c2a9e65a5.jpg","branded_logo_url": "/logo/0/9/7/8/0/0/d5143142-aa2b-488d-9f45-913c2a9e65a5.jpg","package_name": "Taahhütlü Gold Paket","package_start_date": "2007-05-21T21:00:00.000+00:00","member_since": "2007-05-22T00:00:00.000+00:00","badge_year": 20,"agent_count": null,"licence_number": null,"licence_expire_date": null,"rating": null,"google_name": null,"google_place_id": null,"is_reservation": false,"black_list": null},"contact": {"name": null,"phones": [],"use_contact_info": false},"promotion": {"featured_products": [{"name": "Ultra Listeleme","type": "Öne Çıkarma Seçenekleri","end_date": "2026-11-07T12:15:06.572+00:00"}],"tag_products": null,"has_update_booster": true,"has_branded": true,"has_firm_branded_user": false,"branded_user": null,"cpl_status": false},"created_at": "2026-05-15T09:52:16.747+00:00","start_date": "2026-08-14T13:28:53.007+00:00","updated_at": "2026-11-05T08:48:00.317Z","listing_updated_at": "2026-11-05T08:48:00.303Z","image_count": 46,"image_360_count": 0,"image_urls": ["/ds01/6/4/1/0/1/6/6/4/bf9edcdb-dec1-4adf-8da7-daacc8e4ff17.jpg","/ds01/6/4/1/0/1/6/6/4/e7a900f3-965f-474d-974e-6d98ece996a8.jpg","/ds01/6/4/1/0/1/6/6/4/0e2b2e8d-8c02-42eb-9333-4ea216caf5a5.jpg","/ds01/6/4/1/0/1/6/6/4/e567a160-a7a2-44f0-a046-e61127f0e9d7.jpg","/ds01/6/4/1/0/1/6/6/4/c7a3ce02-a66c-489c-987d-8cfdab8a5471.jpg","/ds01/6/4/1/0/1/6/6/4/e3380f8f-3f08-4179-9ff3-08350389f073.jpg","/ds01/6/4/1/0/1/6/6/4/993621e0-846c-4a30-9dae-55d7c3c5474b.jpg","/ds01/6/4/1/0/1/6/6/4/0a0948e1-573d-43ee-9850-72eb2ee03104.jpg","/ds01/6/4/1/0/1/6/6/4/51275940-8f71-4d74-8db8-7f7d42755319.jpg","/ds01/6/4/1/0/1/6/6/4/7f35aeb6-0f8d-41a7-9ef2-de174b1d9f60.jpg","/ds01/6/4/1/0/1/6/6/4/78179f4f-7e7b-459e-b226-8b401b28dfbe.jpg","/ds01/6/4/1/0/1/6/6/4/87be0704-1abf-4c7e-a1b4-816c6caeae4c.jpg","/ds01/6/4/1/0/1/6/6/4/0817e143-6e2c-4b2e-aaea-f51c1be1f7ad.jpg","/ds01/6/4/1/0/1/6/6/4/35292010-067c-4855-ac98-3b505e0143d6.jpg","/ds01/6/4/1/0/1/6/6/4/227fbfbb-2416-451a-94a0-e5cffa34445f.jpg","/ds01/6/4/1/0/1/6/6/4/c91a34a6-9524-4954-bba8-6b79d1d164e2.jpg","/ds01/6/4/1/0/1/6/6/4/bc193a39-37e7-4644-bb10-f6ee7effd085.jpg","/ds01/6/4/1/0/1/6/6/4/fcfd0955-dfd7-47ad-a741-1079fb671717.jpg","/ds01/6/4/1/0/1/6/6/4/7ebf9a15-24a0-4050-94a8-211498c91460.jpg","/ds01/6/4/1/0/1/6/6/4/f52d21c7-a2e8-480b-a0c1-674cc5652e20.jpg","/ds01/6/4/1/0/1/6/6/4/5aa568d4-6cb6-4531-aef7-a3f83d008b6f.jpg","/ds01/6/4/1/0/1/6/6/4/e94bafca-be99-488a-b632-0f9303197b71.jpg","/ds01/6/4/1/0/1/6/6/4/f8a08a1b-a7f9-4544-8f2d-0536e6b82eda.jpg","/ds01/6/4/1/0/1/6/6/4/5cea07cb-35ab-4581-ba08-eeaec8623045.jpg","/ds01/6/4/1/0/1/6/6/4/318da7bb-0d82-49a2-9a27-53fbb02b199c.jpg","/ds01/6/4/1/0/1/6/6/4/c3b56ea0-57b7-4112-8e07-40f96943c297.jpg","/ds01/6/4/1/0/1/6/6/4/d4da7629-311c-47c5-9b28-12f0a443e569.jpg","/ds01/6/4/1/0/1/6/6/4/fd9f1e23-c7ec-4456-8309-9c6dccc3bafa.jpg","/ds01/6/4/1/0/1/6/6/4/37654af1-abac-418a-a20c-5dae37a0f6dd.jpg","/ds01/6/4/1/0/1/6/6/4/40d55415-5219-40a5-b03b-30392896c411.jpg","/ds01/6/4/1/0/1/6/6/4/9b0a62ee-845c-4ce0-9e78-8e89f4702110.jpg","/ds01/6/4/1/0/1/6/6/4/972c6c39-958d-4c00-8f81-5c66a298600f.jpg","/ds01/6/4/1/0/1/6/6/4/629ee0c8-98b6-4ace-ae45-4257e52b6cc2.jpg","/ds01/6/4/1/0/1/6/6/4/3f2b32ca-425a-4e28-b462-1c932d280474.jpg","/ds01/6/4/1/0/1/6/6/4/a7649e7e-9a57-454f-a7ed-85b9a90e8588.jpg","/ds01/6/4/1/0/1/6/6/4/9afb8cf9-ee14-4bcb-ac3f-551448075323.jpg","/ds01/6/4/1/0/1/6/6/4/8bf06834-c5f8-417e-a313-93ec62fbc882.jpg","/ds01/6/4/1/0/1/6/6/4/0d8a272f-55da-40a0-9d26-9d40c2326864.jpg","/ds01/6/4/1/0/1/6/6/4/32614537-30fb-435f-a0fb-72f2ea163497.jpg","/ds01/6/4/1/0/1/6/6/4/6f8c7c59-b3ba-4a91-bb2c-a38b855d2d19.jpg","/ds01/6/4/1/0/1/6/6/4/618d0571-d4ff-40c8-a58a-cae8cdf8c3b9.jpg","/ds01/6/4/1/0/1/6/6/4/e88d707a-3928-4992-b0ec-6fe53998d15a.jpg","/ds01/6/4/1/0/1/6/6/4/1b7b3acd-a888-4e19-a9a0-ea66b999d9b1.jpg","/ds01/6/4/1/0/1/6/6/4/eca550b9-c391-49e8-8f5d-016f4360721c.jpg","/ds01/6/4/1/0/1/6/6/4/c6ac3172-ab10-4255-aba5-f9658212f67a.jpg","/ds01/6/4/1/0/1/6/6/4/66b767f8-37e0-4eee-b7b9-5974b9267b6a.jpg"],"video_url": null,"raw_data": null,"from_url": "https://www.hepsiemlak.com/en/emlak?q=anka&page=2"}
Step-by-Step Implementation
1. Define Target Properties: Identify needed property types, locations, and criteria. Perform test searches on Hepsiemlak to ensure filters return relevant results.
2. Collect Search URLs: Copy URLs from manual searches. For comprehensive data, create multiple URLs with different filters: various cities, price ranges, property types.
3. Configure Input: Set up JSON with collected URLs. Adjust max_items_per_url based on needs (20 for standard extraction, higher for thorough scraping). Enable ignore_url_failures for resilience.
4. Launch Scraper: Start via Apify console and monitor progress. Typical processing: 3-5 pages with 20 items complete in 2-4 minutes.
5. Validate Data: Preview results and verify critical fields (prices, locations, specifications) are populated correctly.
6. Export and Analyze: Export as JSON, CSV, or Excel. Remove duplicates by listing ID and filter by criteria (price range, location, property type).
7. Handle Pagination: For large datasets, include multiple page URLs: page=1, page=2, etc. Calculate required pages based on search result counts.
Error Prevention: Ensure URLs are search pages, not individual property pages. Verify URLs load properly before scraping. Check that filters produce expected results.
Strategic Applications
Market Analysis: Aggregate pricing across neighborhoods and property types. Calculate average price per square meter, identify trends, and detect undervalued properties.
Competitive Intelligence: Agencies can monitor competitor listings, pricing strategies, and market positioning. Track which firms dominate specific areas.
Investment Research: Filter by location, price, and features to identify opportunities. Track new projects via Projeland status and development data.
Geographic Targeting: Use location fields and coordinates to analyze regional markets, create heatmaps, and identify emerging areas.
Inventory Tracking: Monitor listing dates and update timestamps to understand market velocity. Flag stale listings potentially indicating filled properties.
Contact Database Building: Extract firm and owner information to build contact lists for partnership or direct engagement (respecting privacy regulations).
Feature Demand Analysis: Analyze room counts, amenities, and property ages across price ranges to understand what features command premium pricing.
Advanced Techniques
Time-Series Tracking: Scrape weekly or monthly, storing data with timestamps. Track price changes and listing durations by matching IDs.
Comparative Analysis: For specific property evaluation, extract comparable properties (same area, similar specifications) to establish fair market value.
Agency Performance: Aggregate by firm field to analyze market share, average prices, and property types handled by different agencies.
Visual Analysis: Process image arrays and descriptions with AI to extract unlisted features and assess property presentation quality.
Cross-Platform Validation: Compare Hepsiemlak listings with other Turkish platforms (Sahibinden, Emlakjet) by matching identification numbers or addresses.
Best Practices
Scraping Frequency: Turkish real estate updates frequently. Weekly scraping balances freshness with efficiency. Daily scraping suits fast-moving markets in Istanbul or Ankara.
Data Validation: Implement checks—prices must be positive, coordinates within Turkey's bounds, required fields populated. Flag anomalies for review.
Privacy Compliance: Contact information may be personal data under Turkish privacy laws. Handle data securely and use only for legitimate purposes.
Duplicate Management: Use listing ID to deduplicate across multiple scrapes. Properties may appear in overlapping searches.
Currency Considerations: Prices typically in Turkish Lira (TRY). Note scrape dates for inflation adjustment when analyzing historical data.
Quality Assurance: Validate extreme values (unusually high/low prices or areas). Check that property types match expected categories.
Conclusion
The Hepsiemlak.com Property Details Scraper transforms Turkey's leading real estate marketplace into actionable intelligence. From pricing dynamics to geographic patterns, this tool delivers comprehensive insights into Turkish property markets. Whether building databases, conducting research, monitoring competition, or identifying investments, structured Hepsiemlak data provides the foundation for informed real estate decisions in Turkey's dynamic market.