# Fast Pige Immo FR Scraper — 20 Portals Real Estate API (`rbbscrap/pige-immo-fr-scraper`) Actor

Scrape French real estate listings across major portals: Century 21, Orpi, Nexity, Foncia. Price tracking and DPE on 256MB micro-container.

- **URL**: https://apify.com/rbbscrap/pige-immo-fr-scraper.md
- **Developed by:** [Hector](https://apify.com/rbbscrap) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.50 / 1,000 listing scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Fast Pige Immo FR Scraper — 20 Portals Real Estate API

<p align="center">
  <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/y0h5Xh4ZLYL8d8YO7-actor-X2i8oi9fGLPM9zDnW-UzKGOwb4N7-fast-pige-immo-fr-scraper.png" width="128" height="128" style="border-radius: 28px;" alt="Fast Pige Immo FR Scraper — 20 Portals Real Estate API Logo" />
</p>

### 📦 Sample Output — 15+ Fields per Record

```json
{
  "id": "immo_75011_89234",
  "title": "Appartement 3 pièces 65m² avec balcon - Paris 11ème",
  "price": 649000,
  "pricePerM2": 9984,
  "surfaceArea": 65,
  "rooms": 3,
  "bedrooms": 2,
  "city": "Paris 11ème"
}
```

**What you get:** Id · Title · Price · Price Per M2 · Surface Area · Rooms · Bedrooms · City

> `$0.001/run` · No browser · Export JSON / CSV / Google Sheets

***

> ### 🎁 Free Tier: Extract up to 1,000 items 100% FREE!
>
> **No credit card required • Powered by Apify Free Plan**
>
> Every Apify user receives **$5.00 in free starter credits every month**!
> You can test and extract up to **1,000 records 100% free** with this scraper before paying anything.
>
> [![Free Trial](https://img.shields.io/badge/🎁%20Free%20Tier-100%20to%201%2C000%20Items%20Free-brightgreen?style=for-the-badge\&logo=apify)](https://apify.com/rbbscrap/fast-pige-immo-fr-scraper/input)
> [![Monthly Free Credits](https://img.shields.io/badge/Apify%20Free%20Plan-%245%2FMonth%20Included-blue?style=for-the-badge\&logo=cashapp)](https://apify.com/rbbscrap/fast-pige-immo-fr-scraper/input)
> [![No Credit Card](https://img.shields.io/badge/No%20Credit%20Card-Zero%20Risk-purple?style=for-the-badge)](https://apify.com/rbbscrap/fast-pige-immo-fr-scraper/input)
>
> 👉 [**Click here to Launch a Free Test Run with 1 Click (Pre-filled)**](https://apify.com/rbbscrap/fast-pige-immo-fr-scraper/input)

#### ⚡ Live Run Demo (Sub-second Execution)

```text
[00:00.00] 🚀 Initializing Micro-Container (256MB RAM)...
[00:00.24] 🛡️ Anti-bot handshake passed: Zero-Proxy direct connection
[00:00.78] ⚡ Scraping targets... 30 French property listings extracted with price/m2
[00:01.35] ✅ STATUS: SUCCEEDED in 1.35s — Compute cost: $0.00065
[00:01.36] 📦 Export ready: [JSON] [CSV] [Excel] [Webhook Sent]
```

[![Status: Operational](https://img.shields.io/badge/Status-Operational%20\(2026\)-brightgreen?style=for-the-badge\&logo=statuspage)](https://apify.com/rbbscrap/fast-pige-immo-fr-scraper/input)
[![Speed: Sub-second](https://img.shields.io/badge/Speed-Sub--second%20%28%3C2s%29-blue?style=for-the-badge\&logo=speedtest)](https://apify.com/rbbscrap/fast-pige-immo-fr-scraper/input)
[![Cost: Ultra-Low](https://img.shields.io/badge/Cost-$1.00%20%2F%201k%20items-orange?style=for-the-badge\&logo=target)](https://apify.com/rbbscrap/fast-pige-immo-fr-scraper/input)
[![Container: 256MB](https://img.shields.io/badge/RAM-256MB%20Micro--Container-purple?style=for-the-badge\&logo=docker)](https://apify.com/rbbscrap/fast-pige-immo-fr-scraper/input)

***

### ⚡ 1-Click Quickstart (Try in 3 Seconds)

1. Open the [**Fast Pige Immo FR Scraper — 20 Portals Real Estate API**](https://apify.com/rbbscrap/fast-pige-immo-fr-scraper/input) in Apify Console.
2. The default inputs are already pre-filled with verified test parameters.
3. Click the green **Save & Run** button.
4. Download your structured data in **JSON, CSV, or Excel** format in seconds.

***

### 📥 Input Parameters & Configuration

Configure the scraper easily using our visual form or raw JSON:

| Parameter | Type | Required | Default | Description |
| :--- | :--- | :--- | :--- | :--- |
| `filterType` | `String` | No | `"buy"` | Transaction type: "buy" (vente) or "rent" (location). |
| `propertyType` | `Array of String` | No | `["flat", "house"]` | Property categories: "flat" (appartement), "house" (maison), "parking", "land". |
| `maxPrice` | `Number` | No | `null` | Maximum asking price in Euros (€). |
| `minSurface` | `Number` | No | `null` | Minimum living surface area in square meters (m²). |
| `maxListings` | `Number` | No | `30` | Maximum total listings to scrape across all target cities. |
| `proxyConfiguration` | `Object` | No | `Apify Proxy (Automatic)` | Optional proxy configuration. |

#### Example Input (JSON)

```json
{
  "filterType": "buy",
  "propertyType": [
    "flat",
    "house"
  ],
  "maxPrice": 450000,
  "minSurface": 50,
  "maxListings": 20
}
```

***

### 📤 Output Dataset & Extracted Fields

Every scraped record is delivered as clean, structured, and normalized data:

| Field Name | Type | Description |
| :--- | :--- | :--- |
| `id` | `String` | Unique real estate listing identifier. |
| `title` | `String` | Listing title and headline. |
| `price` | `Number` | Total property asking price in Euros (€). |
| `pricePerM2` | `Number` | Calculated price per square meter (€/m²). |
| `surfaceArea` | `Number` | Total usable living area in m². |
| `rooms` | `Number` | Total number of rooms (pièces). |
| `bedrooms` | `Number` | Number of bedrooms (chambres). |
| `city` | `String` | Municipality / city name. |
| `postalCode` | `String` | French 5-digit postal code. |
| `department` | `String` | 2-digit French department number. |
| `propertyType` | `String` | Standardized property classification (flat, house, loft, building). |
| `energyClassification` | `String` | Official DPE energy rating letter (A, B, C, D, E, F, G). |
| `description` | `String` | Complete textual description of the real estate listing. |
| `images` | `Array` | High-resolution photo gallery URLs. |
| `url` | `String` | Canonical URL to the full property advert. |

#### Sample Output Record (JSON)

```json
{
  "id": "immo_75011_89234",
  "title": "Appartement 3 pièces 65m² avec balcon - Paris 11ème",
  "price": 649000,
  "pricePerM2": 9984,
  "surfaceArea": 65,
  "rooms": 3,
  "bedrooms": 2,
  "city": "Paris 11ème",
  "postalCode": "75011",
  "department": "75",
  "propertyType": "flat",
  "energyClassification": "D",
  "description": "Magnifique 3 pièces traversant baigné de lumière au 4ème étage avec ascenseur. Séjour spacieux, cuisine équipée, parquet chevron d'époque.",
  "images": [
    "https://images.pige-immo.fr/photo_large_1.jpg"
  ],
  "url": "https://www.pige-immo.fr/annonce/immo_75011_89234"
}
```

***

### ⚡ Compute Cost & Efficiency (Why Choose This Scraper?)

Unlike legacy, bloated scrapers that spin up full headless Chromium browsers (requiring 2GB to 4GB of RAM and taking 30–60 seconds per run), **Fast Pige Immo FR Scraper — 20 Portals Real Estate API** runs on direct, highly optimized HTTP/2 requests with TLS fingerprint emulation.

| Metric | This Fast Scraper | Bloated Browser Scrapers | Your Advantage |
| :--- | :--- | :--- | :--- |
| **Memory Required** | **256 MB** | 2,048 MB – 4,096 MB | **8x to 16x less RAM needed** |
| **Startup Time** | **< 1.0 second** | 15.0 – 30.0 seconds | **Instant execution without queue delays** |
| **Average Run Speed** | **1 – 3 seconds** | 30 – 90 seconds | **10x to 30x faster completion** |
| **Proxy Requirement** | **Zero / Standard** | Residential / Datacenter heavy | **Save hundreds of dollars on proxy bandwidth** |
| **Apify Free Tier Ready** | **100% Compatible** | Quickly exceeds monthly free credits | **Run up to 1,000 queries every month for $0.00** |

***

### 💰 Transparent Cost Breakdown: What Does 1 Run Cost?

This Actor is engineered for maximum ROI with transparent Pay-Per-Event pricing:

- **100 records:** Only ~0.10 USD
- **1,000 records:** Only $1.00 USD
- **10,000 records:** Bulk discounts available through Apify subscription tiers.
- **Zero Hidden Charges:** No charges for empty queries, network timeouts, or retries.

***

### 🥊 Why This Scraper Beats the Competition

1. **Lightweight & Sub-Second Speed**: Built on micro-containers without browser bloat. Runs smoothly in seconds, saving up to 90% of your compute budget.
2. **Resilient Data Extraction**: Actively maintained to automatically handle site changes, anti-bot mechanisms, and pagination cursors.
3. **Structured & Normalized Fields**: Clean, type-cast numbers, standardized dates, and verified strings ready for downstream analysis.
4. **Seamless Automation**: Compatible out of the box with webhooks, Zapier, Make.com, n8n, and Google Sheets.

***

### 🚀 Key Features

- ⚡ **Zero-Browser Efficiency**: Ultra-fast execution on 256MB RAM with minimal container footprint.
- 🎯 **Pinpoint Filtering**: Target specific keywords, categories, languages, or legal jurisdictions.
- 🔄 **Automatic Pagination**: Seamlessly traverses multiple pages to collect large datasets without manual intervention.
- 🛡️ **Anti-Ban Protections**: Intelligent headers, cookies, and rate-limiting emulation to guarantee consistent results.
- 📊 **Multi-Format Export**: Export directly to JSON, CSV, Excel, XML, or HTML table with one click.
- 🤖 **AI & LLM Ready**: Output schema is structured for direct ingestion into RAG pipelines, Vector DBs, and LLM fine-tuning.

***

### 💡 Use Cases & Applications

**Real Estate Mandate Prospecting (Pige Immobilière)**: Detect private sellers (PAP) before competitor agencies to secure exclusive sales mandates.

**Property Investors & Flipper Arbitrage**: Filter undervalued listings below market price per m² with high rental yield potential.

**Mortgage Brokers & Wealth Managers**: Connect with active home buyers in need of financing and loan insurance.

**Renovation & Energy Audit Contractors**: Identify homes with DPE ratings E, F, G requiring mandatory thermal renovation work.

**Market Valuation & Automated Valuation Models (AVM)**: Feed real-time French asking price benchmarks into real estate analytics dashboards.

**Notary & Real Estate Legal Due Diligence**: Monitor regional price trends and transaction frequency across French departments.

***

### 🔌 No-Code Integrations (Make.com, Zapier, n8n & Webhooks)

Connect your scraping pipeline to hundreds of apps in minutes:

#### 1. Make.com Integration

- Add the **Apify** module in Make.
- Select **Run an Actor**, choose `rbbscrap/fast-pige-immo-fr-scraper`, and map your target keywords.
- Chain with Google Sheets, Airtable, Notion, or Slack to automatically push new records.

#### 2. n8n Integration

- Use the official n8n Apify node or HTTP Request node.
- Trigger scraper runs on a cron schedule (e.g., every morning at 8:00 AM).
- Filter new items and route them to your internal CRM or Postgres database.

#### 3. Google Sheets & Zapier

- Set up a Zapier trigger: "New Run in Apify".
- Automatically append every newly extracted record as a new row in Google Sheets.

#### 4. Webhooks & REST API

- Configure an Apify Webhook on `ACTOR.RUN.SUCCEEDED`.
- Receive an instant JSON payload at your API endpoint with full dataset links.

***

### 🎯 3 One-Click Real-World Scenarios

1. **Daily Keyword Alerts**: Set up an Apify schedule to run every morning with your top 3 brand or target keywords and send summary reports to Slack.
2. **Weekly Competitive Benchmark**: Extract and aggregate records once a week to track market shifts, new entrants, or price adjustments.
3. **On-Demand B2B Enrichment**: Call this Actor synchronously via API inside your SaaS or workflow whenever a user requests fresh background intelligence.

***

### 💻 Developer API Integration (Python & Node.js)

Integrate this scraper directly into your custom applications:

#### 🐍 Python SDK

```python
from apify_client import ApifyClient

## Initialize the client with your Apify API token
client = ApifyClient("YOUR_APIFY_TOKEN")

## Prepare the Actor input
run_input = {
    "filterType": "buy",
    "propertyType": [
        "flat",
        "house"
    ],
    "maxPrice": 450000,
    "minSurface": 50,
    "maxListings": 20
}

## Run the Actor and wait for completion
run = client.actor("rbbscrap/fast-pige-immo-fr-scraper").call(run_input=run_input)

## Fetch dataset items directly as Python dictionaries
dataset_items = client.dataset(run["defaultDatasetId"]).list_items().items
for item in dataset_items:
    print(item)
```

#### 🟡 Node.js / TypeScript SDK

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the client
const client = new ApifyClient({
    token: 'YOUR_APIFY_TOKEN',
});

// Prepare the Actor input
const input = {
    "filterType": "buy",
    "propertyType": [
        "flat",
        "house"
    ],
    "maxPrice": 450000,
    "minSurface": 50,
    "maxListings": 20
};

// Run the Actor
const run = await client.actor('rbbscrap/fast-pige-immo-fr-scraper').call(input);

// Fetch results
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Successfully fetched ${items.length} records!`);
console.dir(items);
```

***

### 🛡️ Support & Service Guarantee

- **Continuous Maintenance**: We actively monitor target sites 24/7. Any selector or structural change is patched promptly.
- **Bug Reports & Feature Requests**: Submit an issue on the Actor's **Issues** tab or contact us directly on Apify.
- **Custom Enterprise Workflows**: Need bespoke integrations, custom filters, or high-volume scraping contracts? Reach out via Apify Console messaging.

# Actor input Schema

## `filterType` (type: `string`):

Choose between buying (achat/vente) or renting (location).

## `propertyType` (type: `array`):

Types of real estate properties to search.

## `maxPrice` (type: `integer`):

Maximum price in euros.

## `minSurface` (type: `integer`):

Minimum surface area in square meters.

## `maxListings` (type: `integer`):

Maximum number of listings to extract.

## `proxyConfiguration` (type: `object`):

Optional proxy configuration.

## Actor input object example

```json
{
  "filterType": "buy",
  "propertyType": [
    "flat",
    "house"
  ],
  "maxListings": 30,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "filterType": "buy",
    "propertyType": [
        "flat",
        "house"
    ],
    "maxListings": 30,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rbbscrap/pige-immo-fr-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "filterType": "buy",
    "propertyType": [
        "flat",
        "house",
    ],
    "maxListings": 30,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("rbbscrap/pige-immo-fr-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "filterType": "buy",
  "propertyType": [
    "flat",
    "house"
  ],
  "maxListings": 30,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call rbbscrap/pige-immo-fr-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rbbscrap/pige-immo-fr-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/X2i8oi9fGLPM9zDnW/builds/hwgdwUhvMr6irw5bk/openapi.json
