Pap.fr Scraper avatar
Pap.fr Scraper

Pricing

$19.90/month + usage

Go to Apify Store
Pap.fr Scraper

Pap.fr Scraper

Developed by

DevnaZ

DevnaZ

Maintained by Community

Scraper d'annonces immobilières du site **PAP.fr** (De Particulier à Particulier) qui permet de récupérer des annonces de vente, location et leasing avec des critères de recherche structurés.

0.0 (0)

Pricing

$19.90/month + usage

0

2

1

Last modified

3 days ago

🏠 PAP.fr Scraper - Annonces Immobilières

Récupérez automatiquement des milliers d'annonces immobilières depuis PAP.fr (De Particulier à Particulier), le premier site d'annonces immobilières entre particuliers en France.

Que vous soyez investisseur, agent immobilier, data analyst ou développeur, cet Actor vous permet d'extraire rapidement et facilement toutes les données dont vous avez besoin : prix, localisation GPS précise, photos, DPE, transports, équipements et bien plus encore.


✨ Pourquoi utiliser cet Actor ?

🎯 Simplicité

Pas besoin de construire des URLs complexes ! Fournissez simplement vos critères (ville, prix, surface, type de bien) et l'Actor s'occupe du reste.

Rapidité

Récupérez des centaines d'annonces en quelques secondes grâce à un système de scraping ultra-optimisé avec traitement parallèle.

💰 Économique

Coût minimal : utilisez les proxies gratuits inclus dans votre plan Apify. Pas de frais supplémentaires.

📊 Données Complètes

Chaque annonce contient plus de 40 champs de données : prix, surface, DPE, GPS, photos, transports, équipements, contact, etc.

🗺️ Géolocalisation Automatique

Entrez simplement "Paris" ou "Lyon" et l'Actor récupère automatiquement les codes géographiques nécessaires via l'API PAP.fr.


🚀 Démarrage Rapide

Exemple Minimal

La configuration la plus simple nécessite uniquement le type de produit :

{
"produit": "vente"
}

Cela récupère toutes les annonces de vente en France.

Exemple Complet

{
"produit": "vente",
"typesBien": ["appartement"],
"localisation": {
"ville": "Paris"
},
"nbPieces": {
"min": 2
},
"prix": {
"max": 500000
},
"surface": {
"min": 30
},
"maxListings": 100
}

Résultat : 100 appartements à Paris avec minimum 2 pièces, surface ≥ 30m², prix ≤ 500 000 €.


📥 Configuration (Input)

🏷️ produit (Obligatoire)

Type de transaction immobilière.

Valeurs possibles :

  • "vente" - Achat d'un bien
  • "location" - Location d'un bien
  • "location-temporaire" - Location saisonnière ou temporaire
  • "leasing" - Leasing immobilier

Exemple :

{
"produit": "location"
}

🏘️ typesBien

Types de biens à rechercher (plusieurs types possibles).

Valeurs possibles :

  • "appartement" - Appartements
  • "maison" - Maisons
  • "parking" - Parkings et garages
  • "terrain" - Terrains
  • "boutique" - Commerces
  • "bureau" - Bureaux
  • "immeuble" - Immeubles entiers

Exemples :

Rechercher uniquement des appartements :

{
"typesBien": ["appartement"]
}

Rechercher appartements ET maisons :

{
"typesBien": ["appartement", "maison"]
}

⚠️ Note : Si non spécifié, tous les types de biens seront inclus.


📍 localisation

Localisation géographique de la recherche.

Option 1 : Ville uniquement (recommandé)

{
"localisation": {
"ville": "Lyon"
}
}

L'Actor récupère automatiquement les codes géographiques via l'API PAP.fr.

Option 2 : Avec codes géographiques manuels

{
"localisation": {
"ville": "Lyon",
"codeDepartement": "69",
"geoId": "427"
}
}

⚠️ Note : Si vous ne fournissez pas de localisation, la recherche se fera sur toute la France.


💰 prix

Fourchette de prix souhaitée.

Champs disponibles :

  • min : Prix minimum
  • max : Prix maximum

Exemples :

Prix maximum 300 000 € :

{
"prix": {
"max": 300000
}
}

Prix entre 200 000 € et 500 000 € :

{
"prix": {
"min": 200000,
"max": 500000
}
}

⚠️ Note : Pour la location, les prix sont mensuels. Pour la vente, les prix sont totaux.


📐 surface

Surface habitable souhaitée (en m²).

Champs disponibles :

  • min : Surface minimum
  • max : Surface maximum

Exemples :

Surface minimum 50m² :

{
"surface": {
"min": 50
}
}

Surface entre 50m² et 100m² :

{
"surface": {
"min": 50,
"max": 100
}
}

🚪 nbPieces

Nombre de pièces souhaité.

Champs disponibles :

  • min : Nombre minimum de pièces
  • max : Nombre maximum de pièces

Exemples :

Minimum 2 pièces :

{
"nbPieces": {
"min": 2
}
}

Entre 2 et 4 pièces :

{
"nbPieces": {
"min": 2,
"max": 4
}
}

⚠️ Note : Pour PAP.fr, le nombre de pièces inclut la cuisine.


🏷️ tags

Critères avancés et équipements spécifiques.

Pour VENTE :

  • "ascenseur" - Immeuble avec ascenseur
  • "balcon-terrasse" - Balcon ou terrasse
  • "dernier-etage" - Dernier étage
  • "piscine" - Piscine
  • "garages-parkings" - Garage ou parking
  • "acces-handicape" - Accès handicapé
  • "investissement-locatif" - Investissement locatif
  • "visite-virtuelle" - Visite virtuelle disponible
  • "duplex-triplex" - Duplex ou triplex

Pour LOCATION :

  • "vide" - Location vide
  • "meuble" - Location meublée
  • "coloc" - Colocation
  • "etudiant" - Logement étudiant
  • "ascenseur" - Immeuble avec ascenseur
  • "balcon-terrasse" - Balcon ou terrasse
  • "piscine" - Piscine
  • "garages-parkings" - Garage ou parking

Exemples :

{
"tags": ["ascenseur", "balcon-terrasse"]
}
{
"tags": ["meuble", "etudiant"]
}

🏗️ neufExclus

Masquer les logements neufs (uniquement pour la vente).

Type : Boolean

Exemple :

{
"neufExclus": true
}

🔢 maxListings

Nombre maximum d'annonces à récupérer.

Type : Integer

Valeur par défaut : 0 (illimité)

Exemples :

Récupérer 50 annonces maximum :

{
"maxListings": 50
}

Récupérer toutes les annonces disponibles :

{
"maxListings": 0
}

⚠️ Astuce : Mettre une limite permet de réduire les coûts et le temps d'exécution. Pour tester votre configuration, commencez avec maxListings: 10.


🔐 proxyConfig (Optionnel)

Configuration des proxies pour contourner les blocages IP éventuels.

Par défaut : Pas de proxy (connexion directe - recommandé pour PAP.fr)

Types disponibles :

  • "none" - Pas de proxy (connexion directe) - Recommandé
  • "apify-datacenter" - Proxy datacenter Apify (gratuit, inclus dans votre plan)
  • "apify-residential" - Proxy résidentiel Apify (payant, plus réaliste)
  • "custom" - Vos propres proxies personnalisés

Option 1 : Sans proxy (défaut - recommandé)

{
"proxyConfig": {
"type": "none"
}
}

Ou simplement omettez le champ proxyConfig.

Avantages :

  • Plus rapide (pas de hop proxy)
  • Plus fiable (pas d'erreur 590)
  • Gratuit
  • PAP.fr n'a généralement pas de blocage agressif

Option 2 : Avec proxy Apify Datacenter

{
"proxyConfig": {
"type": "apify-datacenter"
}
}

Quand l'utiliser :

  • Si votre IP est bloquée par PAP.fr
  • Si vous lancez beaucoup d'exécutions simultanées
  • Gratuit (inclus dans le plan Apify)

⚠️ Note : Rotation d'IP automatique à chaque requête.

Option 3 : Avec proxy Apify Residential

{
"proxyConfig": {
"type": "apify-residential"
}
}

Quand l'utiliser :

  • Si les datacenter proxies ne fonctionnent pas
  • Pour scraping intensif avec meilleure fiabilité
  • IPs résidentielles réelles (plus difficiles à détecter)

💰 Coût : Payant (consomme vos crédits proxy résidentiel Apify)

Option 4 : Avec vos propres proxies

{
"proxyConfig": {
"type": "custom",
"customProxies": [
"http://user:pass@proxy1.example.com:8080",
"http://user:pass@proxy2.example.com:8080",
"http://proxy3.example.com:3128"
]
}
}

Quand l'utiliser :

  • Vous avez votre propre service proxy (Smartproxy, Bright Data, Oxylabs, etc.)
  • Besoin de proxies spécifiques à votre région
  • Rotation automatique entre vos proxies

Format des URLs :

  • Avec authentification : http://user:pass@proxy.com:8080
  • Sans authentification : http://proxy.com:3128
  • Support HTTP/HTTPS

⚠️ Important : Si vous sélectionnez "custom", le champ customProxies est obligatoire.


📊 Comparaison des Options Proxy

TypeCoûtVitesseFiabilitéUsage
NoneGratuit⚡⚡⚡ Très rapide✅ ExcellentRecommandé par défaut
Apify DatacenterGratuit⚡⚡ Rapide✅ BonSi IP bloquée
Apify ResidentialPayant⚡ Moyen✅✅ ExcellentScraping intensif
CustomVariableVariableVariableProxies personnalisés

Recommandation : Commencez avec "none" (sans proxy). Activez un proxy seulement si vous rencontrez des blocages.


📤 Données Extraites (Output)

Chaque annonce retourne un objet JSON avec plus de 40 champs de données.

Exemple de Sortie

{
"id": 457100684,
"reference_courte": "F71/0684",
"url": "https://www.pap.fr/annonces/appartement-paris-15e-75015-r457100684",
"produit": "vente",
"typebien": "appartement",
"typebien_label": "Appartement",
"ville": "Paris",
"arrondissement": "Paris 15e",
"rue": "Rue de Vaugirard",
"code_postal": "75015",
"code_departement": "75",
"geoId": "37782",
"marker": {
"lat": 48.84156,
"lng": 2.30452
},
"prix": "350 000 €",
"prix_numerique": 350000,
"prix_m2": "8.140 € le m²",
"prix_m2_numerique": 8140,
"prix_valide": true,
"nb_pieces": 2,
"nb_chambres_max": 1,
"surface": 43,
"etage": 3,
"titre": "Vente appartement 2 pièces 43 m² Paris 15E (75015)",
"texte": "Appartement de 2 pièces situé au 3ᵉ étage avec ascenseur...",
"photos_urls": [
"https://cdn.pap.fr/photos/pap/d9/01/d901...d-p1.jpg",
"https://cdn.pap.fr/photos/pap/ba/70/ba70...b-p1.jpg",
"https://cdn.pap.fr/photos/pap/fb/9a/fb9a...f-p1.jpg"
],
"equipements": {
"ascenseur": true,
"piscine": false,
"balcon": true,
"terrasse": false,
"parking": false,
"garage": false,
"cave": true,
"jardin": false,
"climatisation": false
},
"classe_energie": {
"lettre": "d",
"description": "Logement avec classe énergie D"
},
"classe_ges": {
"lettre": "d",
"description": "Logement avec classe GES D"
},
"transports": [
{
"type": "metro",
"ligne": "12",
"label": "Métro 12"
},
{
"type": "bus",
"ligne": "39",
"label": "Bus 39"
}
],
"telephones": ["06 12 34 56 78"],
"has_email": true,
"date": "04 novembre 2025",
"__scrapedAt": "2025-11-04T13:45:32.123Z"
}

📋 Description des Champs

🆔 Identifiants

  • id : Identifiant unique de l'annonce
  • reference_courte : Référence PAP (ex: "F71/0684")
  • url : URL complète de l'annonce

🏷️ Type de Bien

  • produit : Type de transaction ("vente", "location", etc.)
  • typebien : Type de bien (slug)
  • typebien_label : Type de bien (label lisible)

📍 Localisation

  • ville : Nom de la ville
  • arrondissement : Arrondissement précis (ex: "Paris 15e")
  • rue : Nom de la rue
  • code_postal : Code postal
  • code_departement : Code département (2 chiffres)
  • geoId : Identifiant géographique PAP.fr
  • marker : Coordonnées GPS
    • lat : Latitude
    • lng : Longitude

⚠️ Note : GPS peut être null si le propriétaire n'affiche pas la carte.

💰 Prix

  • prix : Prix formaté (ex: "350 000 €")
  • prix_numerique : Prix en nombre (ex: 350000)
  • prix_m2 : Prix au m² formaté
  • prix_m2_numerique : Prix au m² en nombre
  • prix_valide : Boolean (prix validé par PAP)
  • mensualite : Mensualité estimée (vente uniquement)
  • frais_notaire : Frais de notaire estimés (vente)

📐 Caractéristiques

  • nb_pieces : Nombre de pièces
  • nb_chambres_max : Nombre de chambres
  • surface : Surface habitable (m²)
  • surface_terrain : Surface terrain (m²) - maisons
  • etage : Numéro d'étage (0 = RDC, "dernier" = dernier étage)

📝 Description

  • titre : Titre de l'annonce
  • texte : Description complète
  • caracteristiques : Résumé des caractéristiques

📸 Photos

  • photos_urls : Array complet de toutes les photos (10-20 photos généralement)

Exemple :

{
"photos_urls": [
"https://cdn.pap.fr/photos/pap/d9/01/d901...d-p1.jpg",
"https://cdn.pap.fr/photos/pap/ba/70/ba70...b-p1.jpg",
"https://cdn.pap.fr/photos/pap/fb/9a/fb9a...f-p1.jpg"
]
}

🔧 Équipements

Object avec booléens indiquant la présence d'équipements :

{
"equipements": {
"ascenseur": true,
"piscine": false,
"balcon": true,
"terrasse": false,
"parking": false,
"garage": false,
"cave": true,
"jardin": false,
"climatisation": false
}
}

Équipements détectés :

  • ascenseur - Ascenseur dans l'immeuble
  • piscine - Piscine privée ou résidence
  • balcon - Balcon
  • terrasse - Terrasse
  • parking - Place de parking
  • garage - Garage
  • cave - Cave
  • jardin - Jardin privatif
  • climatisation - Climatisation

🌡️ Performance Énergétique

  • classe_energie : Diagnostic de Performance Énergétique (DPE)

    • lettre : A à G
    • description : Description textuelle
  • classe_ges : Émissions de Gaz à Effet de Serre (GES)

    • lettre : A à G
    • description : Description textuelle

Exemple :

{
"classe_energie": {
"lettre": "d",
"description": "Logement avec classe énergie D"
},
"classe_ges": {
"lettre": "c",
"description": "Logement avec classe GES C"
}
}

⚠️ Note : Peut être null si non renseigné par le propriétaire.

🚇 Transports à Proximité

Array d'objets décrivant les transports en commun proches :

{
"transports": [
{
"type": "metro",
"ligne": "12",
"label": "Métro 12"
},
{
"type": "rer",
"ligne": "B",
"label": "RER B"
},
{
"type": "tram",
"ligne": "3A",
"label": "Tram 3A"
},
{
"type": "bus",
"ligne": "39",
"label": "Bus 39"
}
]
}

Types : "metro", "rer", "tram", "bus"

📞 Contact

  • telephones : Array de numéros de téléphone (["06 12 34 56 78"])
  • has_email : Boolean (true si contact email disponible)
  • affiche_demarchage_refuse : Boolean (propriétaire refuse démarchage commercial)

⚠️ Important : Respectez ce choix du propriétaire. Ne contactez pas pour des démarches commerciales si affiche_demarchage_refuse est true.

📅 Métadonnées

  • date : Date de publication ("04 novembre 2025")
  • __scrapedAt : Date/heure du scraping (ISO 8601)

📝 Exemples d'Utilisation

Exemple 1 : Appartements Paris Budget 500k€

Besoin : Trouver des appartements à Paris, minimum 2 pièces, maximum 500 000 €, surface minimum 30m².

Configuration :

{
"produit": "vente",
"typesBien": ["appartement"],
"localisation": {
"ville": "Paris"
},
"nbPieces": {
"min": 2
},
"prix": {
"max": 500000
},
"surface": {
"min": 30
},
"maxListings": 50
}

Résultat : 50 appartements correspondant aux critères.


Exemple 2 : Location Meublée Lyon

Besoin : Appartements meublés à louer à Lyon, 2+ pièces, maximum 1500€/mois.

Configuration :

{
"produit": "location",
"typesBien": ["appartement"],
"localisation": {
"ville": "Lyon"
},
"nbPieces": {
"min": 2
},
"tags": ["meuble"],
"prix": {
"max": 1500
},
"maxListings": 100
}

Résultat : Jusqu'à 100 appartements meublés correspondant aux critères.


Exemple 3 : Maisons Avec Jardin Bordeaux

Besoin : Maisons avec jardin à vendre à Bordeaux, minimum 100m², budget 400-600k€.

Configuration :

{
"produit": "vente",
"typesBien": ["maison"],
"localisation": {
"ville": "Bordeaux"
},
"surface": {
"min": 100
},
"prix": {
"min": 400000,
"max": 600000
},
"maxListings": 0
}

Note : maxListings: 0 récupère TOUTES les annonces correspondantes.


Exemple 4 : Investissement Locatif

Besoin : Petits appartements (studios/2 pièces) pour investissement locatif à Nice, avec ascenseur.

Configuration :

{
"produit": "vente",
"typesBien": ["appartement"],
"localisation": {
"ville": "Nice"
},
"nbPieces": {
"max": 2
},
"tags": ["ascenseur", "investissement-locatif"],
"prix": {
"max": 200000
},
"maxListings": 50
}

Exemple 5 : Recherche Nationale

Besoin : Maisons à vendre partout en France, sans critère géographique, entre 150-250k€.

Configuration :

{
"produit": "vente",
"typesBien": ["maison"],
"prix": {
"min": 150000,
"max": 250000
},
"maxListings": 200
}

Note : Absence de localisation = recherche nationale.


🎯 Cas d'Usage

🏢 Agents Immobiliers

  • Veille concurrentielle : Surveiller les prix du marché dans votre secteur
  • Prospection : Identifier des biens correspondant aux critères de vos clients
  • Analyse de marché : Étudier l'évolution des prix par quartier

💼 Investisseurs

  • Opportunités : Trouver des biens rentables pour investissement locatif
  • Analyse ROI : Calculer le rendement potentiel avec prix d'achat + loyer estimé
  • Diversification : Explorer différentes villes et types de biens

📊 Data Analysts

  • Études de marché : Analyser les tendances immobilières par région
  • Prix au m² : Comparer les prix entre quartiers et villes
  • Visualisations : Créer des cartes de chaleur avec les coordonnées GPS

🤖 Développeurs

  • Alertes automatiques : Créer des notifications pour nouvelles annonces
  • Comparateurs : Construire des outils de comparaison d'annonces
  • Applications : Intégrer les données dans vos apps immobilières

🎓 Chercheurs

  • Études sociologiques : Analyser l'évolution du marché immobilier
  • Machine Learning : Entraîner des modèles de prédiction de prix
  • Géographie urbaine : Étudier la répartition géographique de l'offre

⚡ Performance

  • Rapidité : 100 annonces récupérées en ~27 secondes (sans proxy)
  • Fiabilité : Taux de succès de 100% avec retry automatique
  • Pagination automatique : Scrape toutes les pages nécessaires
  • Économique : Connexion directe par défaut (gratuit), proxies optionnels disponibles

⚠️ Limites et Bonnes Pratiques

Limites Connues

  1. GPS : Peut être null si le propriétaire n'affiche pas la carte sur l'annonce
  2. Leasing : Très peu d'annonces disponibles sur PAP.fr (produit peu utilisé)
  3. DPE/GES : Optionnels, peuvent être null si non renseignés
  4. Téléphones : Peuvent être masqués si le propriétaire ne les affiche pas publiquement

Bonnes Pratiques

  1. Commencez petit : Testez avec maxListings: 10 pour valider votre configuration
  2. Affinez vos critères : Plus vos critères sont précis, meilleurs seront les résultats
  3. Respectez les propriétaires : Ne contactez pas les annonces avec affiche_demarchage_refuse: true pour du démarchage commercial
  4. Planifiez vos exécutions : Utilisez les Schedules Apify pour des exécutions régulières (quotidiennes, hebdomadaires)

🔗 À Propos de PAP.fr

PAP.fr (De Particulier à Particulier) est le premier site d'annonces immobilières entre particuliers en France. Créé en 1995, il permet aux propriétaires de publier leurs annonces directement, sans passer par une agence immobilière.

Avantages de scraper PAP.fr :

  • 💰 Pas de frais d'agence (économies pour les acheteurs)
  • 🏠 Annonces directes propriétaires (négociation possible)
  • 📍 Couverture nationale (toute la France)
  • 🔄 Mises à jour fréquentes (nouvelles annonces quotidiennes)

💡 Support

Pour toute question ou demande d'assistance :


📜 Mentions Légales

Cet Actor est fourni à des fins d'information et d'analyse de données publiques. Assurez-vous de respecter :

  • Les Conditions d'Utilisation de PAP.fr
  • Le RGPD pour le traitement des données personnelles
  • Les lois sur la protection des données de votre juridiction

L'utilisation commerciale des données extraites doit respecter les droits des propriétaires des annonces.


Dernière mise à jour : Novembre 2025