Bien'ici Property Scraper · Buy & rent France · $1/1K avatar

Bien'ici Property Scraper · Buy & rent France · $1/1K

Pricing

$1.00 / 1,000 results

Go to Apify Store
Bien'ici Property Scraper · Buy & rent France · $1/1K

Bien'ici Property Scraper · Buy & rent France · $1/1K

Search Bien'ici property listings by French city or postal code for real estate research, rental monitoring and price analysis. Buy or rent, with price, surface, rooms, energy rating and photos. $1/1K listings.

Pricing

$1.00 / 1,000 results

Rating

0.0

(0)

Developer

MLG Data

MLG Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Share

Bien'ici Property Scraper

Scrape Bien'ici property listings for sale or rent across French cities and postal codes. Export search results with prices, surfaces, rooms, energy ratings, photos, agency identifiers, and approximate map coordinates as structured rows for analysis.

What data can you extract from Bien'ici?

Each property is returned as a flat record. Fields that the listing does not disclose are left empty instead of being guessed.

FieldDescriptionExample
idUnique listing identifier.apimo-87239094
referenceListing reference supplied by the advertiser.1500
titlePublic listing title.Appartement de 125 m²
descriptionListing description text.Appartement avec deux chambres…
transactionTypeSale or rental category.buy
propertyTypeBien'ici property category.flat
priceAdvertised amount in euros; monthly for rentals.2250000
priceWithoutFeesPrice excluding agency fees when present.null
pricePerSquareMeterPublished price per m², or calculated from price and surface.18180.35
agencyFeePercentageAgency fee rate when disclosed.null
feesChargedToParty responsible for agency fees when disclosed.null
priceHasDecreasedWhether the asking price has been reduced.false
surfaceAreaLiving surface in square meters.123.76
landSurfaceAreaLand or plot surface when applicable.null
roomsQuantityNumber of rooms.4
bedroomsQuantityNumber of bedrooms.2
bathroomsQuantityNumber of bathrooms.null
toiletQuantityNumber of separate toilets.null
floorFloor of the unit.null
floorQuantityTotal floors in the building.null
hasCellarWhether a cellar is included.null
cellarsOrUndergroundsQuantityCellar or underground storage count.null
hasElevatorWhether the building has an elevator.null
hasTerraceWhether a terrace is included.null
terracesQuantityNumber of terraces.null
hasBalconyWhether a balcony is included.null
balconyQuantityNumber of balconies.null
energyClassificationEnergy performance class.D
energyValueEnergy consumption value when published.null
greenhouseGazClassificationGreenhouse gas emissions class.D
greenhouseGazValueGreenhouse gas emissions value when published.null
cityCity or locality reported by the listing.Paris 7e
postalCodeFrench postal code.75007
districtDistrict or neighborhood when supplied.Champ de Mars
departmentCodeFrench department code derived from the listing location.75
latitudeApproximate listing latitude; exact coordinates may be hidden.48.8551
longitudeApproximate listing longitude; exact coordinates may be hidden.2.3033
newPropertyWhether the property is classed as new.false
isInCondominiumWhether the property belongs to a condominium.null
annualCondominiumFeesAnnual condominium charges when disclosed.null
publicationDateFirst publication date when the advertiser provides it.null
modificationDateLast modification date in ISO 8601 format.2026-10-15T23:16:45.312Z
photosArray of image URLs.https://file.bienici.com/photo/...
agencyNameAgency name when present in listing data.null
agencyAccountIdSeller account identifier when available.apimo-...
agencyPhonePublic agency phone number when available.null
agencyContactNamePublic agency contact name when available.null
agencyAddressAgency address when disclosed.null
accountTypeSeller account category.agency
heatingHeating system when provided.null
expositionProperty orientation when provided.null
isBienIciExclusiveWhether the listing is exclusive to the site.false
with3dModelWhether a 3D model or virtual tour is indicated.false
urlDirect property page.https://www.bienici.com/annonce/vente/paris-7e/appartement/4-pieces/apimo-87239094

The examples in this table describe field formats. Values are advertiser-dependent; nulls are expected for details not included in the public search record. The actor uses the listing's available map location and does not claim an exact street address when the site blurs it.

How to scrape Bien'ici

  1. Choose a city, district, or postal code in location, or paste one or more search result links in startUrls.
  2. Select sale or rental listings and, if useful, narrow by property type, price, room count, bedroom count, or surface.
  3. Set maxResults to the number of rows needed. Keep includeDetails off for the fastest search-only run.
  4. Start the run and inspect the resulting dataset. Download the rows as JSON or CSV for further analysis.

The actor resolves the location through Bien'ici's public suggestion data and applies filters in the listing search request. It does not download every page of the website and attempt to infer search filters afterward. When multiple URLs are supplied, results are combined and duplicate listing IDs are emitted once.

Input

ParameterTypeDefaultDescription
startUrlsArray of strings[]Optional Bien'ici search URLs. The route can supply transaction, location, and property type. Use the filter fields below for additional limits.
transactionTypebuy or rentbuySearch properties for sale or for rent.
locationStringParisCity, district, or postal code, such as Lyon or 75011.
propertyTypesArray of strings[]Values include flat, house, loft, townhouse, castle, terrain, parking, building, shop, office, and premises. Empty means any type.
priceMinIntegerEmptyMinimum price in euros; monthly rent for rental searches.
priceMaxIntegerEmptyMaximum price in euros; monthly rent for rental searches.
roomsMinIntegerEmptyMinimum number of rooms.
bedroomsMinIntegerEmptyMinimum number of bedrooms.
surfaceMinIntegerEmptyMinimum living surface in square meters.
surfaceMaxIntegerEmptyMaximum living surface in square meters.
sortBySelectrelevanceSort by relevance, ascending or descending price, newest, or largest surface.
includeDetailsBooleanfalseRequest each individual public listing record for any additional contact or property details that are available. This adds one request per result.
maxResultsInteger100Total output cap. Set to 0 for up to the site search limit per URL.
maxResultsPerUrlInteger0Per-search cap. 0 uses the site's search limit of 2,500 results.
ignoreUrlFailuresBooleantrueContinue after a failed search URL. If all searches fail or return no listings, the run reports an error.
proxyConfigurationObjectDefault proxyOptional request proxy settings.

Example: Paris apartments for sale

{
"transactionType": "buy",
"location": "Paris",
"propertyTypes": ["flat"],
"priceMax": 500000,
"roomsMin": 2,
"sortBy": "newest",
"maxResults": 100
}

Example: Lyon rentals

{
"transactionType": "rent",
"location": "Lyon",
"propertyTypes": ["flat", "loft"],
"priceMax": 1500,
"bedroomsMin": 1,
"maxResults": 75
}

If startUrls contains a route for a city and transaction, those route values take precedence. For other constraints, set the corresponding input properties explicitly. A route's query-string filters are not fully decoded, so provide any price, room, or surface constraints in the input.

Output example

This is an item returned by the Paris sale golden run. The photo list is shortened here to keep the example readable.

{
"id": "apimo-87239094",
"reference": "1500",
"title": "Paris VIIᵉ | Champ-de-Mars | Appartement de 125 m² | Chambre de service de 10 m²",
"transactionType": "buy",
"propertyType": "flat",
"price": 2250000,
"pricePerSquareMeter": 18180.349062702004,
"surfaceArea": 123.76,
"roomsQuantity": 4,
"bedroomsQuantity": 2,
"energyClassification": "D",
"greenhouseGazClassification": "D",
"city": "Paris 7e",
"postalCode": "75007",
"district": "Champ de Mars",
"departmentCode": "75",
"latitude": 48.855121521939274,
"longitude": 2.303284548300216,
"modificationDate": "2026-10-15T23:16:45.312Z",
"photos": [
"https://file.bienici.com/photo/apimo-87239094_media.apimo.pro_cache_622eb51a0128ab5ff28c221fc0e4a7ee_a0219f31f2_1448-original.jpg",
"https://file.bienici.com/photo/apimo-87239094_media.apimo.pro_cache_284f8cede55eec18cc73b4fb5f1a776c_c701b2893b_1448-original.jpg"
],
"agencyAccountId": "apimo-87239094",
"accountType": "agency",
"url": "https://www.bienici.com/annonce/vente/paris-7e/appartement/4-pieces/apimo-87239094"
}

Use cases

  • Property investors: collect current asking prices and compare price per square meter across districts before building a shortlist.
  • Rental teams: find active apartments by city, rent ceiling, room count, and living surface for relocation or tenant research.
  • Market analysts: compare the visible mix of homes, apartments, land, and commercial stock across French markets.
  • Energy specialists: group listings by published energy and greenhouse gas classifications to identify properties that may need closer review.
  • Mapping projects: use approximate coordinates, city, postal code, and district to plot available listings at neighborhood scale.
  • Agency researchers: review public agency identifiers and any contact details the listing exposes, while respecting applicable privacy and outreach rules.

How much does it cost to scrape Bien'ici?

The current result event rate is $1.00 per 1,000 listings. The result charge scales with rows written to the dataset; it does not depend on how many optional fields happen to be populated.

  • 100 listings: approximately $0.10 in result charges.
  • 1,000 listings: approximately $1.00 in result charges.
  • 5,000 listings: approximately $5.00 in result charges.

These examples cover result events at the current rate. Your account displays any applicable execution or plan usage separately. A run that stops at maxResults does not continue collecting or charging result events after the cap is reached.

Tips for best results

  • Start with a city or postal code and a modest result cap to make sure the selected transaction matches your research.
  • Narrow larger areas with a property type, price band, or additional URL for a nearby district. Each URL has a site-side result limit.
  • Use rent with monthly rent limits; do not enter an annualized amount in priceMax.
  • For active inventory, leave the on-market selection enabled. Search results can change as properties are sold, rented, or removed.
  • Keep includeDetails disabled when price, size, rooms, location, photos, and energy data are enough. Enabling it requests the public listing record individually and can lengthen a large run.
  • Use modificationDate as a freshness indicator when it is present. Some advertisers omit the publication date or provide a placeholder date; unavailable dates are returned as null.
  • Treat pricePerSquareMeter as a comparison aid. The source may provide its own value; otherwise this actor calculates it from the listed price and living surface.
  • For a broad city inventory, split searches by property category or price range so each request stays focused and within the site's per-search cap.

Limits

Bien'ici's search endpoint caps a single search at approximately 2,500 listings. The actor honors that ceiling for each URL, even when maxResults is 0. Use narrower searches or multiple URLs to cover a larger market. A total maxResults value still applies across all URLs.

Search records are public listing summaries, not full appraisal reports. Energy values, fees, floor counts, outdoor-space counts, agency phone numbers, and contact names can be absent. The optional details request may provide extra values, but it cannot recover details the advertiser or site does not expose.

Coordinates can be approximate because exact property positions may be blurred. Dates can be missing or represented by a placeholder; placeholder dates are converted to null. The scraper uses the location resolved by the site, so an ambiguous place name can select the highest-ranked matching suggestion. Use a postal code or a more specific district when needed.

Search URLs supply transaction, location, and property type when those values are encoded in the route. Query-string filters are not fully reconstructed. Put price, room, bedroom, and surface constraints in the actor input to make sure they are applied to the API request.

Automated research workflows

Use a saved search as a repeatable starting point and set a clear row cap for each scheduled collection. Example tasks include:

  • “Collect up to 100 apartments for sale in Paris below €500,000, newest first.”
  • “Compare available rentals in Lyon and Bordeaux with at least two bedrooms, then export the rows as CSV.”

The output is a flat dataset, so each run can be downloaded or passed to a later reporting step without reshaping nested page markup. Keep a copy of the input alongside each export to make price and inventory comparisons reproducible.

FAQ

The scraper reads publicly accessible property listing data. You are responsible for following the site's terms, applicable law, and privacy requirements. Use public contact data only for appropriate purposes and do not use it for unsolicited or unlawful outreach.

Do I need to provide a proxy?

No. The actor uses its configured request proxy by default. A custom proxy can be supplied in proxyConfiguration when your account or network setup requires it.

How fast is a run?

Speed depends on the result cap, network response time, and whether includeDetails is enabled. Search-only runs request listings in pages. Optional per-listing details add one request for each collected property.

Can I schedule recurring searches?

Yes. Save the input and schedule it through your account's run scheduler. Each scheduled run produces a separate dataset that can be compared with earlier results.

Can I export the results to a spreadsheet?

Yes. Download the dataset as CSV or Excel-compatible output, or retrieve the structured JSON for your own reporting workflow.

Why are some fields empty?

Advertisers do not publish every characteristic, and some details are withheld from general search responses. Empty values mean the source did not supply that field in the data returned for the listing.

Why are fewer listings returned than requested?

The selected city and filters may have fewer active matches than the requested maximum. Bien'ici also limits a single search to around 2,500 listings. Try a broader filter or split a large search into several location or price segments.

Use with AI agents (MCP)

Add this actor to any MCP client (Claude, Cursor, VS Code, n8n and others) with one URL:

https://mcp.apify.com?tools=mlg14/bienici-scraper

The actor returns one dataset item per Bien'ici listing (price, surface, rooms, energy rating, photos, location, URL). Set maxResults to keep results bounded.

Prompt 1: "Find apartments for sale in Paris 75011 under 600000 euros."

{
"transactionType": "buy",
"location": "75011",
"priceMax": 600000,
"maxResults": 20
}

Prompt 2: "List the newest rentals in Lyon with at least 2 bedrooms."

{
"transactionType": "rent",
"location": "Lyon",
"bedroomsMin": 2,
"sortBy": "newest",
"maxResults": 20
}

Prompt 3: "Get the 20 largest properties for sale in Paris."

{
"transactionType": "buy",
"location": "Paris",
"sortBy": "surfaceDesc",
"maxResults": 20
}

Integrations

Download the default dataset in JSON or CSV, retrieve it through the dataset endpoint, or connect completed runs to webhook-based reporting and scheduled data workflows. The flat fields are suitable for spreadsheets, maps, market dashboards, and recurring inventory comparisons.

Support

Open an issue on the Issues tab; we reply within 24 hours and add fields on request.