What to publish in the feed and how import reads the fields.
API key, POST /start, POST /latest-log, limits, and optional callback.
agency_uid to the source id Realistimo gave your agency, and broker_id values to agent source ids already linked in Realistimo.offer_uid, category/subcategory, location (internal_id preferred), images, price, description, currency=eur.Geo lookup files: CSV · PostgreSQL dump
Explanation<updated> is the feed version. If it is unchanged since the last successful sync, the import is skipped.<updated> parses as a date older than 30 days, processing stops.<last_update> is present and not newer than the last imported change, most offer fields are skipped (price, agent assignment, and description still update). Empty/missing <last_update> does not trigger that skip.<feed>, brokers in <Brokers>, offers in <offers>.internal_id from the geo DB; alternative is subregion_id.eur.<updated> and <last_update> on affected offers.Copy this skeleton, replace placeholders, and set current timestamps (YYYY-MM-DD HH:MM:SS, not older than 30 days).
<?xml version="1.0" encoding="UTF-8"?>
<feed>
<updated>YYYY-MM-DD HH:MM:SS</updated>
<agency_uid>YOUR_AGENCY_SOURCE_ID</agency_uid>
<Brokers>
<Broker>
<BrokerID>YOUR_AGENT_SOURCE_ID</BrokerID>
<BrokerName>Ivan Ivanov</BrokerName>
<BrokerPhone>0888000000</BrokerPhone>
<BrokerEmail>[email protected]</BrokerEmail>
</Broker>
</Brokers>
<offers>
<offer>
<offer_uid>offer-1</offer_uid>
<last_update>YYYY-MM-DD HH:MM:SS</last_update>
<description>Test listing</description>
<images>https://example.com/a.jpg</images>
<price>100000</price>
<surface>70</surface>
<currency>eur</currency>
<category>продажби</category>
<subcategory>2-СТАЕН</subcategory>
<internal_id>8545</internal_id>
<broker_id>YOUR_AGENT_SOURCE_ID</broker_id>
</offer>
</offers>
</feed>
Download fuller sample XML (shape reference — still replace ids, timestamps, and content with yours).
| Tag | Description | Notes |
|---|---|---|
<updated> | Feed version / date | Required Must change when content changes; max 30 days old |
<agency_uid> | Agency source id | Required Must match the id configured for your agency |
<agency_name>, <agency_phone>, <agency_email> | Metadata | Optional Not used by import; safe for compatibility |
<result_url> | Callback after import | Optional Realistimo POSTs a latest-log-shaped JSON body; see REST |
<Brokers>/<Broker> provides broker contact details for the feed. Offer broker_id must match an agent source id already linked to your agency in Realistimo (set up during integration). The XML BrokerID values should use the same ids.
| Tag | Notes |
|---|---|
<BrokerID> | Required Agent source id (prefer ≠ agency_uid) |
<BrokerName> | Required Name (+ surname) |
<BrokerPhone>, <BrokerEmail>, <BrokerPhoto> | Optional |
| Tag | Description | Notes |
|---|---|---|
<last_update> | Offer change time | Recommended Date/time or unix timestamp. When present and not newer than the last imported change, most fields are skipped on published offers |
<offer_uid> | Stable id | Required Do not change on edits |
<offer_code> | Reference code | Optional |
<title> | Title fragment | Optional Separate from description |
<description> | Description | Recommended Strongly desired for publication |
<images> | URLs | Required Separator ; |
<price> | Price | Required Integer part; zeroed for parent construction/complex |
<surface> | Area m² | Required Required for most types (except garage) |
<surface_parcel> | Yard/parcel | Optional |
<currency> | Currency | Recommended eur Accepted: eur/EUR/BGN/лв — normalized to EUR. Missing currency is treated as BGN and converted to EUR. Prefer eur |
<category> | продажби / наеми | Required |
<subcategory> | Property type | Required Must be an exact supported value (see below) |
<internal_id> | Geo internal id | Recommended Preferred location method |
<subregion_id> | Mapped location id | Optional Used when internal_id is missing/not numeric |
<construction_type> | епк / панел / тухла / гредоред / метална конструкция | Optional |
<floor>, <floorAll> | Floor / floors | Optional floor value 0 is ignored |
<building_condition> | Completed / … | Optional |
<build_year> | YYYY-MM-DD | Optional |
<furnished> | 0/14/23/65 | Optional 0 and 23 = unfurnished |
<heating_ids> | IDs via , | Optional 4/6/18 pellets, 35 AC, 44 electricity, 46 district, 80 gas |
<parking_ids> | 52, 93 | Optional 52 garage, 93 parking space |
<rooms_count>, <bedroom_count>, <bath_count> | Counts | Optional |
<exterior_ids> | 42=elevator, 10=asphalt | Optional Only these ids are applied |
<broker_id> | Agent source id | Required Must match an agent linked in Realistimo |
<construction_id> | Parent offer_uid | Optional See building/complex how-to |
<youtube_link> / <youTube_link> | YouTube | Optional |
<virtual_panorama_link> | Tour | Optional |
<Exclusive> | 0/1 | Optional |
АТЕЛИЕ, ТАВАН · ТАВАН · ЕТАЖ ОТ КЪЩА · КЪЩА · ВИЛАconstruction_id)Send values exactly as listed (Cyrillic). Unknown values cause the offer import to fail.
Completed, UnderConstruction, PreConstruction, SemiCompleted, NotCompleted.
епк, панел, тухла, гредоред, метална конструкция.
balcony_count, land_category, parcel_in_regulation, new_construction.subcategory is one of НОВА СГРАДА, СГРАДА НОВО СТРОИТЕЛСТВО, ЗАТВОРЕН КОМПЛЕКС.<construction_id>PARENT_OFFER_UID</construction_id>.Let Realistimo track for you instead
😃 Install the app and we'll notify you first when a suitable listing appears.
Stay updated on what's new in real estate, statistics, and news from Realistimo, without spam: