Skip to main content
GET
/
api
/
properties
List Properties
curl --request GET \
  --url https://api.example.com/api/properties
{
  "success": true,
  "data": [
    {
      "id": "<string>",
      "slug": "<string>",
      "title": "<string>",
      "description": "<string>",
      "price": 123,
      "originalPrice": {},
      "expenses": {},
      "currency": "<string>",
      "currency_id": 123,
      "propertyType": "<string>",
      "property_type_id": 123,
      "propertySubtype": "<string>",
      "property_subtype_id": 123,
      "listingType": "<string>",
      "operation_type_id": 123,
      "status": "<string>",
      "surfaceCoveredM2": {},
      "surfaceUncoveredM2": {},
      "lotSize": {},
      "rooms": {},
      "bedrooms": {},
      "bathrooms": {},
      "yearBuilt": {},
      "floor": {},
      "condition": "<string>",
      "has_balcony": true,
      "has_terrace": true,
      "has_laundry": true,
      "has_garden": true,
      "pets_allowed": true,
      "garage_spaces": 123,
      "youtube_video_url": {},
      "features": [
        "<string>"
      ],
      "images": [
        "<string>"
      ],
      "imagesMeta": [
        {
          "id": 123,
          "url": "<string>",
          "orderIndex": 123,
          "isMain": true
        }
      ],
      "location": {
        "id": 123,
        "street": "<string>",
        "streetNumber": "<string>",
        "floorApartment": "<string>",
        "neighborhood": "<string>",
        "city": "<string>",
        "province": "<string>",
        "postalCode": "<string>",
        "country": "<string>",
        "latitude": {},
        "longitude": {},
        "showExactAddress": true
      },
      "contactPhone": "<string>",
      "contactEmail": "<string>",
      "viewsCount": 123,
      "createdAt": "<string>",
      "updatedAt": "<string>"
    }
  ],
  "pagination": {
    "currentPage": 123,
    "totalPages": 123,
    "totalItems": 123,
    "limit": 123
  }
}

Overview

This endpoint returns a paginated list of properties with support for advanced filtering by price, location, property type, operation type, status, and more. Results are sorted by creation date (newest first).

Authentication

Authorization
string
Optional. Bearer token for authenticated requests. When authenticated, user-specific data may be included.

Query Parameters

Search & Filtering

query
string
Text search across property title, property type, subtype, and location fields (street, neighborhood, city, province).
propertyType
string | string[]
Filter by property type slug(s). Examples: departamento, casa, local. Accepts single value or array.
listingType
string | string[]
Filter by operation/listing type slug(s). Examples: venta, alquiler. Accepts single value or array.
status
string | string[]
Filter by status slug(s). Examples: activo, vendido, pausado. If not provided, excludes “pausado” by default.
location
string
Filter by location (matches city, province, or neighborhood). Case-insensitive partial match.

Price & Features

minPrice
number
Minimum price filter. Properties with price greater than or equal to this value will be returned.
maxPrice
number
Maximum price filter. Properties with price less than or equal to this value will be returned.
bedrooms
number
Minimum number of bedrooms. Properties with bedrooms greater than or equal to this value will be returned.
bathrooms
number
Minimum number of bathrooms. Properties with bathrooms greater than or equal to this value will be returned.

Pagination

page
number
default:"1"
Page number for pagination (1-based).
limit
number
default:"10"
Number of results per page.

Response

success
boolean
Indicates if the request was successful.
data
array
Array of property objects.
id
string
Property ID.
slug
string
SEO-friendly URL slug.
title
string
Property title.
description
string
Property description.
price
number
Property price.
originalPrice
number | undefined
Original price before discount.
expenses
number | undefined
Monthly expenses.
currency
string
Currency code (e.g., “ARS”, “USD”).
currency_id
number
Currency ID.
propertyType
string
Property type slug.
property_type_id
number
Property type ID.
propertySubtype
string
Property subtype slug.
property_subtype_id
number
Property subtype ID.
listingType
string
Operation type slug (e.g., “venta”, “alquiler”).
operation_type_id
number
Operation type ID.
status
string
Property status slug.
surfaceCoveredM2
number | undefined
Covered surface area in square meters.
surfaceUncoveredM2
number | undefined
Uncovered surface area in square meters.
lotSize
number | undefined
Lot size in square meters.
rooms
number | undefined
Number of rooms.
bedrooms
number | undefined
Number of bedrooms.
bathrooms
number | undefined
Number of bathrooms.
yearBuilt
number | undefined
Year the property was built.
floor
number | undefined
Floor number.
condition
string
Property condition.
has_balcony
boolean
Whether the property has a balcony.
has_terrace
boolean
Whether the property has a terrace.
has_laundry
boolean
Whether the property has a laundry room.
has_garden
boolean
Whether the property has a garden.
pets_allowed
boolean
Whether pets are allowed.
garage_spaces
number
Number of garage spaces.
youtube_video_url
string | null
YouTube video URL for property tour.
features
string[]
Array of feature labels (unified characteristics).
images
string[]
Array of image URLs.
imagesMeta
array
Detailed image metadata.
id
number
Image ID.
url
string
Image URL.
orderIndex
number
Display order.
isMain
boolean
Whether this is the main image.
location
object | undefined
Property location details.
id
number
Location ID.
street
string
Street name.
streetNumber
string
Street number.
floorApartment
string
Floor and apartment.
neighborhood
string
Neighborhood.
city
string
City.
province
string
Province/state.
postalCode
string
Postal code.
country
string
Country.
latitude
number | undefined
Latitude coordinate.
longitude
number | undefined
Longitude coordinate.
showExactAddress
boolean
Whether to show exact address.
contactPhone
string
Contact phone number.
contactEmail
string
Contact email.
viewsCount
number
Number of views.
createdAt
string
ISO 8601 creation timestamp.
updatedAt
string
ISO 8601 last update timestamp.
pagination
object
Pagination metadata.
currentPage
number
Current page number.
totalPages
number
Total number of pages.
totalItems
number
Total number of items.
limit
number
Items per page.

Example Request

curl -X GET "https://api.example.com/api/properties?propertyType=departamento&listingType=venta&minPrice=100000&maxPrice=500000&city=Buenos%20Aires&bedrooms=2&page=1&limit=20" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "success": true,
  "data": [
    {
      "id": "123",
      "slug": "hermoso-departamento-palermo-4d",
      "title": "Hermoso departamento en Palermo",
      "description": "Excelente departamento de 2 ambientes...",
      "price": 250000,
      "currency": "USD",
      "currency_id": 2,
      "propertyType": "departamento",
      "property_type_id": 1,
      "listingType": "venta",
      "operation_type_id": 1,
      "status": "activo",
      "surfaceCoveredM2": 65,
      "bedrooms": 2,
      "bathrooms": 1,
      "has_balcony": true,
      "features": ["Balcón", "Luminoso", "Cerca del subte"],
      "images": ["https://..."],
      "location": {
        "city": "Buenos Aires",
        "province": "CABA",
        "neighborhood": "Palermo",
        "showExactAddress": false
      },
      "viewsCount": 152,
      "createdAt": "2026-03-01T10:30:00Z",
      "updatedAt": "2026-03-02T15:20:00Z"
    }
  ],
  "pagination": {
    "currentPage": 1,
    "totalPages": 5,
    "totalItems": 47,
    "limit": 20
  }
}

Notes

  • By default, properties with status “pausado” are excluded from results
  • Text search is case-insensitive and uses partial matching
  • Multiple filter values can be combined for property types and listing types
  • Results are always ordered by creation date (newest first)

Build docs developers (and LLMs) love