Properties
Create, edit and publish properties, and read their protected public catalogue.
A property is a listing managed in Vestta: an apartment for rent, a house for sale, a commercial unit offered for transfer. The API exposes the workspace's public catalogue — the same listings the agency chooses to publish — so you can show them on a website, feed another product or keep an external index in sync.
Reading the catalogue needs properties:read. Creating, updating and uploading needs properties:write. Publication and processing status need properties:publish. See Publishing properties.
Endpoints
- GET
/v1/propertiesList published properties - POST
/v1/propertiesCreate a property - GET
/v1/properties/{property_id}Retrieve a published property - PATCH
/v1/properties/{property_id}Update a property
- POST
/v1/properties/{property_id}/images/uploadsPrepare original image uploads - POST
/v1/properties/{property_id}/images/uploads/{upload_id}/completeComplete image uploads
- GET
/v1/properties/{property_id}/publicationRetrieve publication - PUT
/v1/properties/{property_id}/publicationSet property publication
What is public
A property is returned only when, in Vestta:
- it is marked as public, and
- it is saved and is not a draft.
The API returns explicitly published properties regardless of their commercial status. Drafts are excluded. The response only carries listing data: public images with independent opaque URLs, processed videos and the characteristics shown in a listing. New photos are watermarked; migration-grandfathered photos may remain unmarked. Internal data — notes, owner and agency details, commission and captation figures, price history, portal settings — is never sent.
Address privacy
Each property has an address privacy setting in Vestta (Dirección exacta, Solo zona / calle or Ocultar ubicación). Every location field follows it, and specs.address_privacy tells you which one applies:
city, province and country are always returned when set. Properties without a privacy setting are treated as approximate, like in the Vestta app. specs.building_name is only included when the address is public.
When you draw approximate properties on a map, show an area rather than a pin: the coordinates mark a ~1 km cell, not the building.
Operations and prices
A property can be offered for more than one operation at once, so operation may hold several values separated by commas, such as venta,alquiler. Each operation has its own price:
When you filter or sort by price, the operation filter decides which of these fields is used. See List properties.
The property object
List properties and Retrieve a property return the same object.
idintegerrequiredNumeric property ID. Use it with Retrieve a property.
operationstringOperations the property is offered for:
venta,alquiler,traspaso, or several joined by commas (e.g.venta,alquiler).typestringProperty type key, e.g.
apartamento,casa,local,oficina,terrenooredificio.subtypestringSubtype as a Spanish display label (e.g.
Ático,Local Comercial), orSin Especificar.titlestringListing title. May be empty.
pricenumberSale price in euros. Rent and transfer prices are in
specs.price_calc.size_totalnumberTotal size in m².
bedroomsintegerbathroomsintegerpostal_codestringOmitted when the property's location is hidden.
descriptionstringListing description as HTML.
imagesarray of objectsOpaque public copies. New photos are watermarked; legacy copies may remain unmarked. Original paths and IDs are never included.
videosarray of objectsProcessed public videos.
specsPublicationSpecsListing characteristics. Keys depend on the property type.
price_calc.price_alqandprice_calc.price_trasphold the monthly rent and transfer price;address_privacyispublic,approximateorhidden;building_nameis only present when the address is public.featuresarray of objectsTyped amenities.
labelis a display string;keyis stable.statusstringCommercial status of the explicitly published property. Drafts are never returned.
addressstringFollows the property's address privacy: the full address when public, the approximate address when approximate, omitted when hidden.
citystringprovincestringcountrystringlatnumberLatitude in decimal degrees. Exact when the address is public, rounded to 2 decimals (about 1 km) when approximate, omitted when hidden.
lonnumberLongitude in decimal degrees, with the same precision rules as
lat.is_featuredbooleanWhether the business marked the property as featured.
created_atstringISO 8601 timestamp with UTC offset.
updated_atstringISO 8601 timestamp with UTC offset. The default sort key.
specs holds additional characteristics whose keys depend on the property type — floor, orientation, energy certificate, rental flags and so on. Read the keys you need and ignore the rest.