# Immojeune Scraper \[$5/1K💰] | Student Housing (`ahmed_jasarevic/immojeune-scraper`) Actor

Scrape Immojeune student-housing listings across France: rent, charges, deposit, surface, room type, address, amenities, photos and nearby schools. $5 per 1,000 listings.

- **URL**: https://apify.com/ahmed_jasarevic/immojeune-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## Immojeune Scraper – French Student Housing Data

Scrape public **Immojeune** student-housing listings across France: private and agency rentals, shared flats, short stays and student residences. Get rent, charges, deposit, surface, room type, address, amenities, photos, advertiser type and nearby schools in one structured dataset. **$5 per 1,000 listings.**

### Find Student Housing Across France

Immojeune is a dedicated French student-housing marketplace with city, university and listing-type pages. This Actor turns those public listings into clean records for relocation agencies, universities, student-housing operators, landlords and rental-market researchers.

- **Housing supply** — map available studios, flatshares and residences by city.
- **University research** — find housing near a specific school or campus.
- **Price analysis** — compare rent, charges, deposit and surface by area.
- **Lead generation** — build lists of agencies, residences and private landlords.
- **Market monitoring** — schedule runs to track new listings and availability.

### How It Works

![How the Immojeune Scraper works: from a city or university search to structured student-housing listings.](https://api.apify.com/v2/key-value-stores/oeuA0kLOyhbRM4fzt/records/how-it-works-immojeune-scraper.webp)

The Actor reads public Immojeune city, university and listing-type pages, follows the available result pages, and normalizes each property into one dataset row. Add city names, school slugs or direct search URLs, then cap the run with `maxItems`.

- One row per listing or residence unit.
- City, university and listing-type searches are supported.
- Up to `maxItems` records per run.
- Fields that the advertiser does not publish stay `null`.

### Search By City, University Or Listing Type

Use `searchUrls` for exact city, school or type pages. Use `cities` and `schools` for shorter input:

- **Cities** — Paris, Lyon, Bordeaux, Marseille, Toulouse, Lille, Nantes and other French student cities.
- **Universities and schools** — target a campus or school page by slug or full URL.
- **Listing types** — student rentals, shared flats, short stays and student residences.
- **Direct pages** — pass any public Immojeune search or listing page.

### Rent, Charges, Deposit And Amenities

Each record includes the published monthly rent, charges, security deposit, application fee, surface, room count, property type, address, city, postal code, availability, furnished status, amenities, photos, advertiser type and nearby schools with distances.

Residence pages may show a “from” rent and omit charges. Private listings may hide the advertiser name. The Actor returns the public advertiser type when the name is not disclosed.

### Input – Configure An Immojeune Run

| Field | Type | Default | Notes |
|---|---|---|---|
| `searchUrls` | array | Paris city page | City, university, listing-type or direct listing URLs |
| `cities` | array | `[]` | City names or slugs, e.g. `Lyon`, `bordeaux`, `aix-en-provence` |
| `schools` | array | `[]` | University slug or full school-page URL |
| `maxItems` | integer | `50` | Maximum listings saved to the dataset |
| `proxy` | object | Apify Proxy off | Standard Apify Proxy configuration for large runs |

### Output – Student Housing Fields

Each dataset item can contain:

- `listingId`, `url`, `title`
- `listingType`, `propertyType`, `rooms`
- `rent`, `currency`, `charges`, `deposit`, `applicationFee`
- `surfaceM2`
- `address`, `city`, `postalCode`
- `availability`, `availableFrom`
- `furnished`, `amenities`
- `photos`
- `advertiserType`, `advertiserName`
- `nearbySchools`
- `description`, `publishedText`
- `scrapedAt`

### Example Input – Paris, Lyon And Bordeaux

```json
{
  "searchUrls": [
    { "url": "https://www.immojeune.com/logement-etudiant/paris-75.html" }
  ],
  "cities": ["Lyon", "Bordeaux"],
  "schools": ["college-lycee-pasteur"],
  "maxItems": 50,
  "proxy": { "useApifyProxy": false }
}
```

### Example Output – Paris Apartment

```json
{
  "listingId": "4061892",
  "url": "https://www.immojeune.com/location-etudiant/paris-17-75/appartement-exceptionnel-avec-jardin-privatif_4061892.html",
  "title": "Appartement exceptionnel avec jardin privatif",
  "listingType": "Location étudiant",
  "propertyType": "T1",
  "rooms": 1,
  "rent": 1310,
  "currency": "€",
  "charges": 120,
  "deposit": 2380,
  "applicationFee": "Aucun",
  "surfaceM2": 22,
  "address": "1 Rue d'Armenonville",
  "city": "Paris 17",
  "postalCode": "75017",
  "availability": "Disponible immédiatement",
  "furnished": true,
  "amenities": ["Meublé", "Chauffage", "Kit vaisselle"],
  "photos": ["https://www.immojeune.com/uploads/housing/1200x800/example.jpg"],
  "advertiserType": "PARTICULIER",
  "nearbySchools": [{ "name": "Lycée Pasteur", "distance": "735 m" }],
  "scrapedAt": "2026-10-31T12:00:00.000Z"
}
```

### Export Student Housing Data To JSON, CSV Or Excel And Schedule Runs

Download results as JSON, CSV, Excel or XML from the run page or through the Apify API. Connect runs to Google Sheets, Make, Zapier or webhooks, or schedule weekly refreshes to track new student listings and changing rents.

### Related Actors

- [Google Maps Scraper](https://apify.com/apify/google-maps-scraper) — add neighborhood context and nearby amenities
- [Google Search Scraper](https://apify.com/ahmed_jasarevic/google-search-scraper) — research universities and student cities
- [Contact Details Scraper](https://apify.com/ahmed_jasarevic/contact-details-scraper) — enrich agency and residence websites
- [Website Content Crawler](https://apify.com/apify/website-content-crawler) — collect public university housing information

### FAQ

#### What is Immojeune?

Immojeune is a French marketplace for student rentals, shared flats, short stays and student residences.

#### Do I need an Immojeune account?

No. The Actor reads public listings and never asks for your Immojeune credentials.

#### Why is `advertiserName` empty?

Immojeune does not publish manager names on all public listings. The Actor returns the advertiser type instead, such as private landlord, agency or residence.

#### Why are charges or deposit missing?

Some advertisers do not disclose charges, deposits or application fees. Those fields stay `null` or empty.

#### Can I search by university?

Yes. Pass a school slug or full university page URL in `schools`, or use the school page in `searchUrls`.

#### Does it cover all of France?

Coverage depends on public Immojeune city, university and listing-type pages. Use `cities` or `searchUrls` to target the areas you need.

#### How much does it cost?

FREE and BRONZE users pay **$0.005 per listing** ($5 per 1,000), SILVER pays **$0.0045** and GOLD+ pays **$0.004**, plus a small Actor Start event.

#### Can I scrape student residences?

Yes. Residence pages and individual residence units are supported when publicly listed.

### For AI Agents & LLM Apps

Returns one row per Immojeune student-housing listing with rent, charges, deposit, surface, room type, address, amenities and nearby schools.

Minimal working input:

```json
{ "cities": ["Lyon"], "maxItems": 24 }
```

Output fields: `listingId, url, title, listingType, propertyType, rooms, rent, currency, charges, deposit, applicationFee, surfaceM2, address, city, postalCode, availability, availableFrom, furnished, amenities, photos, advertiserType, advertiserName, nearbySchools, description, publishedText, scrapedAt`.

Behaviors an agent should know:

- `cities` accepts names or slugs; `schools` accepts a slug or full page URL.
- `maxItems` caps the number of saved listings.
- `advertiserName` is often `null`; use `advertiserType` as the public signal.
- Residence “from” prices may not include charges.
- Missing charges, deposits or fees stay `null`.
- Free users get a 10-listing preview.

Billing: **$0.005 per listing** on FREE/BRONZE ($5 per 1,000), $0.0045 on SILVER and $0.004 on GOLD+, plus a small Actor Start event.

### Legal & Compliance Disclaimer

This Actor is an independent tool. It is not affiliated with, endorsed by or sponsored by Immojeune.

It collects publicly available housing listings — no login and no private account. Listing details and prices are advertiser-reported and may change. Users are responsible for complying with Immojeune's terms and applicable housing, privacy and consumer law. Nothing here is legal or financial advice.

### SEO Keywords

immojeune scraper, french student housing, student apartments paris, student housing france, immojeune listings, paris student accommodation, lyon student housing, bordeaux student housing, student rental data, colocation france, residence etudiante, student housing api, rental listings france, student accommodation data, immojeune api, apartment rent france, student housing market, french rental data

# Actor input Schema

## `searchUrls` (type: `array`):

Immojeune search pages to scrape, e.g. https://www.immojeune.com/logement-etudiant/paris-75.html (city), https://www.immojeune.com/logement-college-lycee-pasteur.html (university), https://www.immojeune.com/colocation.html (type).

## `cities` (type: `array`):

City names or slugs, e.g. "Lyon", "bordeaux", "aix-en-provence". Resolved against the Immojeune city index.

## `schools` (type: `array`):

University slug shown in Immojeune URLs (e.g. "college-lycee-pasteur" for /logement-college-lycee-pasteur.html) or a full page URL.

## `maxItems` (type: `integer`):

Maximum number of listings to save to the dataset.

## `proxy` (type: `object`):

Select proxies to be used by your crawler.

## Actor input object example

```json
{
  "searchUrls": [
    {
      "url": "https://www.immojeune.com/logement-etudiant/paris-75.html"
    }
  ],
  "cities": [],
  "schools": [],
  "maxItems": 50,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "searchUrls": [
        {
            "url": "https://www.immojeune.com/logement-etudiant/paris-75.html"
        }
    ],
    "cities": [],
    "schools": [],
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/immojeune-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 = {
    "searchUrls": [{ "url": "https://www.immojeune.com/logement-etudiant/paris-75.html" }],
    "cities": [],
    "schools": [],
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ahmed_jasarevic/immojeune-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 '{
  "searchUrls": [
    {
      "url": "https://www.immojeune.com/logement-etudiant/paris-75.html"
    }
  ],
  "cities": [],
  "schools": [],
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ahmed_jasarevic/immojeune-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/immojeune-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/bu6b6jKZX4x6iefMR/builds/3tk4Z4mIXrLkeoxkC/openapi.json
