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 a property update causes it to start or stop matching 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
BatchData continuously monitors property updates across the full property dataset. Each time a property receives an update, the service checks that updated property against your subscription's search criteria. You receive an event only when an update changes whether the property matches your criteria: the property either starts matching, or was matching before and no longer does. Updates that do not change a property's match status do not generate an event.
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:
Create a subscription - Define your search criteria and choose how you want to receive updates
We monitor property updates - BatchData watches for updates across the full property dataset and checks each updated property against your criteria
Receive updates - You're notified when an update changes a property's match status:
A property starts matching your search criteria
A property that was matching no longer matches, due to a data change
No event is sent when an update leaves the property's match status unchanged
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:
Endpoint: POST https://api.batchdata.com/api/v2/property-subscription
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",
"building": {
"bedroomCount": { "min": 3, "max": 5 },
"bathroomCount": { "min": 2 }
},
"valuation": {
"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 started or stopped matching 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 |
| POST | Create a subscription |
| GET | List all subscriptions |
| GET | Get subscription details |
| DELETE | Delete a subscription |
Full API documentation: Property Monitoring API Reference
Need Help?
Documentation: developer.batchdata.com
Support: support@batchdata.com
Sales inquiries: Contact us to enable Property Monitoring for your account
