Getting Started
Welcome to the European Real Estate XML Import Specification. This document provides all the technical details you need to create a property feed that integrates with our platform.
Quick Start Resources
Create Your Feed
Build your XML feed following the specification outlined in this document. Populate the required fields for every property, and use the element names exactly as listed - an element that is not in this document is not read.
Test Your Feed
Validate your XML structure and character encoding. Use a standard XML validator to check for syntax errors before submission.
Submit for Review
Once your feed validates correctly, submit the feed URL to our team for final review. We'll verify the integration and activate your automated sync.
Overview
The European Real Estate XML feed is an absolute feed, meaning it should contain all your active properties each time it's generated.
How Properties Are Processed
| Scenario | Action |
|---|---|
New <id> detected | Property is INSERTED as a new listing |
Existing <id> with changed data | Property is UPDATED with the new information |
<id> missing from the feed | Property is TAKEN OFFLINE after three consecutive syncs. It is not deleted: if it returns to the feed, it comes back online with the next sync, with its images and data intact |
<id> is the key. The platform compares the data of every property on
every sync and processes the ones that changed, so there is no date field to maintain: keep the
<id> stable and send your current values.Guidelines & Conventions
Technical Requirements
- All XML tags MUST be lowercase
- The feed MUST be UTF-8 encoded
- Line breaks in descriptions must use actual newline characters (
\n) - Do NOT use
CDATAsections and do not send HTML in<desc> - URLs must be absolute (include full
https://prefix) - Each account requires a unique feed URL
- Property nodes must be direct children of
<root>
Data Format Standards
| Field Type | Format | Example |
|---|---|---|
| Price | Numeric only, no symbols | 250000 |
| Area (m²) | Numeric, square metres | 150 |
| GPS Coordinates | Decimal degrees | 36.5108, -4.8855 |
| Country | Name from the Supported Countries list, or ISO 3166-1 alpha-2 | Spain or ES |
| Year | Four digits | 2018 |
Feed Structure
Every feed follows this basic structure: a root element with the format version, followed by one property node per active property.
<?xml version="1.0" encoding="UTF-8"?>
<root>
<european_realestate>
<feed_version>2</feed_version>
</european_realestate>
<property>
<!-- Property 1 fields... -->
</property>
<property>
<!-- Property 2 fields... -->
</property>
<!-- Additional properties... -->
</root>What The Platform Reads From The Feed
| Element | Meaning |
|---|---|
<european_realestate> | Format identification. Send <feed_version>2</feed_version> |
<property> | One property. Everything the platform stores comes from inside this node |
Property Nodes Reference
Every element below belongs inside a single <property> node. Element names are
exactly as written here.
Core Fields
<id>
Unique identifier for the property. This must remain consistent across feed updates: it is the key the platform matches on.
<id>987654</id><ref>
Your internal property reference code. Shown as "Reference" in the additional details of the listing.
<ref>ABC-123</ref>Pricing
<price>
Property price as a number without currency symbols or separators.
<price>250000</price><currency>
Currency code. Supported: EUR, GBP, USD, CHF, PLN, CZK, HUF, RON, SEK, NOK, DKK
<currency>EUR</currency><price_freq>
Whether the property is for sale or for rent, and for rentals the period the price applies to.
| Value | Description |
|---|---|
sale | Property is for sale |
month | Property is for rent, price per month |
week | Property is for rent, price per week |
year | Property is for rent, price per year |
<price_freq>sale</price_freq>Location
<country>
Country of the property. Use the name from the Supported Countries list; the ISO 3166-1 alpha-2 code is also accepted.
<country>Spain</country><town>
City or town name where the property is located.
<town>Marbella</town><province>
Province, region or state.
<province>Málaga</province><postal_code>
Postal code.
<postal_code>29600</postal_code><location_detail>
Additional location description (neighbourhood, urbanization, area). Shown as "Area" on the listing.
<location_detail>Costa del Sol</location_detail><location>
GPS coordinates in decimal degrees. Both values are needed for the map pin to appear.
<location>
<latitude>36.5108</latitude>
<longitude>-4.8855</longitude>
</location>Property Details
<type>
Property type. Use a value from the Property Types list. Matching is case-insensitive.
<type>Apartment</type><beds>
Number of bedrooms.
<beds>3</beds><baths>
Number of bathrooms.
<baths>2</baths><year_built>
Year the property was built.
<year_built>2020</year_built><surface_area>
Built area and plot size in square metres. A plot only makes sense for land and for properties with land.
<surface_area>
<built>150</built>
<plot>500</plot>
</surface_area><energy_rating>
Energy performance ratings, letters A to G. Send X when no certificate is
available.
<energy_rating>
<consumption>B</consumption>
<emissions>C</emissions>
</energy_rating>Content
<desc><en>
Full property description in English, wrapped in an <en> element.
Translations are generated automatically. Use real newlines for paragraph breaks, do not
send HTML, and do not use CDATA.
<desc>
<en>Beautiful modern apartment located in the heart of Marbella.</en>
</desc><url><en>
Link to the property on your website, wrapped in an <en> element.
<url>
<en>https://example.com/property/123456</en>
</url>Media
<images>
Property images. The first image is the cover. At most 20 images are kept per listing. Recommended size 1920x1280px, minimum 800x600px.
<images>
<image>
<url>https://example.com/images/main.jpg</url>
</image>
<image>
<url>https://example.com/images/bedroom.jpg</url>
</image>
</images><virtual_tour_url>
URL to a virtual tour (Matterport, iGuide, and similar).
<virtual_tour_url>https://my.matterport.com/show/?m=XXXXX</virtual_tour_url><video_url>
URL to a property video: YouTube, Vimeo, or a direct MP4/WebM file.
<video_url>https://www.youtube.com/watch?v=XXXXX</video_url><features>
List of property features. Use the names from the Features List. Matching is case-insensitive. Only send the features that apply.
<features>
<feature>Swimming Pool</feature>
<feature>Sea views</feature>
<feature>Air Conditioning</feature>
</features>Property Types
Use these values for the <type> field. Matching is case-insensitive.
Apartments
Villas
Town Houses
Country Houses
Land & Ruins
Commercial Property
Other
Features List
Include only the features that apply to your property, one <feature> element
each. Use these names; matching is case-insensitive.
Correct:
<feature>Swimming Pool</feature>
Ignored:
<feature>swimming_pool</feature>Supported Countries
Use the country name for the <country> field, or the ISO 3166-1 alpha-2 code.
| Country | ISO | Country | ISO |
|---|---|---|---|
| Albania | AL | Latvia | LV |
| Austria | AT | Lithuania | LT |
| Belgium | BE | Luxembourg | LU |
| Bosnia & Herzegovina | BA | Malta | MT |
| Bulgaria | BG | Moldova | MD |
| Croatia | HR | Montenegro | ME |
| Cyprus | CY | Norway | NO |
| Czechia | CZ | Poland | PL |
| Denmark | DK | Portugal | PT |
| Estonia | EE | Romania | RO |
| Finland | FI | Serbia | RS |
| France | FR | Slovakia | SK |
| Georgia | GE | Slovenia | SI |
| Germany | DE | Spain | ES |
| Greece | GR | Sweden | SE |
| Hungary | HU | Switzerland | CH |
| Iceland | IS | The Netherlands | NL |
| Ireland | IE | United Kingdom | GB |
| Italy | IT |
Character Encoding
Your feed MUST be UTF-8 encoded. Special characters in text content must be properly escaped:
| Character | Entity | Usage |
|---|---|---|
| < | < | Less than |
| > | > | Greater than |
| & | & | Ampersand |
| " | " | Double quote (only needed inside an attribute) |
| ' | ' | Apostrophe (only needed inside an attribute) |
✅ Correct <en>Property with pool & garden</en>
❌ Incorrect <en>Property with pool & garden</en>
Testing Your Feed
Step 1: Validate XML Structure
Validate your feed with an XML validator before submitting it:
- W3C Markup Validation Service
- XMLValidation.com
- Most modern browsers (open the XML file directly)
Step 2: Check Character Encoding
Verify your feed is properly UTF-8 encoded:
Step 3: Verify Required Fields
Every property needs these elements:
<id>— Unique property ID<price>— Property price<price_freq>— Sale or rent<type>— Property type<country>— Country<town>— City or town<desc><en>— Property description
Automating Updates
Once your feed is approved, our system syncs your properties automatically every night.
Sync Schedule
- Feeds are processed automatically every 24 hours
- Processing starts after 01:00 CET and continues through the early morning
- Large feeds may take longer to process
Best Practices
- Always include ALL active properties in your feed
- Keep the
<id>of a property stable for its whole life - Send up to 20 images per property; the first one is the cover
- Send absolute image URLs that stay reachable; images are only downloaded once
- Ensure your feed URL remains consistent and accessible
- Monitor for any validation errors reported by our team
Getting Help
If you have questions or encounter issues with your XML feed:
- Email: info@european.realestate
- Contact Form: european.realestate/contact
When contacting support, please include:
- Your feed URL
- Your agency name on European Real Estate
- A couple of the
<id>values involved - A description of the issue
- Any error messages received