Portfolio app for mobile Follow properties more easily. Get the app from Google Play Google Play Portfolio app for mobile Follow properties more easily. Get the app from App Store App Store

Import / sync REST API

API to start and monitor imports. Feed format: XML specification.

Overview

Overview

Two POST endpoints to start and monitor imports. An API key is required. Imports run asynchronously — after /start, poll status with /latest-log.

Tutorial

Get started

  1. Public XML feed + agency → API key from [email protected].
  2. POST /rest-api/import/startimport-in-queue.
  3. Poll POST /rest-api/import/latest-log until completed.
curl -X POST 'https://realistimo.com/rest-api/import/start' \
  -H 'Accept: application/json' \
  -H 'API-KEY: YourApiKeyHere'

curl -X POST 'https://realistimo.com/rest-api/import/latest-log' \
  -H 'Accept: application/json' \
  -H 'API-KEY: YourApiKeyHere'
How-to

How to sync after feed changes

  1. Update the XML and set a new <updated> (unchanged value skips the feed).
  2. Bump <last_update> on changed offers.
  3. POST /start. On cooldown or an in-progress import, wait and retry.
  4. Poll /latest-log and fix offers with errors.
Reference

Authentication

ResponseWhen
HTTP 401Missing or empty API key
{"status":"error","message":"API key could not be found"}Unknown key
{"status":"error","message":"API key is inactive"}Disabled key
{"status":"error","message":"API key is expired"}Expired key
{"status":"error","message":"User is inactive"} / User account is expiredUser account issue

POST /rest-api/import/start

messageMeaning
import-in-queueAccepted; import is queued or already waiting
import-is-allowed-between-the-timeOutside the 08:00–20:59 window (server time)
import-in-progressAn import is already running
import-request-cooldown-is-time-givenWait 30 minutes between requests (production)
error-while-importingNo feed configured for the agency
error: Agency not foundKey is not linked to an agency

POST /rest-api/import/latest-log

message is the import status: pending | in_progress | completed (or null if none yet). When a log is available: logDate, logResult, logOffers (uuid, createdAt, errors, offerSourceData).

{
  "message": "completed",
  "logDate": "2024-09-18T01:51:14+03:00",
  "logResult": { "found_offers": 228, "updated_offers": 228, "not_published": 10 },
  "logOffers": [{ "uuid": "…", "errors": [], "offerSourceData": { "offer_uid": "2080525" } }]
}
Reference

Limits

Callback (result_url)

After import, Realistimo POSTs latest-log-shaped JSON to the XML result_url. Failed callbacks are not automatically retried.

See also

XML & support

The Real Estate Newsletter

Stay updated on what's new in real estate, statistics, and news from Realistimo, without spam:

You have successfully subscribed.
Please add an Email. Please add a valid Email. Please choose the profile Type. Please enter a city. Please select a city from the options in the dropdown list when filling in the field. There was a problem. Please try again later.
US AIzaSyBR3omDZNtlfDZ-DUvziDqXSz06vDg5mk4