trouverunlogement.lescrous.fr APItrouverunlogement.lescrous.fr ↗
Search, filter, and monitor French CROUS student housing listings. 7 endpoints covering residences, availability, price, city, room type, and regional data.
curl -X GET 'https://api.parse.bot/scraper/d252a081-10a5-437e-9533-68a7a9175a3e/search_residences' \ -H 'X-API-Key: $PARSE_API_KEY'
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.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| page_size | integer | Number of results per page. |
| occupation_modes | string | Comma-separated occupation mode filters (e.g. 'alone', 'couple', 'house_sharing'). |
{
"type": "object",
"fields": {
"results": "object containing items array of accommodation listings, total count, page, and pageSize",
"aggregations": "object with occupationModes counts, equipmentCategories, rent distribution, and map markers"
},
"sample": {
"data": {
"results": {
"page": 0,
"items": [
{
"id": 1311,
"area": {
"max": 13.5,
"min": 13
},
"code": 71,
"label": "Studette",
"bedCount": 1,
"lowStock": false,
"available": true,
"residence": {
"id": "7707a837-0b76-11e8-89ed-005056940822",
"label": "CU MONPLAISIR",
"address": "rue Jacques Callot 54500 VANDOEUVRE LES NANCY",
"location": {
"lat": 48.666,
"lon": 6.165
}
},
"roomCount": 1,
"adaptedPmr": false,
"equipments": [
{
"id": "d090e186-fa0e-11e7-89ed-005056940822",
"label": "WC",
"category": "Bâtiment"
}
],
"highDemand": false,
"bedroomCount": 1,
"occupationModes": [
{
"rent": {
"max": 38832,
"min": 38432
},
"type": "alone"
}
]
}
],
"total": {
"value": 24,
"relation": "eq"
},
"pageSize": 24
},
"aggregations": {
"occupationModes": {
"alone": 219,
"couple": 30,
"house_sharing": 43
}
}
},
"status": "success"
}
}About the trouverunlogement.lescrous.fr 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.
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.
- Build a housing availability monitor that polls
get_available_residencesand alerts when new listings appear - Render an interactive map of student housing using map marker coordinates from the
aggregationsobject - Display price distribution histograms using rent bucket data from the
aggregations.rentfield - Filter listings by city and room type together by chaining
search_residences_by_cityresults client-side withfilter_by_room_type - Show transport links and nearby transit options by extracting
residence.transportsfromget_residence_details - Compare rent ranges across occupation modes (alone vs. couple vs. house sharing) using
occupationModesrent data - Populate a regional selector UI using the 24 CROUS organizations returned by
list_crous_regions
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does CROUS provide an official developer API for trouverunlogement.lescrous.fr?+
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?+
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?+
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?+
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.