OLX APIm.olx.ro ↗
Search and retrieve structured real estate listings from OLX.ro. Get price, area, rooms, location, photos, and more via two clean endpoints.
What is the OLX API?
The OLX Romania API covers 2 endpoints that let you query and paginate real estate listings from m.olx.ro, returning up to 1,000 listings per search with 11 fields per listing including price, currency, area, rooms, location, and photos. The search_real_estate endpoint accepts category path slugs and offset-based pagination, while get_category_id resolves a top-level slug like imobiliare to its internal OLX category identifier.
curl -X GET 'https://api.parse.bot/scraper/fedbcb5c-92db-48e1-8adb-9fec6ce76fd0/search_real_estate?limit=5&offset=0&category_path=electronice-si-electrocasnice' \ -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 m-olx-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.
from parse_apis.olx_romania_real_estate_api import OLX, Listing, Category
olx = OLX()
# Resolve a category slug to its internal ID
category = olx.categories.get(path="imobiliare")
print(category.category_id)
# List real estate listings
for listing in olx.listings.list(category_path="imobiliare"):
print(listing.title, listing.price, listing.currency, listing.location.full)
Search for real estate listings on OLX.ro. Returns paginated results with details for each listing including price, area, location, and description. Pagination is offset-based; advance by incrementing offset by limit. Total available listings capped at 1000 by OLX.
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of items to return per page. |
| offset | integer | Pagination offset (number of items to skip). |
| category_path | string | Top-level category path/slug such as imobiliare or electronice-si-electrocasnice. |
{
"type": "object",
"fields": {
"items": "array of listing objects with id, title, url, posting_date, price, currency, area, rooms, location, description, and photos",
"limit": "integer number of items requested",
"total": "integer total number of listings available",
"offset": "integer current pagination offset"
},
"sample": {
"data": {
"items": [
{
"id": 304192608,
"url": "https://www.olx.ro/d/oferta/bloc-cu-lift-soarelui-direct-proprietar-IDkAmoo.html",
"area": "57 m2",
"floor": "5",
"price": 113900,
"rooms": null,
"title": "Bloc Cu Lift, Soarelui, Direct Proprietar",
"photos": [
"https://frankfurt.apollo.olxcdn.com/v1/files/mm9nhixjqxzi-RO/image"
],
"currency": "EUR",
"location": {
"city": "Timisoara",
"full": "Timisoara, Timis",
"region": "Timis",
"district": null
},
"description": "De vanzare, direct de la proprietar...",
"price_label": "113 900 EUR",
"posting_date": "2026-05-20T12:51:55+03:00",
"property_type": null,
"construction_year": "Dupa 2000",
"compartmentalization": null
}
],
"limit": 5,
"total": 1000,
"offset": 0
},
"status": "success"
}
}About the OLX API
What the API Returns
The search_real_estate endpoint returns an array of listing objects, each containing id, title, url, posting_date, price, currency, area, rooms, location, description, and photos. Alongside the items array, the response includes limit, offset, and total so you can track pagination state accurately. OLX caps total accessible listings at 1,000 regardless of how many exist on the platform for a given query.
Filtering and Pagination
Pagination is offset-based. To advance through pages, increment offset by the value of limit. For example, with limit=20, successive requests use offset=0, offset=20, offset=40, and so on. The category_path parameter accepts top-level slugs such as imobiliare or electronice-si-electrocasnice. Only top-level slugs work — passing a subcategory path returns an upstream error.
Resolving Category IDs
The get_category_id endpoint accepts a single required path string and returns the integer category_id used internally by OLX. This is useful when you need to cross-reference category identifiers against other data or build category-aware tooling. As with search_real_estate, only top-level slugs are supported — subcategory paths are not currently handled.
Coverage Notes
The API targets the Romanian OLX platform (m.olx.ro) and returns listings in Romanian along with prices in the currency listed by the seller (typically RON or EUR). The posting_date field lets you filter fresh listings client-side, though the API itself does not expose a date-range filter parameter.
The OLX API is a managed, monitored endpoint for m.olx.ro — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when m.olx.ro 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 m.olx.ro 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate apartment and house listings by location across Romanian cities using the
locationandroomsfields. - Track asking price trends for Romanian real estate by collecting
priceandcurrencyfields over time. - Build a property alert tool that polls
search_real_estateand surfaces new listings by comparingposting_datevalues. - Populate a real estate comparison site with listing photos, descriptions, and area data from the
photos,description, andareafields. - Resolve category slugs to internal IDs via
get_category_idfor use in category-driven analytics pipelines. - Monitor listing volume changes by checking the
totalfield in paginated responses at regular intervals.
| 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 | 100 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 OLX Romania have an official developer API?+
Why are only 1,000 listings accessible per search?+
total field in each response reflects the count of accessible listings, not necessarily all listings on the platform for that category. Once offset reaches 1,000, further pagination returns no additional items.Can I filter listings by price range, number of rooms, or posting date?+
search_real_estate endpoint accepts category_path, limit, and offset as inputs but does not expose server-side filters for price, rooms, or date. Those fields are returned in the response (price, rooms, posting_date) and can be filtered client-side after retrieval. You can fork this API on Parse and revise it to add server-side filter parameters if the source supports them.Are subcategory paths supported in `category_path` or `get_category_id`?+
imobiliare are currently supported. Passing a subcategory path to either endpoint returns an upstream error. The API covers top-level category resolution and listing search within those categories. You can fork it on Parse and revise to add subcategory support if needed.