AnchorA property listings data feed for a customer-operated local dataset

Use Immoteur when your team needs a selected local dataset of real estate listings rather than individual lookups alone. A full export establishes a baseline, live classified webhooks deliver eligible updates, and Delta exports reconcile later changes. Your database, queue, and data model remain under your control.

AnchorDefine the selected feed

The classifieds export service sends public-exportable Classified records that match its configured filters. The scope is not an unfiltered copy of every Immoteur resource. Define transaction, property, geography, publisher, and account-access requirements before configuring the service.

For France exportability, the scope requires the applicable mandatory fields, a linked, non-deleted Property, and a euro or absent currency. It also requires a known publisher professional status, which is not the same as requiring the status to be true. The scope does not restrict records to active lifecycle status.

AnchorEstablish a complete baseline

Prepare the receiver before requesting a full export. Persist or enqueue every chunk, record the export identifier, and retain completion state in your own storage. Save each received Classified by its ID.

A full export can arrive in multiple deliveries. The terminal completion message has an empty items array and isComplete: true, which completes the export. Do not assume a fixed chunk size, delivery order, or number of deliveries.

AnchorIngest live classified updates safely

Use a separate live service—either classified or classified-notification-batch—for notifications. Set onlyNew to false on that service when the receiver must process eligible updates as well as new listings. The separate classifieds export service handles full and Delta exports.

Live delivery is at least once and unordered. Store or enqueue the complete body and record an idempotency key scoped to X-Immoteur-Service-Id and X-Immoteur-Event-Id before returning 2xx; the event ID remains stable across live retries, while a delivery can be retried. A lastSeenAt revisit alone does not create a live notification.

AnchorReconcile with Delta exports

Use a Delta export after a compatible, successful retained baseline. If no such baseline exists because it is absent, expired, or incompatible, a requested Delta export automatically falls back to a full export. A baseline for a different filter scope is incompatible.

The sequence below shows the separate export and live-notification services, the data your application records before acknowledgement, and a client-requested Delta export that reconciles missed updates or drift. It starts with full-export batches and their completion signal, then shows a single or batch notification stored before 2xx. It ends with a Delta request that delivers a Full export instead when the retained baseline is not compatible.

Rendering diagram...

Changing the receiver URL alone preserves a compatible baseline. Treat the effective exportType in the delivered payload as the contract your receiver processes rather than assuming a requested mode always applies.

AnchorKeep Immoteur listing snapshots separate from your own data

Store each Classified snapshot from Immoteur separately from the enrichment, scores, CRM fields, and analytical tables your application creates. A later export or notification can then update the listing snapshot without overwriting your own data. A record absent from a later export is not, by itself, an instruction to delete the local listing.

AnchorBuild the receiver from the delivery contract

Read the local data mirror guide for export and reconciliation flow. Read the webhook delivery guide before selecting queue and acknowledgement behaviour. Create an account at Immoteur sign-up when you are ready to configure the selected scope.