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-key
  • Authorization: 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.titlestringYesProperty title
property.street_numberstringYesBuilding/house number
location.citystringYesCity name
location.districtstringYesDistrict name
location.streetstringYesStreet name
property.pricenumberPrice in EUR
property.property_typestringapartment, house, land, commercial, other
property.listing_typestringsell, rent
property.descriptionstringAlias for Slovenian description (same as description_sl / legacy seo_description in imports)
property.description_sl / _hr / _sr / _enstringPer-language listing text
property.year_renovatednumberRenovation year (optional)
property.bedroomsnumber
property.bathroomsnumber
property.area_sqmnumberLiving area in m²
property.amenitiesarraybalcony, 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.