Build a property website on your live PropertyList listings, agency branding and new developments. A read-only JSON API.
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.
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"
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.
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).
| Parameter | Description |
|---|---|
direct | true (default) includes your agency's own listings. Set direct=false to exclude them. |
shared | false (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_type | for-sale, long-term or short-term |
page, page_size | Page number; page size 1-20 (default 20) |
property_types | Comma list: apartment,villa,penthouse,townhouse,plot |
locations | Comma list of area IDs (see autocomplete) |
provinces | Comma list of province codes, e.g. MA,CA |
bedrooms_min, bathrooms_min | Minimums |
price_min, price_max | Price band |
build_min, plot_min | Minimum m² |
features, orientations | Comma lists of slugs |
reference, ids | Find by your reference, or specific IDs |
sort | date_new_old, date_old_new, price_low_high, price_high_low |
language | Description language, e.g. en, es |
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"]
}
]
}
Full detail for one property: all descriptions, every photo size, rental terms, taxes (IBI, community fees), energy rating and similar properties.
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://..."
}
Off-plan / new-build projects: title, price range, units available, completion date, location and coordinates.
Resolve a search term to area IDs (use the returned id in locations) or matching properties.
Questions? [email protected]