Imobiliare APIimobiliare.ro ↗
Search and filter rental apartments across Romania by city, zone, and price range using real-time listings from imobiliare.ro. Discover available properties that match your budget and location preferences with detailed filtering options.
curl -X GET 'https://api.parse.bot/scraper/209dc279-0def-4b60-a612-bc01a1fecaa6/search_locations?query=Cluj' \ -H 'X-API-Key: $PARSE_API_KEY'
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 imobiliare-ro-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: Imobiliare.ro SDK - search apartments for rent in Romania."""
from parse_apis.imobiliare_ro_api import Imobiliare, LocationNotFound
client = Imobiliare()
# Discover locations matching "Cluj" to find valid city/zone slugs.
for loc in client.locations.search(query="Cluj", limit=3):
print(loc.label, loc.listings_count)
# Search apartments for rent in Bucuresti with a price filter.
for apt in client.apartments.search(city="bucuresti", min_price="400", max_price="800", limit=5):
print(apt.title, apt.price, apt.currency, apt.area)
# Drill into a specific zone search.
apt = client.apartments.search(city="cluj-napoca", zone="manastur", limit=1).first()
if apt:
print(apt.listing_id, apt.title, apt.price, apt.seller_type)
# Handle location not found error.
try:
for a in client.apartments.search(city="nonexistent-city-xyz", limit=1):
print(a.title)
except LocationNotFound as exc:
print(f"Location not found: {exc}")
print("exercised: locations.search / apartments.search (city, zone, price filter)")
Search for locations (counties, cities, zones, streets) by name. Returns matching locations organized by type, each with a location_id and listings_count. Use this to discover valid city and zone slugs for the search_apartments_for_rent endpoint.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Location name to search for (e.g. 'Cluj', 'Bucuresti', 'Pipera'). |
{
"type": "object",
"fields": {
"zones": "array of zone location objects",
"cities": "array of city location objects",
"streets": "array of street location objects",
"counties": "array of county location objects"
},
"sample": {
"zones": [
{
"depth": 3,
"label": "Manastur",
"id_tree": "11115_11335_11365",
"subtext": "Cluj-Napoca, Judetul Cluj",
"parent_id": 11335,
"location_id": 11365,
"has_children": false,
"parent_stack": [
{
"depth": 1,
"label": "Judetul Cluj",
"id_tree": "11115",
"location_id": 11115
},
{
"depth": 2,
"label": "Cluj-Napoca",
"id_tree": "11115_11335",
"location_id": 11335
}
],
"listings_count": 1890
}
],
"cities": [
{
"depth": 2,
"label": "Cluj-Napoca",
"id_tree": "11115_11335",
"subtext": "Judetul Cluj",
"parent_id": 11115,
"location_id": 11335,
"has_children": true,
"parent_stack": [
{
"depth": 1,
"label": "Judetul Cluj",
"id_tree": "11115",
"location_id": 11115
}
],
"listings_count": 14570
}
],
"streets": [
{
"depth": 3,
"label": "Strada Paris",
"id_tree": "11115_11335_35032",
"subtext": "Cluj-Napoca, Judetul Cluj",
"parent_id": 11335,
"location_id": 35032,
"has_children": false,
"parent_stack": [
{
"depth": 1,
"label": "Judetul Cluj",
"id_tree": "11115",
"location_id": 11115
},
{
"depth": 2,
"label": "Cluj-Napoca",
"id_tree": "11115_11335",
"location_id": 11335
}
],
"listings_count": 886
}
],
"counties": [
{
"depth": 1,
"label": "Judetul Cluj",
"id_tree": "11115",
"subtext": "",
"parent_id": 0,
"location_id": 11115,
"has_children": true,
"parent_stack": [],
"listings_count": 21695
}
]
}
}About the Imobiliare API
The Imobiliare API on Parse exposes 2 endpoints for the publicly available data on imobiliare.ro. Calls return JSON over HTTPS and are billed per successful response.
Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.