Skip to main content

Property Monitoring - Getting Started Guide

Written by Charles Parra
Updated over 4 months ago

Monitor properties that match your search criteria and receive real-time notifications when property data changes.


Overview

The BatchData Property Monitoring service enables you to define search criteria for properties you want to track and receive automatic updates when changes occur.

Key capabilities:

  • Define custom search criteria to monitor specific property segments

  • Receive real-time notifications when properties are added to or removed from your criteria

  • Choose from multiple delivery options: AWS Kinesis, Webhooks, or Azure Event Hubs

  • Scale to monitor millions of properties across multiple subscriptions


How It Works

Example Scenario

You want to monitor properties in Phoenix, AZ that are currently on the market with 2-3 bedrooms and an estimated value between $150K and $300K.

Here's how the monitoring process works:

  1. Create a subscription - Define your search criteria and choose how you want to receive updates

  2. We maintain the list - BatchData continuously monitors properties matching your criteria

  3. Receive updates - You're notified when:

    • New properties match your search criteria (added to your list)

    • Existing properties no longer match due to data changes (removed from your list)

  4. Retrieve details - Use the property ID from the notification to fetch full property data via the Property Lookup API


Getting Started

Step 1: Contact Us for Provisioning

Property Monitoring requires account provisioning. Contact our sales team to enable this feature for your account.

  • Provisioning time: Up to 7 business days

  • Setup fee: A one-time fee applies to register your subscriptions

Step 2: Create Your First Subscription

Once provisioned, create a subscription using the API:

Example Request:

{
"searchCriteria": {
"query": "Phoenix, AZ",
"orQuickLists": ["on-market"]
},
"deliveryConfig": {
"type": "webhook",
"url": "https://your-domain.com/property-events"
}
}

Response:

{
"status": {
"code": 201,
"text": "OK",
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"result": {
"subscriptionId": "AbCdEfGhIjKlMnO"
}
}

Step 3: Process Incoming Events

When property changes are detected, you'll receive event notifications:

{
"eventId": "evt-unique-id-12345",
"subscriberId": "your-subscriber-id",
"propertyId": "prop-12345",
"parcelHash": "abc123hash",
"addressHash": "xyz789hash",
"propertyChangedAt": "2025-12-15T10:30:00Z",
"addedToSubscriptionIds": ["AbCdEfGhIjKlMnO"],
"removedFromSubscriptionIds": []
}

Step 4: Retrieve Property Details

Use the propertyId from the event to fetch full property information:

curl -X POST "https://api.batchdata.com/api/v1/property/lookup" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"requests": [
{ "propertyId": "prop-12345" }
]
}'

Delivery Options

Choose the delivery method that best fits your infrastructure:

Webhook

Best for: Custom endpoints, serverless functions, simple integrations

{
"deliveryConfig": {
"type": "webhook",
"url": "https://your-domain.com/property-events",
"headers": {
"X-Custom-Header": "your-value"
}
}
}

AWS Kinesis Data Streams

Best for: AWS-native applications, high-volume data processing

{
"deliveryConfig": {
"type": "kinesis",
"streamName": "your-kinesis-stream",
"region": "us-west-2",
"iamAccessKeyId": "your-access-key-id",
"iamSecretAccessKey": "your-secret-access-key"
}
}

Azure Event Hubs

Best for: Azure-native applications, Microsoft ecosystem integrations

Option A: Connection String

{
"deliveryConfig": {
"type": "event-hub",
"eventHub": {
"connectionString": "Endpoint=sb://your-namespace.servicebus.windows.net/;SharedAccessKeyName=your-key-name;SharedAccessKey=your-key",
"eventHubName": "your-event-hub"
}
}
}

Option B: Service Principal (Azure AD)

{
"deliveryConfig": {
"type": "event-hub",
"eventHub": {
"fullyQualifiedNamespace": "your-namespace.servicebus.windows.net",
"clientId": "your-azure-ad-client-id",
"tenantId": "your-azure-ad-tenant-id",
"clientSecret": "your-client-secret",
"eventHubName": "your-event-hub"
}
}
}

Search Criteria

The searchCriteria field uses the same format as the Property Search API.

Common examples:

// Geographic search
{
"searchCriteria": {
"query": "Los Angeles, CA"
}
}

// With quick list filters
{
"searchCriteria": {
"query": "Miami, FL",
"orQuickLists": ["pre-foreclosure", "auction"]
}
}

// With property attributes
{
"searchCriteria": {
"query": "Austin, TX",
"bedrooms": { "min": 3, "max": 5 },
"bathrooms": { "min": 2 },
"estimatedValue": { "min": 200000, "max": 500000 }
}
}

Managing Subscriptions

List All Subscriptions

curl -X GET "https://api.batchdata.com/api/v2/property-subscription" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Get Subscription Details

curl -X GET "https://api.batchdata.com/api/v2/property-subscription/AbCdEfGhIjKlMnO" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Delete a Subscription

curl -X DELETE "https://api.batchdata.com/api/v2/property-subscription/AbCdEfGhIjKlMnO" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Note: Subscriptions cannot be modified after creation. To change a subscription's search criteria or delivery configuration, delete it and create a new one.


Service Limits

Limit

Default

Notes

Subscriptions per account

5

Contact support to request increase

Properties per subscription

5 million

At time of creation

Delivery retry attempts

4

Uses exponential backoff


Important Considerations

Event Content

Events identify properties by ID only—they don't include the full property data. This design:

  • Reduces delivery costs

  • Improves scalability

  • Optimizes processing throughput

Use the Property Lookup API to retrieve complete property details.

What Changed?

Events indicate that a property was added to or removed from your subscription criteria, but don't specify which data fields changed. If you need field-level change tracking, compare the current property data against your previously stored version.

Delivery Reliability

We use an exponential backoff retry strategy with up to 4 attempts. If your endpoint is unavailable after all retries, the event will not be delivered.

Your responsibility: Ensure your receiving infrastructure (webhook endpoint, Kinesis stream, or Event Hub) maintains high availability.

Billing

  • One-time setup fee for subscription provisioning

  • Property Lookup API calls are billed separately at standard rates


API Reference

Endpoint

Method

Description

/api/v2/property-subscription

POST

Create a subscription

/api/v2/property-subscription

GET

List all subscriptions

/api/v2/property-subscription/{id}

GET

Get subscription details

/api/v2/property-subscription/{id}

DELETE

Delete a subscription

Full API documentation: Property Subscription API Reference


Need Help?

Did this answer your question?