Darscover Logo

Darscover XML Property Feed Integration Guide

Welcome to the Darscover property feed integration guide. This document provides all the necessary information for your technical team to automate the process of listing your properties on our portal.

Key Information

  • Feed Model: Full Snapshot
  • Format: XML (UTF-8 Encoded)
  • Update Frequency: We fetch new feeds every 4 hours.

1. Overview: The Full Snapshot Model

Our system uses a "Full Snapshot" model. This means that each time we process your feed, we treat it as the complete, authoritative list of your active properties.

  • ✅ Additions: Properties in your feed that are new to our system will be added.
  • 🔄 Updates: Properties that already exist will be updated with the latest information.
  • ❌ Deletions: Any of your properties in our system that are not found in your latest feed will be removed.

The XML file must be hosted on a publicly accessible URL (e.g., https://agency.com/feeds/darscover.xml). Once your feed is ready, please email the URL to our technical team at dev@darscover.com to begin the import process.

2. Getting Started: Minimal XML Example

To create a valid listing, you only need to provide the essential fields. Here is an example of a minimal valid property that can be used for initial testing.

<?xml version="1.0" encoding="UTF-8"?>
<darscoverFeed>
  <properties>
    <property>
      <agentReference>RES-MIN-001</agentReference>

      {/* Accepted: residential, room, office, commercial, parking, airRights, storage, building */}
      <category>residential</category>

      {/* Accepted: for_sale, for_rent */}
      <transactionType>for_sale</transactionType>

      <listingDetails>
        <price>320000</price>
        {/* For sales. Accepted: empty, rented, owner_occupied */}
        <sellingCondition>owner_occupied</sellingCondition>
        <availableFrom>2025-09-01T00:00:00Z</availableFrom>
        <description>A modern 2-bedroom apartment in a central location.</description>
      </listingDetails>

      <location>
        <locality>Birkirkara</locality>
        <street>Triq il-Wied</street>
        <number>88</number>
        <postcode>BKR 9011</postcode>
      </location>

      <details>
        <residential>
          <features>
            {/* Accepted: apartment, penthouse, villa, etc. */}
            <propertyType>apartment</propertyType>
            <bedrooms>2</bedrooms>
            <bathrooms>1</bathrooms>
            {/* Accepted: needs_renovating, good */}
            <condition>good</condition>
          </features>
        </residential>
      </details>

      <media>
        <image order="1"><url>[https://your-cdn.com/images/RES-MIN-001/1.jpg](https://your-cdn.com/images/RES-MIN-001/1.jpg)</url></image>
      </media>
    </property>
  </properties>
</darscoverFeed>

3. Full XML Reference

For the best possible listing quality, we recommend providing all available data. A complete XML template including every possible field for all property categories is available for download in the section below.

4. Data Dictionary & Enum Values

Please ensure you use the exact values listed below for the specified fields to prevent validation errors.

Important: Case-Sensitivity All enum values are case-sensitive and must be provided exactly as shown.

Core Property Enums

XML Field Accepted Values
category residential, room, office, commercial, parking, airRights, storage, building
transactionType for_sale, for_rent
sellingCondition empty, rented, owner_occupied

General Enums

XML Field Accepted Values
condition needs_renovating, good
energyCertificateRating a, b, c, d, e, f, g
floor basement, semi_basement, ground_floor, mezzanine, top_floor, 1st floor, ... (up to 60th floor)
door letter, number, sole_door, left, right, exterior, interior, center, etc.

Residential & Room Enums

XML Field Accepted Values
propertyType apartment, penthouse, duplex, studio, bungalow, farmhouse, house_of_character, maisonette, palazzo, terraced_house, town_house, villa
orientation north, south, east, west
roofAccess private, shared
heatingType individual, central_heating, no_heating
bedType single, double, twin, none
roomView without_windows, street, courtyard
gender male, female
occupation student, professional

Office Enums

XML Field Accepted Values
layout open_plan, divided_by_screens, divided_by_walls

Commercial Enums

XML Field Accepted Values
propertyType commercial_premises, warehouse
businessLocation shopping_center, street_level, mezzanine, basement, upstairs, other
previousBusiness b&b, hotel, restaurant, bar, shop, supermarket, gym, spa, etc.

Parking Enums

XML Field Accepted Values
propertyType single_garage, parking_space
maxCapacity small_car, large_car, motorbike, car&bike, two_cars+

Air Rights / Land Enums

XML Field Accepted Values
type land, airspace
landType developed, buildable, non_buildable
typeOfUse high_rise_residential, single_family_residence, tertiary_offices, tertiary_commercial, tertiary_hotels, industrial, public_services, other

Building Enums

XML Field Accepted Values
typeOfUse residential, offices, commercial, hotel, industrial, other

Suggested Values for locality

While locality is a free-text field, using these standard names is highly recommended for best results.

  • Malta Areas: Attard, Balzan, Birkirkara, Sliema, St. Julian's, Valletta, etc.
  • Gozo Areas: Għajnsielem, Għarb, Rabat (Victoria Gozo), Xagħra, Xlendi, etc.

5. Links to Templates

To assist your development team, we have prepared the following files.

6. Best Practices & FAQ

  • How often is my feed processed? We fetch and process feeds every 15 minutes. Changes to your feed should be reflected on the portal within that timeframe.

  • What image specifications should I follow? Please provide the highest resolution images available (we recommend at least 1200px wide) in JPEG or WEBP format. The order attribute on the <image> tag is mandatory, with order="1" being the primary image for the property.

  • What happens if my XML is invalid? Our system performs validation on every feed. If your XML is invalid or does not conform to the structure, the import will fail, and an automated email will be sent to your registered technical contact with details about the error. The previously successful version of your feed will remain live.

7. Support

If you have any technical questions regarding the feed integration, please contact our support team at dev@darscover.com.