French Real Estate
3 days trial then $25.00/month - No credit card required now
French Real Estate
3 days trial then $25.00/month - No credit card required now
The French Real Estate Listing Crawler extracts property data from the tree major platform Seloger, Leboncoin, and Bienici. Get structured information on prices, locations, and features in real-time, ideal for property research, analysis, and investment decisions.
🏡 Real Estate Listing Crawler for French Websites
Real Estate Listing Crawler is an Apify Actor that automates the process of extracting real estate data from three popular French real estate platforms: seloger, leboncoin, and bienici. Whether you're building a property analysis tool, performing market research, or simply need to gather real estate listings, this actor provides you with clean and unified data.
🎯 Why Use This Actor?
Manually gathering real estate listings from multiple sources can be time-consuming and inconsistent. This actor solves this problem by automating the process, providing structured and normalized data in a single format. It helps you get key information like price, location, publisher details, and property features across multiple sites with ease.
✨ Main Features
- Multi-site Support: Crawl listings from
seloger.com
,leboncoin.fr
, andbienici.com
in one go. - Data Normalization: Extracted data is standardized into a unified schema, so you don't have to worry about differences between platforms.
- Highly Configurable: Control the number of results you want, and select specific URLs to target.
- Rich Data Output: Extracts detailed property information, including price, location, rooms, amenities, energy efficiency, and more.
🚀 Get Started
- Sign up or log in to your Apify account.
- Configure the actor input (URLs, result limit).
- Run the actor and let it fetch the real estate data for you.
🧰 How to Use
Inputs
The actor requires three input parameters:
-
Target URLs (Required):
- A key-value list where the key is one of
seloger
,leboncoin
, orbienici
and the value is a list of URLs to crawl. - Example:
1{ 2 "seloger": "https://www.seloger.com/listing-url", 3 "boncoin": "https://www.leboncoin.fr/listing-url", 4 "bienici": "https://www.bienici.com/listing-url" 5}
- A key-value list where the key is one of
-
crawlerLimit (Optional):
- Define how many listings you want to extract (e.g., 100, 500, 1000). The default is
100
. - Example:
500
- Define how many listings you want to extract (e.g., 100, 500, 1000). The default is
Example Input Configuration
1{ 2 "crawlerLimit": 1000, 3 "targetUrls": [ 4 { 5 "key": "bienici", 6 "value": "https://www.bienici.com/recherche/achat/france/maisonvilla,appartement,parking,terrain,loft,commerce,batiment,chateau,local,bureau,hotel,autres?mode=liste&tri=publication-desc" 7 }, 8 { 9 "key": "boncoin", 10 "value": "https://www.leboncoin.fr/recherche?category=9&real_estate_type=1,2,3,4,5&immo_sell_type=old,new,viager&owner_type=pro" 11 }, 12 { 13 "key": "seloger", 14 "value": "https://www.seloger.com/list.htm?projects=2,5&types=2,4,1,13,9,3,14,12,11,10&natures=1,2,4&sort=d_dt_crea&mandatorycommodities=0&privateseller=0&enterprise=0&houseboat=1&qsVersion=1.0&m=search_refine-redirection-search_results" 15 } 16 ], 17}
🗂️ Data Schema
All data collected from the websites is formatted into the following unified schema:
1export type realEstateAd = { 2 origin: CRAWLER_ORIGIN; 3 adId: string; 4 reference: string; 5 creationDate: Date; 6 lastCheckDate: Date; 7 title: string; 8 type: string; 9 category: string; 10 publisher: { 11 name: string; 12 storeUrl: string; 13 phoneNumber: string; 14 }; 15 description: string; 16 url: string; 17 pictureUrl: string; 18 pictureUrls: string[]; 19 location: { 20 city: string; 21 postalCode: string; 22 departmentCode: string; 23 regionCode: string; 24 coordinates:{ 25 lon: number; 26 lat: number; 27 } 28 }; 29 price: number | null; 30 rooms: number | null; 31 bedrooms: number | null; 32 surface: number | null; 33 landSurface: number | null; 34 floor: number | null; 35 buildingFloors: number | null; 36 energyValue: number | null; 37 energyGrade: string | null; 38 gasValue: number | null; 39 gasGrade: string | null; 40 options: { 41 hasTerrace?: boolean; 42 hasCellar?: boolean; 43 hasBalcony?: boolean; 44 hasGarden?: boolean; 45 workToDo?: boolean; 46 hasAirConditioning?: boolean; 47 hasFirePlace?: boolean; 48 hasElevator?: boolean; 49 hasAlarm?: boolean; 50 hasDoorCode?: boolean; 51 hasCaretaker?: boolean; 52 hasIntercom?: boolean; 53 hasPool?: boolean; 54 hasSeparateToilet?: boolean; 55 isDisabledPeopleFriendly?: boolean; 56 hasUnobstructedView?: boolean; 57 hasGarage?: boolean; 58 exposition?: string | null; 59 parkingPlacesQuantity?: number | null; 60 isRecent?: boolean | null; 61 }; 62};
The schema includes:
- Basic Property Information: Title, description, price, number of rooms, etc.
- Location Data: City, postal code, region, and precise coordinates.
- Publisher Details: Name, phone number, and URL of the real estate agency.
- Property Features: Options such as terrace, garden, parking, air conditioning, and more.
📝 Example Output
The actor will output real estate data in a structured JSON format, based on the schema described above. Here’s an example of what the output might look like:
1{ 2 "origin": "seloger", 3 "adId": "123456", 4 "reference": "ABC123", 5 "creationDate": "2024-01-01T12:00:00Z", 6 "lastCheckDate": "2024-01-02T12:00:00Z", 7 "title": "Charming Apartment in Paris", 8 "type": "Apartment", 9 "category": "For Sale", 10 "publisher": { 11 "name": "Real Estate Agency", 12 "storeUrl": "https://example.com", 13 "phoneNumber": "+33 1 2345 6789" 14 }, 15 "description": "A beautiful apartment located in the heart of Paris.", 16 "url": "https://www.seloger.com/listing-url", 17 "pictureUrl": "https://example.com/image.jpg", 18 "pictureUrls": ["https://example.com/image1.jpg", "https://example.com/image2.jpg"], 19 "location": { 20 "city": "Paris", 21 "postalCode": "75001", 22 "departmentCode": "75", 23 "regionCode": "IDF", 24 "coordinates": { 25 "lon": 2.3522, 26 "lat": 48.8566 27 } 28 }, 29 "price": 500000, 30 "rooms": 3, 31 "bedrooms": 2, 32 "surface": 75, 33 "landSurface": null, 34 "floor": 2, 35 "buildingFloors": 5, 36 "energyValue": 150, 37 "energyGrade": "C", 38 "gasValue": 100, 39 "gasGrade": "D", 40 "options": { 41 "hasBalcony": true, 42 "hasElevator": true, 43 "hasGarage": false, 44 "hasAirConditioning": false 45 } 46}
- 4 monthly users
- 2 stars
- 94.7% runs succeeded
- Created in Oct 2024
- Modified 15 days ago