Feed version 1

Property feed specification for Propal

For website admins. Build an RSS file so Propal can import an agent's listings and photos into their account.

  1. 1. Build the RSS file

    Have your website generate an RSS 2.0 file like the sample below, adding Propal fields with the propal: prefix.

  2. 2. Make the link public

    The file must open without a login, for example https://your-site.com/feed.xml.

  3. 3. Send the link to the agent

    The agent pastes the link into Propal, which shows a preview to review before importing.

Imported listings are saved as drafts for the agent to review before publishing. A plain RSS/Atom feed (title, description, link, photos) also works, but price, type, bedrooms and so on need propal: fields to be read accurately.

Link requirements

ItemValue
Protocolhttps:// (or http://), standard ports 80/443 only
AccessMust open without a login (links with embedded user:password are not supported)
File size5 MB maximum
Items per import200 items maximum (extra items are dropped)
Content-Typeapplication/rss+xml, application/xml or text/xml
EncodingUTF-8, no gzip needed
Not allowed<!DOCTYPE> and <!ENTITY> (rejected for security)

Structure of each item (<item>)

Photos (up to 20 per listing)

Use any one of these three forms. The first photo becomes the cover.

Photo URLs must be publicly reachable, with no login and no hotlink blocking. JPG / PNG / WebP only, 10 MB per photo maximum. Propal downloads each photo, resizes it (longest side 1600 px), converts it to WebP, strips EXIF/GPS data and stores a copy in the agent's account.

Propal fields

Add them as propal:name tags inside <item>. Leave out any field you have no data for.

TagMeaningTypeRequiredAllowed values / notesExample
propal:titleListing nameTextRequiredCan use the RSS <title> instead · max 200 charactersคอนโด ลุมพินี สุขุมวิท 24
propal:propertyTypeProperty typeFixed valueRequiredCONDO, HOUSE, TOWNHOUSE, LAND, COMMERCIAL, APARTMENT, RESORT, POOL_VILLA, WAREHOUSECONDO
propal:listingTypeListing typeFixed valueRequiredSALE, RENT, BOTH (sale and rent), INSTALLMENT (direct installments from the owner)SALE
propal:priceSale price (THB)NumberBy listing typeRequired for SALE or BOTH · digits only3500000
propal:rentalPriceMonthlyMonthly rent (THB)NumberBy listing typeRequired for RENT or BOTH · digits only25000
propal:provinceProvinceTextOptionalกรุงเทพมหานคร
propal:districtDistrictTextOptionalวัฒนา
propal:subdistrictSub-districtTextOptionalคลองตันเหนือ
propal:postalCodePostal codeTextOptional5 digits10110
propal:addressAddressTextOptionalMax 500 characters123/45 ถ.สุขุมวิท 24
propal:areaSqmUsable area (sqm)NumberOptional45
propal:landRaiLand area (rai)NumberOptional1
propal:landNganLand area (ngan)NumberOptional2
propal:landSqwaLand area (sq wah)NumberOptional50
propal:bedroomsBedroomsIntegerOptional2
propal:bathroomsBathroomsIntegerOptional2
propal:floorsFloorsIntegerOptional5
propal:parkingSpacesParking spacesIntegerOptional1
propal:securityDepositSecurity deposit (THB)NumberOptionalRental listings only50000
propal:latitudeLatitudeNumberOptional-90 to 9013.7305
propal:longitudeLongitudeNumberOptional-180 to 180100.5695
propal:locationUrlMap linkTextOptionalStarts with http(s):// or coordinates "lat, lng"https://maps.google.com/...
propal:videoUrlVideo linkTextOptionalStarts with http(s)://https://youtube.com/...
propal:virtualTourUrlVirtual tour linkTextOptionalStarts with http(s)://https://...
propal:websiteUrlListing page linkTextOptionalYour listing page URL · falls back to <link> if omittedhttps://...
propal:hasFurnitureFurnishedtrue/falseOptionaltrue or falsetrue
propal:petsAllowedPets allowedListOptionalDOG, CAT separated by | e.g. DOG|CATแมว|สุนัขเล็ก
propal:poolLengthMPool length (m)NumberOptionalPOOL_VILLA only8
propal:poolWidthMPool width (m)NumberOptionalPOOL_VILLA only4
propal:poolDepthMPool depth (m)NumberOptionalPOOL_VILLA only1.4
propal:poolTypePool typeTextOptionalINFINITY
propal:poolSystemPool systemTextOptionalSALTWATER
propal:descriptionDescriptionTextOptionalCan use the RSS <description> instead · max 3,000 charactersวิวสวย ใกล้ BTS อโศก
propal:titleEnListing name (English)TextOptionalLumpini Suite Sukhumvit 24 Condo
propal:titleZhListing name (Chinese)TextOptional素坤逸24公寓
propal:descriptionEnDescription (English)TextOptionalNice view, near BTS Asoke
propal:descriptionZhDescription (Chinese)TextOptional风景优美,靠近BTS
propal:downPaymentDown payment (THB)NumberOptionalINSTALLMENT only200000
propal:monthlyInstallmentMonthly installment (THB)NumberBy listing typeRequired for INSTALLMENT15000
propal:installmentMonthsInstallment term (months)IntegerBy listing typeRequired for INSTALLMENT · 1–600120
propal:installmentInterestPctInstallment interest (% per year)NumberOptional0–100 (% per year)0
propal:commonFeeMonthlyMonthly common fee (THB)NumberOptional1500

Filling rules

Sample file

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:propal="https://propal.app/ns/feed/1"
     xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>ทรัพย์ของ บริษัท ตัวอย่างพร็อพเพอร์ตี้</title>
    <link>https://example.com</link>
    <description>รายการทรัพย์ขาย-เช่า</description>
    <propal:version>1</propal:version>

    <!-- ตัวอย่างที่ 1: คอนโดขาย -->
    <item>
      <guid isPermaLink="false">EX-1024</guid>
      <title>คอนโด ลุมพินี สุขุมวิท 24 ห้องมุม วิวสวน</title>
      <link>https://example.com/property/1024</link>
      <description><![CDATA[<p>ห้องมุม ชั้น 15 วิวสวน ใกล้ BTS พร้อมพงษ์</p>]]></description>
      <propal:updated>2026-10-17T09:00:00+07:00</propal:updated>
      <propal:propertyType>CONDO</propal:propertyType>
      <propal:listingType>SALE</propal:listingType>
      <propal:price>3500000</propal:price>
      <propal:areaSqm>45</propal:areaSqm>
      <propal:bedrooms>1</propal:bedrooms>
      <propal:bathrooms>1</propal:bathrooms>
      <propal:province>กรุงเทพมหานคร</propal:province>
      <propal:district>คลองเตย</propal:district>
      <propal:postalCode>10110</propal:postalCode>
      <propal:hasFurniture>true</propal:hasFurniture>
      <media:content url="https://example.com/img/1024-1.jpg" medium="image"/>
      <media:content url="https://example.com/img/1024-2.jpg" medium="image"/>
    </item>

    <!-- ตัวอย่างที่ 2: บ้านให้เช่า (ใช้ enclosure สำหรับรูป) -->
    <item>
      <guid isPermaLink="false">EX-2048</guid>
      <title>บ้านเดี่ยว 2 ชั้น หมู่บ้านตัวอย่าง ให้เช่า</title>
      <link>https://example.com/property/2048</link>
      <description>บ้านเดี่ยว 3 ห้องนอน เลี้ยงสัตว์ได้</description>
      <propal:propertyType>HOUSE</propal:propertyType>
      <propal:listingType>RENT</propal:listingType>
      <propal:rentalPriceMonthly>35000</propal:rentalPriceMonthly>
      <propal:bedrooms>3</propal:bedrooms>
      <propal:bathrooms>3</propal:bathrooms>
      <propal:petsAllowed>DOG|CAT</propal:petsAllowed>
      <propal:province>นนทบุรี</propal:province>
      <enclosure url="https://example.com/img/2048-1.jpg" type="image/jpeg" length="0"/>
    </item>
  </channel>
</rss>

Want to import listings from your website?

Sign up for Propal, then go to Settings → Import/Export → RSS / XML link.

Get started free

Feed spec version 1. New fields may be added without a version change; changing the meaning of an existing field will bump the version.