Website API

Build a property website on your live PropertyList listings, agency branding and new developments. A read-only JSON API.

On this page
Authentication Rate limits Properties Single property Agency & branding New developments Autocomplete

Base URL: https://api.propertylist.es   All responses are JSON.

Get a key from Settings → API in your CRM. Any manager can create a Website API key instantly.

Website API access is 35 credits/month per agency (flat - create as many keys as you need), billed to your CRM wallet. The first key starts the subscription.

Authentication

Send your Website API key as a bearer token on every request:

curl https://api.propertylist.es/v2/properties \
  -H "Authorization: Bearer YOUR_WEBSITE_API_KEY"
Website API keys are read-only and scoped to public-safe data - your listings, agency branding and new developments. They never expose private CRM data (contacts, leads, calendar), so they're safe to use in a public website.

Rate limits

Requests are rate limited per minute per key. When exceeded you get 429 Too Many Requests with Retry-After and X-RateLimit-* headers. Cache responses where you can.

Properties website key ok

GET/v2/properties

Paginated list of properties. By default you get your agency's own (direct) listings only. To include listings shared with you by other agencies, add shared=true (see note below).

ParameterDescription
directtrue (default) includes your agency's own listings. Set direct=false to exclude them.
sharedfalse (default). Set shared=true to also return listings shared with you by other agencies. Combine direct=false&shared=true to return shared listings only.
search_typefor-sale, long-term or short-term
page, page_sizePage number; page size 1-20 (default 20)
property_typesComma list: apartment,villa,penthouse,townhouse,plot
locationsComma list of area IDs (see autocomplete)
provincesComma list of province codes, e.g. MA,CA
bedrooms_min, bathrooms_minMinimums
price_min, price_maxPrice band
build_min, plot_minMinimum m²
features, orientationsComma lists of slugs
reference, idsFind by your reference, or specific IDs
sortdate_new_old, date_old_new, price_low_high, price_high_low
languageDescription language, e.g. en, es
Seeing only your own properties? That is the default. To pull in the wider shared inventory, pass shared=true. This also requires your agency to have sharing switched on ("Share my listings") in your CRM under Settings; if it is off, shared=true returns your own listings only. Each property in the response carries a direct flag (true = your own listing, false = shared by another agency).
{
  "page": 1,
  "page_size": 20,
  "total_count": 142,
  "data": [
    {
      "id": 12345,
      "reference": "AB-1001",
      "is_sale": true,
      "for_sale_price": 495000,
      "currency": "EUR",
      "bedrooms": 3, "bathrooms": 2,
      "build": 120, "plot": 400, "terrace": 30,
      "province": "MA", "city": "Marbella", "suburb": "Nueva Andalucia",
      "latitude": 36.51, "longitude": -4.95,
      "property_type": "Villa",
      "energy_rating": "C",
      "photo": "https://.../small.jpg",
      "photo_large": "https://.../medium.jpg",
      "description": "...",
      "features": ["private-pool","sea-views"]
    }
  ]
}

Single property website key ok

GET/v2/properties/:id

Full detail for one property: all descriptions, every photo size, rental terms, taxes (IBI, community fees), energy rating and similar properties.

Agency & branding website key ok

GET/v2/agency

Everything you need to render the site shell: name, logo, contact, address.

{
  "id": 42,
  "name": "Costa Real Estate",
  "website": "https://...",
  "contact": { "email": "info@...", "phone": "+34 ...", "contact_person": "..." },
  "address": { "line_1": "...", "postcode": "29660", "city": "Marbella" },
  "logo": { "default": "https://...", "large": "https://..." },
  "office_photo": "https://..."
}

New developments website key ok

GET/v2/developments
GET/v2/developments/:id

Off-plan / new-build projects: title, price range, units available, completion date, location and coordinates.

Autocomplete website key ok

GET/v2/autocomplete/location-or-property?q=marbella

Resolve a search term to area IDs (use the returned id in locations) or matching properties.

Questions? [email protected]