[{"data":1,"prerenderedAt":601},["ShallowReactive",2],{"page:\u002Fproperties\u002Fretrieve":3,"operation:getProperty":52},{"id":4,"title":5,"body":6,"description":42,"extension":43,"meta":44,"navigation":45,"operation":46,"path":47,"rawbody":48,"seo":49,"stem":50,"__hash__":51},"docs\u002Fproperties\u002Fretrieve.md","Retrieve a property",{"type":7,"value":8,"toc":36},"minimark",[9,19,24],[10,11,12,13,18],"p",{},"Returns the same property object as ",[14,15,17],"a",{"href":16},"\u002Fproperties\u002Flist","List properties",". Use it to render a listing page or to refresh one property after a change.",[20,21,23],"h2",{"id":22},"when-a-property-is-not-found","When a property is not found",[10,25,26,30,31,35],{},[27,28,29],"code",{},"404 Property not found"," is returned when the ID does not exist, but also when the property exists and is ",[32,33,34],"strong",{},"not part of the public catalogue",": it is not marked as public, it is still a draft, or it belongs to another workspace. Commercial status does not override explicit publication. The response does not say which, so a listing that disappears from your site should simply be removed.",{"title":37,"searchDepth":38,"depth":38,"links":39},"",3,[40],{"id":22,"depth":41,"text":23},2,"Return one property of the public catalogue by its ID.","md",{},true,"getProperty","\u002Fproperties\u002Fretrieve","---\ntitle: Retrieve a property\ndescription: Return one property of the public catalogue by its ID.\noperation: getProperty\n---\n\nReturns the same property object as [List properties](\u002Fproperties\u002Flist). Use it to render a listing page or to refresh one property after a change.\n\n## When a property is not found\n\n`404 Property not found` is returned when the ID does not exist, but also when the property exists and is **not part of the public catalogue**: it is not marked as public, it is still a draft, or it belongs to another workspace. Commercial status does not override explicit publication. The response does not say which, so a listing that disappears from your site should simply be removed.\n",{"title":5,"description":42},"properties\u002Fretrieve","RbqwANT0znV9weYavdB4iW1XI4tqOE5S0HNZLY2BScs",{"id":46,"method":53,"path":54,"fullPath":55,"summary":56,"tag":57,"scopes":58,"url":60,"description":61,"pathParams":62,"queryParams":69,"headerParams":70,"responses":71,"samples":584,"docsPath":47},"GET","\u002Fproperties\u002F{property_id}","\u002Fv1\u002Fproperties\u002F{property_id}","Retrieve a published property","Properties",[59],"properties:read","https:\u002F\u002Fapi.vestta.io\u002Fv1\u002Fproperties\u002F{property_id}","Retrieves an allowlisted public listing. Requires the `properties:read` scope.",[63],{"name":64,"type":65,"required":45,"nullable":66,"constraints":67},"property_id","integer",false,[68],"≥ 1",[],[],[72,564,568,571,574,577,581],{"status":73,"description":74,"schemaName":75,"fields":76,"example":562,"exampleHtml":563},"200","Successful response.","PropertyDetailResponse",[77,83],{"name":78,"type":79,"required":45,"nullable":66,"enumValues":80,"constraints":82},"status","string",[81],"ok",[],{"name":84,"type":85,"required":45,"nullable":66,"constraints":86,"children":87},"data","ExternalProperty",[],[88,92,96,100,104,108,113,117,120,123,127,131,154,176,506,526,529,533,536,539,542,546,550,554,558],{"name":89,"type":65,"required":45,"nullable":66,"description":90,"constraints":91},"id","Numeric property ID. Use it with Retrieve a property.",[],{"name":93,"type":79,"required":66,"nullable":45,"description":94,"constraints":95},"operation","Operations the property is offered for: `venta`, `alquiler`, `traspaso`, or several joined by commas (e.g. `venta,alquiler`).",[],{"name":97,"type":79,"required":66,"nullable":45,"description":98,"constraints":99},"type","Property type key, e.g. `apartamento`, `casa`, `local`, `oficina`, `terreno` or `edificio`.",[],{"name":101,"type":79,"required":66,"nullable":45,"description":102,"constraints":103},"subtype","Subtype as a Spanish display label (e.g. `Ático`, `Local Comercial`), or `Sin Especificar`.",[],{"name":105,"type":79,"required":66,"nullable":45,"description":106,"constraints":107},"title","Listing title. May be empty.",[],{"name":109,"type":110,"required":66,"nullable":45,"description":111,"constraints":112},"price","number","Sale price in euros. Rent and transfer prices are in `specs.price_calc`.",[],{"name":114,"type":110,"required":66,"nullable":45,"description":115,"constraints":116},"size_total","Total size in m².",[],{"name":118,"type":65,"required":66,"nullable":45,"constraints":119},"bedrooms",[],{"name":121,"type":65,"required":66,"nullable":45,"constraints":122},"bathrooms",[],{"name":124,"type":79,"required":66,"nullable":45,"description":125,"constraints":126},"postal_code","Omitted when the property's location is hidden.",[],{"name":128,"type":79,"required":66,"nullable":45,"description":129,"constraints":130},"description","Listing description as HTML.",[],{"name":132,"type":133,"required":66,"nullable":66,"description":134,"constraints":135,"children":136},"images","array of objects","Opaque public copies. New photos are watermarked; legacy copies may remain unmarked. Original paths and IDs are never included.",[],[137,139,143,147,152],{"name":89,"type":79,"required":45,"nullable":66,"constraints":138},[],{"name":140,"type":79,"required":45,"nullable":66,"description":141,"constraints":142},"url","Permanent opaque public-copy URL. New photos are watermarked; migrated legacy copies may remain unmarked. Never an original or upload URL.",[],{"name":144,"type":65,"required":66,"nullable":66,"defaultValue":145,"constraints":146},"order","1",[],{"name":148,"type":149,"required":66,"nullable":66,"defaultValue":150,"constraints":151},"is_primary","boolean","false",[],{"name":105,"type":79,"required":66,"nullable":66,"defaultValue":37,"constraints":153},[],{"name":155,"type":133,"required":66,"nullable":45,"description":156,"constraints":157,"children":158},"videos","Processed public videos.",[],[159,161,163,165,167,170,173],{"name":89,"type":79,"required":45,"nullable":66,"constraints":160},[],{"name":105,"type":79,"required":66,"nullable":45,"constraints":162},[],{"name":144,"type":65,"required":66,"nullable":45,"constraints":164},[],{"name":140,"type":79,"required":66,"nullable":45,"constraints":166},[],{"name":168,"type":79,"required":66,"nullable":45,"constraints":169},"hls_url",[],{"name":171,"type":79,"required":66,"nullable":45,"constraints":172},"thumbnail_url",[],{"name":174,"type":79,"required":66,"nullable":45,"constraints":175},"embed_url",[],{"name":177,"type":178,"required":66,"nullable":45,"description":179,"constraints":180,"children":181},"specs","PublicationSpecs","Listing characteristics. Keys depend on the property type. `price_calc.price_alq` and `price_calc.price_trasp` hold the monthly rent and transfer price; `address_privacy` is `public`, `approximate` or `hidden`; `building_name` is only present when the address is public.",[],[182,245,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,323,327,331,335,339,343,347,351,355,359,363,367,371,375,379,383,387,391,395,399,403,407,411,415,419,423,427,431,446,473,491,502],{"name":183,"type":184,"required":66,"nullable":45,"description":185,"constraints":186,"children":187},"translations","TranslationSpec","Traducciones de las descripciones",[],[188,200,209,218,227,236],{"name":189,"type":190,"required":66,"nullable":45,"description":191,"constraints":192,"children":193},"ca","TranslatedDescription","Traduccion en catalán de la descripción",[],[194,197],{"name":105,"type":79,"required":66,"nullable":45,"description":195,"constraints":196},"Título de la descripción",[],{"name":128,"type":79,"required":66,"nullable":45,"description":198,"constraints":199},"Descripción",[],{"name":201,"type":190,"required":66,"nullable":45,"description":202,"constraints":203,"children":204},"en","Traduccion en ingles de la descripción",[],[205,207],{"name":105,"type":79,"required":66,"nullable":45,"description":195,"constraints":206},[],{"name":128,"type":79,"required":66,"nullable":45,"description":198,"constraints":208},[],{"name":210,"type":190,"required":66,"nullable":45,"description":211,"constraints":212,"children":213},"fr","Traduccion en francés de la descripción",[],[214,216],{"name":105,"type":79,"required":66,"nullable":45,"description":195,"constraints":215},[],{"name":128,"type":79,"required":66,"nullable":45,"description":198,"constraints":217},[],{"name":219,"type":190,"required":66,"nullable":45,"description":220,"constraints":221,"children":222},"de","Traduccion en alemán de la descripción",[],[223,225],{"name":105,"type":79,"required":66,"nullable":45,"description":195,"constraints":224},[],{"name":128,"type":79,"required":66,"nullable":45,"description":198,"constraints":226},[],{"name":228,"type":190,"required":66,"nullable":45,"description":229,"constraints":230,"children":231},"pt","Traduccion en portuges de la descripción",[],[232,234],{"name":105,"type":79,"required":66,"nullable":45,"description":195,"constraints":233},[],{"name":128,"type":79,"required":66,"nullable":45,"description":198,"constraints":235},[],{"name":237,"type":190,"required":66,"nullable":45,"description":238,"constraints":239,"children":240},"it","Traduccion en italiano de la descripción",[],[241,243],{"name":105,"type":79,"required":66,"nullable":45,"description":195,"constraints":242},[],{"name":128,"type":79,"required":66,"nullable":45,"description":198,"constraints":244},[],{"name":246,"type":110,"required":66,"nullable":45,"description":247,"constraints":248},"usable_area","Metros cuadrados útiles",[249],"≥ 0",{"name":251,"type":110,"required":66,"nullable":45,"description":252,"constraints":253},"plot_size","Metros cuadrados parcela",[249],{"name":255,"type":110,"required":66,"nullable":45,"description":256,"constraints":257},"size_built","Superficie construida",[249],{"name":259,"type":110,"required":66,"nullable":45,"description":260,"constraints":261},"porch_size","Metros cuadrados porche",[249],{"name":263,"type":110,"required":66,"nullable":45,"description":264,"constraints":265},"size_terraces","Metros cuadrados terrazas",[249],{"name":267,"type":110,"required":66,"nullable":45,"description":268,"constraints":269},"attic_size","Metros cuadrados ático",[249],{"name":271,"type":110,"required":66,"nullable":45,"description":272,"constraints":273},"storage_dimensions","Dimensiones del trastero",[],{"name":275,"type":65,"required":66,"nullable":45,"description":276,"constraints":277},"doble_bedrooms","Número de habitaciones dobles",[249],{"name":279,"type":65,"required":66,"nullable":45,"description":280,"constraints":281},"suite_bathrooms","Número de baños en suite",[249],{"name":283,"type":65,"required":66,"nullable":45,"description":284,"constraints":285},"num_terraces","Número de terrazas",[249],{"name":287,"type":79,"required":66,"nullable":45,"description":288,"constraints":289},"conservation","Estado de conservación",[],{"name":291,"type":79,"required":66,"nullable":45,"description":292,"constraints":293},"floor","Planta canónica para portales",[],{"name":295,"type":65,"required":66,"nullable":45,"description":296,"constraints":297},"house_floors","Número de plantas de una casa",[68],{"name":299,"type":149,"required":66,"nullable":45,"description":300,"constraints":301},"elevator","Tiene ascensor (0\u002F1 o Sí\u002FNo)",[],{"name":303,"type":79,"required":66,"nullable":45,"description":304,"constraints":305},"views","Vistas de la propiedad",[],{"name":307,"type":79,"required":66,"nullable":45,"description":308,"constraints":309},"orientation","Orientación (norte, sur, este, oeste)",[],{"name":311,"type":79,"required":66,"nullable":45,"description":312,"constraints":313},"energy_certificate","Certificado energético A-G",[],{"name":315,"type":79,"required":66,"nullable":45,"description":316,"constraints":317},"emissions","Emisiones A-G",[],{"name":319,"type":110,"required":66,"nullable":45,"description":320,"constraints":321},"energy_consumption_value","Consumo (kWh\u002Fm² año)",[68,322],"≤ 999",{"name":324,"type":110,"required":66,"nullable":45,"description":325,"constraints":326},"emissions_value","Emisiones (kg CO₂\u002Fm² año)",[68,322],{"name":328,"type":110,"required":66,"nullable":45,"description":329,"constraints":330},"height","Altura del local",[],{"name":332,"type":110,"required":66,"nullable":45,"description":333,"constraints":334},"facade_meters","Metros de fachada",[],{"name":336,"type":110,"required":66,"nullable":45,"description":337,"constraints":338},"meters_showcase","Metros de escaparate",[],{"name":340,"type":79,"required":66,"nullable":45,"description":341,"constraints":342},"entrace_type","Tipo de entrada de la oficina",[],{"name":344,"type":79,"required":66,"nullable":45,"description":345,"constraints":346},"position","1ª\u002F2ª Linea del mar",[],{"name":348,"type":65,"required":66,"nullable":45,"description":349,"constraints":350},"offices","Número de despachos",[249],{"name":352,"type":65,"required":66,"nullable":45,"description":353,"constraints":354},"meeting_rooms","Número de salas de reuniones",[249],{"name":356,"type":79,"required":66,"nullable":45,"description":357,"constraints":358},"camino","Tipo de suelo",[],{"name":360,"type":79,"required":66,"nullable":45,"description":361,"constraints":362},"terrain_extension","Tamaño (Grande\u002FPequeño)",[],{"name":364,"type":79,"required":66,"nullable":45,"description":365,"constraints":366},"topography","Topografía del terreno",[],{"name":368,"type":65,"required":66,"nullable":45,"description":369,"constraints":370},"num_seats","Número de plazas",[249],{"name":372,"type":79,"required":66,"nullable":45,"description":373,"constraints":374},"dimensions","Dimensiones del aparcamiento",[],{"name":376,"type":79,"required":66,"nullable":45,"description":377,"constraints":378},"turistic_license","Licencia turística",[],{"name":380,"type":65,"required":66,"nullable":45,"description":381,"constraints":382},"construction_year","Año de construcción",[],{"name":384,"type":79,"required":66,"nullable":45,"description":385,"constraints":386},"exposure","Interior o Exterior",[],{"name":388,"type":79,"required":66,"nullable":45,"description":389,"constraints":390},"style","Conservación",[],{"name":392,"type":65,"required":66,"nullable":45,"description":393,"constraints":394},"num_viviendas","Número de viviendas",[],{"name":396,"type":65,"required":66,"nullable":45,"description":397,"constraints":398},"num_locales","Número de locales",[],{"name":400,"type":65,"required":66,"nullable":45,"description":401,"constraints":402},"num_ascensores","Número de ascensores",[],{"name":404,"type":65,"required":66,"nullable":45,"description":405,"constraints":406},"num_parkings","Número de parkings incluidos",[249],{"name":408,"type":65,"required":66,"nullable":45,"description":409,"constraints":410},"num_floors","Número de plantas",[],{"name":412,"type":149,"required":66,"nullable":45,"description":413,"constraints":414},"luxury_property","Propiedad de lujo",[],{"name":416,"type":149,"required":66,"nullable":45,"description":417,"constraints":418},"holiday_renting","Alquiler vacacional",[],{"name":420,"type":149,"required":66,"nullable":45,"description":421,"constraints":422},"temporal_renting","Alquiler temporal",[],{"name":424,"type":149,"required":66,"nullable":45,"description":425,"constraints":426},"purchase_option_rental","Alquiler con opción a compra",[],{"name":428,"type":79,"required":66,"nullable":45,"description":429,"constraints":430},"address_privacy","Privacidad de la ubicación en portales: public | approximate | hidden",[],{"name":432,"type":433,"required":66,"nullable":45,"description":434,"constraints":435,"children":436},"activities","ActivitiesSpec","Actividades permitidas",[],[437,442],{"name":438,"type":439,"required":66,"nullable":66,"description":440,"constraints":441},"predefined","array of strings","Actividades predefinidas",[],{"name":443,"type":439,"required":66,"nullable":66,"description":444,"constraints":445},"custom","Actividades personalizadas",[],{"name":447,"type":448,"required":66,"nullable":45,"description":449,"constraints":450,"children":451},"num_entrances","NumEntrancesSpec","Número de entradas",[],[452,457,461,465,469],{"name":453,"type":65,"required":66,"nullable":66,"description":454,"defaultValue":455,"constraints":456},"total","Total de entradas","0",[249],{"name":458,"type":65,"required":66,"nullable":66,"description":459,"defaultValue":455,"constraints":460},"peaton_entrances","Entradas de peatones",[249],{"name":462,"type":65,"required":66,"nullable":66,"description":463,"defaultValue":455,"constraints":464},"moto_entrances","Entradas de motos",[249],{"name":466,"type":65,"required":66,"nullable":66,"description":467,"defaultValue":455,"constraints":468},"van_entrances","Entradas de furgoneta",[249],{"name":470,"type":65,"required":66,"nullable":66,"description":471,"defaultValue":455,"constraints":472},"car_entrances","Entradas de coche",[249],{"name":474,"type":475,"required":66,"nullable":45,"description":476,"constraints":477,"children":478},"floor_breakdown","FloorBreakdownSpec","Desglose de plantas",[],[479,483,487],{"name":480,"type":65,"required":66,"nullable":66,"description":481,"defaultValue":455,"constraints":482},"base_floor","Metros ² de la planta baja",[],{"name":484,"type":65,"required":66,"nullable":66,"description":485,"defaultValue":455,"constraints":486},"first_floor","Metros ² de la primera planta",[],{"name":488,"type":65,"required":66,"nullable":66,"description":489,"defaultValue":455,"constraints":490},"second_floor","Metros ² de la segunda planta",[],{"name":492,"type":493,"required":66,"nullable":45,"constraints":494,"children":495},"price_calc","PublicPrices",[],[496,499],{"name":497,"type":110,"required":66,"nullable":45,"constraints":498},"price_alq",[249],{"name":500,"type":110,"required":66,"nullable":45,"constraints":501},"price_trasp",[249],{"name":503,"type":79,"required":66,"nullable":45,"description":504,"constraints":505},"building_name","Published only when address privacy is public.",[],{"name":507,"type":133,"required":66,"nullable":45,"description":508,"constraints":509,"children":510},"features","Typed amenities. `label` is a display string; `key` is stable.",[],[511,515,519,523],{"name":512,"type":79,"required":45,"nullable":66,"constraints":513},"key",[514],"1–100 chars",{"name":516,"type":79,"required":45,"nullable":66,"constraints":517},"label",[518],"1–200 chars",{"name":520,"type":521,"required":45,"nullable":66,"constraints":522},"value","string | boolean | integer | number",[],{"name":524,"type":149,"required":66,"nullable":66,"defaultValue":150,"constraints":525},"isextra",[],{"name":78,"type":79,"required":66,"nullable":45,"description":527,"constraints":528},"Commercial status of the explicitly published property. Drafts are never returned.",[],{"name":530,"type":79,"required":66,"nullable":45,"description":531,"constraints":532},"address","Follows the property's address privacy: the full address when public, the approximate address when approximate, omitted when hidden.",[],{"name":534,"type":79,"required":66,"nullable":45,"constraints":535},"city",[],{"name":537,"type":79,"required":66,"nullable":45,"constraints":538},"province",[],{"name":540,"type":79,"required":66,"nullable":45,"constraints":541},"country",[],{"name":543,"type":110,"required":66,"nullable":45,"description":544,"constraints":545},"lat","Latitude in decimal degrees. Exact when the address is public, rounded to 2 decimals (about 1 km) when approximate, omitted when hidden.",[],{"name":547,"type":110,"required":66,"nullable":45,"description":548,"constraints":549},"lon","Longitude in decimal degrees, with the same precision rules as `lat`.",[],{"name":551,"type":149,"required":66,"nullable":45,"description":552,"constraints":553},"is_featured","Whether the business marked the property as featured.",[],{"name":555,"type":79,"required":66,"nullable":45,"description":556,"constraints":557},"created_at","ISO 8601 timestamp with UTC offset.",[],{"name":559,"type":79,"required":66,"nullable":45,"description":560,"constraints":561},"updated_at","ISO 8601 timestamp with UTC offset. The default sort key.",[],"{\n  \"status\": \"ok\",\n  \"data\": {\n    \"id\": 1355,\n    \"operation\": \"traspaso,alquiler\",\n    \"type\": \"local\",\n    \"subtype\": \"Local Comercial\",\n    \"title\": \"Local comercial en el centro\",\n    \"price\": 0,\n    \"size_total\": 120,\n    \"bedrooms\": 0,\n    \"bathrooms\": 1,\n    \"postal_code\": \"07820\",\n    \"description\": \"\u003Ch2>Características del local\u003C\u002Fh2>\u003Cp>Superficie total de 120 m² en planta baja…\u003C\u002Fp>\",\n    \"images\": [\n      {\n        \"id\": \"7eac604ad45147d19c7cedb2a10569aa\",\n        \"url\": \"https:\u002F\u002Fcdn.vestta.io\u002Fmedia\u002F7eac604ad45147d19c7cedb2a10569aa.webp\",\n        \"order\": 1,\n        \"is_primary\": true\n      }\n    ],\n    \"videos\": [],\n    \"specs\": {\n      \"holiday_renting\": false,\n      \"temporal_renting\": false,\n      \"address_privacy\": \"approximate\",\n      \"price_calc\": {\n        \"price_alq\": 2000,\n        \"price_trasp\": 25000\n      }\n    },\n    \"features\": [\n      {\n        \"key\": \"air_conditioning\",\n        \"label\": \"Aire Acondicionado\",\n        \"value\": \"Sí\",\n        \"isextra\": false\n      }\n    ],\n    \"status\": \"disponible\",\n    \"address\": \"San Antonio\",\n    \"city\": \"San Antonio\",\n    \"province\": \"Islas Baleares\",\n    \"country\": \"España\",\n    \"lat\": 38.98,\n    \"lon\": 1.3,\n    \"is_featured\": false,\n    \"created_at\": \"2026-07-21T11:42:51.820440+02:00\",\n    \"updated_at\": \"2026-09-26T19:38:41.390976+02:00\"\n  }\n}","\u003Cpre class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">{\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">  \"status\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"ok\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">  \"data\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"id\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">1355\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"operation\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"traspaso,alquiler\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"type\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"local\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"subtype\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"Local Comercial\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"title\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"Local comercial en el centro\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"price\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">0\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"size_total\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">120\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"bedrooms\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">0\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"bathrooms\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">1\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"postal_code\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"07820\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"description\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"&#x3C;h2>Características del local&#x3C;\u002Fh2>&#x3C;p>Superficie total de 120 m² en planta baja…&#x3C;\u002Fp>\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"images\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: [\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">      {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">        \"id\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"7eac604ad45147d19c7cedb2a10569aa\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">        \"url\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"https:\u002F\u002Fcdn.vestta.io\u002Fmedia\u002F7eac604ad45147d19c7cedb2a10569aa.webp\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">        \"order\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">1\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">        \"is_primary\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">true\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">      }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"videos\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: [],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"specs\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">      \"holiday_renting\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">false\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">      \"temporal_renting\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">false\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">      \"address_privacy\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"approximate\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">      \"price_calc\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">        \"price_alq\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">2000\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">        \"price_trasp\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">25000\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">      }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    },\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"features\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: [\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">      {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">        \"key\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"air_conditioning\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">        \"label\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"Aire Acondicionado\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">        \"value\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"Sí\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">        \"isextra\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">false\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">      }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">    ],\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"status\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"disponible\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"address\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"San Antonio\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"city\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"San Antonio\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"province\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"Islas Baleares\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"country\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"España\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"lat\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">38.98\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"lon\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">1.3\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"is_featured\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">false\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"created_at\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"2026-07-21T11:42:51.820440+02:00\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">    \"updated_at\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"2026-09-26T19:38:41.390976+02:00\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">}\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",{"status":565,"description":566,"schemaName":567},"401","The API key is missing, malformed, unknown, revoked or expired.","ExternalApiError",{"status":569,"description":570,"schemaName":567},"403","The API key lacks the required scope.",{"status":572,"description":573,"schemaName":567},"404","The resource does not exist in this business.",{"status":575,"description":576,"schemaName":567},"409","Duplicate contact or idempotency key reused with a different payload.",{"status":578,"description":579,"schemaName":580},"422","A path parameter, query parameter or body field is invalid.","ExternalValidationError",{"status":582,"description":583,"schemaName":567},"500","Unexpected server error while processing the request.",[585,591,596],{"id":586,"label":587,"lang":588,"code":589,"html":590},"curl","cURL","bash","curl \"https:\u002F\u002Fapi.vestta.io\u002Fv1\u002Fproperties\u002F1355\" \\\n  -H \"X-Api-Key: $VESTTA_API_KEY\"","\u003Cpre class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6F42C1\">curl\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> \"https:\u002F\u002Fapi.vestta.io\u002Fv1\u002Fproperties\u002F1355\"\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#005CC5\">  -H\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\"> \"X-Api-Key: \u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">$VESTTA_API_KEY\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",{"id":592,"label":593,"lang":592,"code":594,"html":595},"javascript","JavaScript","const response = await fetch('https:\u002F\u002Fapi.vestta.io\u002Fv1\u002Fproperties\u002F1355', {\n  headers: { 'X-Api-Key': process.env.VESTTA_API_KEY },\n})\n\nconst data = await response.json()","\u003Cpre class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> response\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> =\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> await\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\"> fetch\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">(\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'https:\u002F\u002Fapi.vestta.io\u002Fv1\u002Fproperties\u002F1355'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">, {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">  headers: { \u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">'X-Api-Key'\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: process.env.\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\">VESTTA_API_KEY\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> },\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">})\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">const\u003C\u002Fspan>\u003Cspan style=\"color:#005CC5\"> data\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> =\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\"> await\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> response.\u003C\u002Fspan>\u003Cspan style=\"color:#6F42C1\">json\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">()\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",{"id":597,"label":598,"lang":597,"code":599,"html":600},"python","Python","import os\n\nimport requests\n\nresponse = requests.get(\n    \"https:\u002F\u002Fapi.vestta.io\u002Fv1\u002Fproperties\u002F1355\",\n    headers={\"X-Api-Key\": os.environ[\"VESTTA_API_KEY\"]},\n)\nresponse.raise_for_status()\ndata = response.json()","\u003Cpre class=\"shiki github-light\" style=\"background-color:#fff;color:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">import\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> os\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D73A49\">import\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> requests\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">response \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">=\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> requests.get(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#032F62\">    \"https:\u002F\u002Fapi.vestta.io\u002Fv1\u002Fproperties\u002F1355\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E36209\">    headers\u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">=\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">{\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"X-Api-Key\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">: os.environ[\u003C\u002Fspan>\u003Cspan style=\"color:#032F62\">\"VESTTA_API_KEY\"\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\">]},\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">response.raise_for_status()\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#24292E\">data \u003C\u002Fspan>\u003Cspan style=\"color:#D73A49\">=\u003C\u002Fspan>\u003Cspan style=\"color:#24292E\"> response.json()\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",1791929309453]