Skip to main content
Configure a service when your integration needs Classified data without polling the API. In the Immoteur dashboard, open API → Webhooks and set the receiver URL for the service.

Choose the updates to receive

Immoteur sends a live listing notification when a listing is created or when an eligible normalized field changes. A meta.lastSeenAt-only revisit is captured for delta-export reconciliation and does not create a direct live notification. Use meta.lastModifiedAt to identify the latest normalized update and meta.lastSeenAt to identify the latest revisit. There is no periodic keep-alive webhook.

Configure the endpoint

Create the service in API → Webhooks in the Immoteur dashboard. Use an HTTPS endpoint that your service controls.
If your endpoint restricts source IPs, allowlist the following Immoteur egress IPs before testing: 51.38.208.80 and 54.37.96.165.

Filter the stream

Each service has one filter object. Choose the filter type that matches the scope your integration is allowed to receive. The exact keys depend on that type:
  • type, transactionType, sourceDomains, and publisherCompanyReference (required)
Every required key must be present. transactionType is always required and non-null, and a geographic filter requires a non-empty locationDepartments list. Other required keys may use null only where the schema permits it. For a global filter, nullable propertyTypes, publisherType, and sourceDomains values leave those dimensions unrestricted; transactionType still defines the scope.

Choose the payload type

Each service has one delivery mode. The dashboard offers classified-notification-single by default, classified-notification-batch, and classified-export. Use classified-notification-single when your receiver needs one Classified object per notification. Use classified-notification-batch when it can process one to ten full snapshots for distinct listings and deduplicate a batch event. Use classified-export for a baseline or reconciliation export; it has a different envelope and lifecycle from live notifications. Changing the delivery mode changes the body received by your endpoint. Confirm that its receiver supports the new contract before saving; the change cancels an active export. You can pause and resume a service without losing its configuration, but resuming does not promise delivery of a batch retained before the pause.

Test webhook delivery with the sandbox

The sandbox has one endpoint for each public delivery mode: The classified-notification-batch endpoint accepts the same strict batch body. It returns 200 for a valid body and 400 for an invalid body, while retaining the sandbox’s existing simulated response behavior.

Understand notification batches

A batch seals as soon as it contains ten distinct classified IDs. Otherwise, it becomes eligible when its first item has waited one hour; this non-sliding threshold is not a promised receipt time, because the minute scheduler, queue, and HTTP latency follow. If the same classified changes again while its batch is active, Immoteur replaces the full snapshot without increasing the item count or changing its first-seen order. The receiver therefore receives an items array with one to ten complete Classified objects, and X-Immoteur-Event-Id is its stable batch identifier. The batch body contains only items; it does not include batchId, exportId, exportType, isComplete, or type. Those fields belong to other delivery contracts. Set onlyNew to false for either notification type when you need updates as well as creations.
Batch payload recovery state has an absolute seven-day retention period from batch creation and does not extend when an item changes. A batch that cannot be recovered before expiry or Redis eviction may be lost, so use exports to reconcile your local copy.
For classified-export deliveries, exportType identifies the effective type delivered for the entire export: full for a Full export and delta for a Delta export. Its value is the same on every data batch and terminal completion message. When a requested Delta export falls back, deliveries use full; the receiver payload does not include the requested mode or the fallback reason. An export can contain multiple deliveries. Do not rely on a fixed item count or delivery order. To combine live notifications, a baseline, and delta reconciliation, create compatible but separate services: one classified-notification-single or classified-notification-batch service and one classified-export service. They can use the same receiver URL, but they are not one service. See Mirror classified data for the full baseline, live update, and delta-reconciliation flow, then read Webhook delivery, retries, and idempotency before implementing the receiver.