Discover/Lescrous API
live

Lescrous APItrouverunlogement.lescrous.fr

Search, filter, and monitor French CROUS student housing listings. 7 endpoints covering residences, availability, price, city, room type, and regional data.

Endpoint health
verified 3d ago
search_residences
get_residence_details
filter_by_room_type
filter_by_price
list_crous_regions
7/7 passing latest checkself-healing
Endpoints
7
Updated
4d ago

What is the Lescrous API?

This API exposes 7 endpoints for querying student housing listings managed by the French CROUS network via trouverunlogement.lescrous.fr. Use search_residences to retrieve paginated accommodation listings with rent prices, equipment, and availability status, or get_residence_details to pull full residence data including transport links, area dimensions, booking status, and occupation modes with rent ranges.

Try it
Page number for pagination.
Number of results per page.
Comma-separated occupation mode filters. Accepted values: 'alone', 'couple', 'house_sharing'.
api.parse.bot/scraper/d252a081-10a5-437e-9533-68a7a9175a3e/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d252a081-10a5-437e-9533-68a7a9175a3e/search_residences?page=1&page_size=5&occupation_modes=couple' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace trouverunlogement-lescrous-fr-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: CROUS Student Housing SDK — find affordable student housing in France."""
from parse_apis.crous_student_housing_api import (
    CrousHousing, OccupationMode, RoomType, City, AccommodationNotFound,
)

client = CrousHousing()

# List all CROUS regions to see coverage across France.
for region in client.regions.list(limit=5):
    print(region.id, region.name)

# Search for studio accommodations under €400/month.
for acc in client.accommodations.by_price(max_price=400, limit=3):
    print(acc.label, acc.available, acc.residence.address)

# Filter by room type using the RoomType enum.
studio = client.accommodations.by_room_type(room_type=RoomType.STUDIO, limit=1).first()
if studio:
    print(studio.label, studio.area.min, studio.area.max)

# Get full details for a specific accommodation.
try:
    detail = client.accommodations.get(id=str(studio.id))
    print(detail.label, detail.residence.label, detail.available)
    for eq in detail.equipments[:3]:
        print(f"  {eq.category}: {eq.label}")
except AccommodationNotFound as exc:
    print(f"Not found: {exc}")

# Search by city using the City enum.
for acc in client.accommodations.by_city(city=City.TULLE, limit=3):
    for mode in acc.occupationModes:
        print(acc.label, mode.type, mode.rent.min, mode.rent.max)

print("exercised: regions.list / by_price / by_room_type / get / by_city")
All endpoints · 7 totalmissing one? ·

Search for student housing accommodations across France. Returns a paginated list of accommodations with residence details, rent prices, equipment, and availability status. Also includes aggregation data with map markers and filter counts. Default page size is 24.

Input
ParamTypeDescription
pageintegerPage number for pagination.
page_sizeintegerNumber of results per page.
occupation_modesstringComma-separated occupation mode filters. Accepted values: 'alone', 'couple', 'house_sharing'.
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page index (0-based)",
    "items": "array of accommodation listing objects",
    "total": "integer total number of matching accommodations",
    "pageSize": "integer number of results per page",
    "aggregations": "object with occupationModes counts, equipmentCategories, rent distribution, and map markers"
  },
  "sample": {
    "data": {
      "page": 0,
      "items": [
        {
          "id": 6,
          "area": {
            "max": 26,
            "min": 26
          },
          "label": "Tulle Studio",
          "available": true,
          "residence": {
            "label": "Résidence de Souilhac",
            "address": "35 rue d'Arsonval 19000 TULLE"
          },
          "equipments": [
            {
              "id": "d090e186-fa0e-11e7-89ed-005056940822",
              "label": "WC",
              "category": "Bâtiment"
            }
          ],
          "bookingData": {
            "amount": 10000
          },
          "occupationModes": [
            {
              "rent": {
                "max": 40359,
                "min": 40359
              },
              "type": "alone"
            }
          ]
        }
      ],
      "total": 135,
      "pageSize": 5,
      "aggregations": {
        "occupationModes": {
          "alone": 127,
          "couple": 6,
          "house_sharing": 16
        }
      }
    },
    "status": "success"
  }
}

About the Lescrous API

What the API covers

The API covers student housing accommodations managed across France by the CROUS network. search_residences returns a paginated results.items array where each item includes an accommodation ID, type label, availability boolean, and rent data. The aggregations object returned alongside results contains occupation mode counts, equipment category breakdowns, rent distribution buckets, and map marker coordinates — useful for building map views or faceted filter UIs.

Residence and booking detail

get_residence_details accepts a numeric accommodation_id (obtainable from results[*].items[*].id) and returns a rich response: area with min/max square meters, residence with name, address, GPS location, transport links, and media assets, equipments as a categorized array, bookingData with a booking amount and availability flag, and occupationModes listing rent ranges in cents for solo, couple, or house-sharing arrangements.

Filtering options

Three filter endpoints narrow results without requiring search-side logic. filter_by_price accepts a max_price in euros and compares against each accommodation's minimum rent. filter_by_room_type does a case-insensitive substring match on the label field, so values like Studio, T1, or Chambre all work. search_residences_by_city matches against residence address and label fields. All three return the same results and aggregations structure as the base search. get_available_residences further narrows to listings where available is true.

Regional data

list_crous_regions returns a static list of 24 CROUS regional organizations, each with an integer id and a string name. These IDs reflect the real administrative structure of the CROUS network across metropolitan France.

Reliability & maintenanceVerified

The Lescrous API is a managed, monitored endpoint for trouverunlogement.lescrous.fr — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when trouverunlogement.lescrous.fr changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official trouverunlogement.lescrous.fr API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a housing availability monitor that polls get_available_residences and alerts when new listings appear
  • Render an interactive map of student housing using map marker coordinates from the aggregations object
  • Display price distribution histograms using rent bucket data from the aggregations.rent field
  • Filter listings by city and room type together by chaining search_residences_by_city results client-side with filter_by_room_type
  • Show transport links and nearby transit options by extracting residence.transports from get_residence_details
  • Compare rent ranges across occupation modes (alone vs. couple vs. house sharing) using occupationModes rent data
  • Populate a regional selector UI using the 24 CROUS organizations returned by list_crous_regions
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does CROUS provide an official developer API for trouverunlogement.lescrous.fr?+
CROUS does not publish a documented public developer API for the trouverunlogement portal. There is no official API key program or published OpenAPI specification available from CROUS for this service.
What does `get_residence_details` return beyond what the search endpoint provides?+
get_residence_details returns fields not present in the search listing: area (min/max square meters), residence.transports (transport links near the residence), residence.medias (photos and media assets), equipments as a full categorized array, and bookingData with a booking amount and availability flag. The search endpoint returns summary-level fields only.
Does `search_residences_by_city` search all pages of results or only one page at a time?+
The city filter matches against the current page of results returned by the underlying search. If listings for a given city span multiple pages, you need to paginate through them using the page and page_size parameters and apply the city filter across pages.
Can I filter by both price and room type in a single API call?+
No single endpoint currently combines both max_price and room_type filters in one request. filter_by_price and filter_by_room_type are separate endpoints. You can fork the API on Parse and revise it to add a combined filter endpoint that applies both constraints in a single call.
Does the API expose individual room-level booking or waitlist data?+
Not currently. The API exposes bookingData at the accommodation level, which includes a booking amount and an availability flag, but does not break down individual room availability, waitlist position, or booking slot schedules. You can fork the API on Parse and revise it to add an endpoint targeting room-level booking detail if the source exposes that data.
Page content last updated . Spec covers 7 endpoints from trouverunlogement.lescrous.fr.
Related APIs in Real EstateSee all →
studapart.com API
Search thousands of student housing listings across France, including private rentals, shared apartments, and dorms, while viewing detailed information about pricing, amenities, availability, and individual rooms. Filter by location and residence type to find the perfect student accommodation that matches your needs.
amberstudent.com API
Search student accommodation listings across popular cities and access comprehensive property information including room types, pricing trends, and tenant reviews. Get detailed insights into student housing options to compare amenities, prices, and community feedback all in one place.
leboncoin.fr API
Search and retrieve detailed listings from Leboncoin across cars, real estate, jobs, and other categories with advanced filtering options. Access seller profiles, pricing analytics, and comprehensive listing details to find exactly what you're looking for on France's leading classifieds platform.
rentals.ca API
Search and browse rental listings across Canada by city or neighbourhood, and view detailed property information including prices, amenities, and availability. Find your next home by filtering thousands of rental properties on Rentals.ca in real-time.
encheres-publiques.com API
Search and browse real estate, vehicle, art, and equipment auctions across France, viewing detailed lot information and upcoming auction events from various organizers. Filter auction listings by category and type to find specific items and compare auction details to make informed bidding decisions.
monteurzimmer.de API
monteurzimmer.de API
centerparcs.fr API
Search and book holiday accommodations across Center Parcs resorts, compare pricing to find the best available deals, and discover activities at each location. Browse detailed accommodation information and explore what each park domain offers.
inberlinwohnen.de API
Search and browse affordable apartment listings from Berlin's state-owned housing companies, view detailed property information, and access company profiles and tenant guides. Find your next home in Berlin with comprehensive data on available rentals and housing provider information in one place.