Property Submission API
Submit properties programmatically via REST API. Ideal for real estate agencies and integrations.
→ Step-by-step How to use the API
Endpoint
POST /api/properties/submit/
Authentication
Use an API key in one of these headers:
X-API-Key: your-api-keyAuthorization: Bearer your-api-key
Getting an API Key
Request API access from your Profile & Settings. Once granted, create a key there. See the How to guide for details.
Request Format
Send JSON in the request body (same structure as the file examples):
{
"property": {
"title": "Modern apartment in Bežigrad",
"description": "Spacious 85m² apartment...",
"property_type": "apartment",
"listing_type": "sell",
"price": 285000,
"street_number": "45",
"bedrooms": 3,
"bathrooms": 2,
"area_sqm": 85,
"amenities": ["balcony", "parking"]
},
"location": {
"city": "Ljubljana",
"district": "Bežigrad",
"street": "Dunajska cesta"
}
}
cURL Example
curl -X POST https://lokacija.net/api/properties/submit/ \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"property":{"title":"Test","street_number":"1","property_type":"apartment","listing_type":"sell","price":100000},"location":{"city":"Ljubljana","district":"Bežigrad","street":"Dunajska cesta"}}'
Response
Success (201):
{"id": 123, "slug": "modern-apartment-id123", "status": "pending", "message": "Property submitted successfully. Pending review."}
Error (400/401/403):
{"error": "Validation failed", "details": {...}}
Field Reference
| Field | Type | Required | Notes |
|---|---|---|---|
| property.title | string | Yes | Property title |
| property.street_number | string | Yes | Building/house number |
| location.city | string | Yes | City name |
| location.district | string | Yes | District name |
| location.street | string | Yes | Street name |
| property.price | number | Price in EUR | |
| property.property_type | string | apartment, house, land, commercial, other | |
| property.listing_type | string | sell, rent | |
| property.description | string | Alias for Slovenian description (same as description_sl / legacy seo_description in imports) | |
| property.description_sl / _hr / _sr / _en | string | Per-language listing text | |
| property.year_renovated | number | Renovation year (optional) | |
| property.bedrooms | number | ||
| property.bathrooms | number | ||
| property.area_sqm | number | Living area in m² | |
| property.amenities | array | balcony, parking, air_conditioning, garden, etc. |
File Import
You can also submit via file upload (JSON or XML):
On the submit page, use 'Import from file' to pre-fill the form, or use bulk import for multiple properties.