API Reference › Property Monitors
Create a Monitor
POST /v1/api/property-monitors/
Cost: Free to create. Each run charges 25 credits per new property it delivers.
Rate limit: 60 requests per minute per account.
Mode: Sync. Runs happen later on the schedule you choose.
A Monitor turns a lead-list configuration into a recurring, self-running subscription. On each scheduled run — daily or weekly, your choice — it computes the delta, matching properties in our property database that it hasn't delivered to you before, skip traces only those new ones, and delivers them as a CSV + webhook. If nothing new matched that run, nothing is delivered and nothing is charged.
Billing: 25 credits per new delivered lead, you only pay when new matching properties are found. A day with zero new matches costs zero.
Two ways to create (send exactly one form):
- From a saved template: pass template_id. The template's strategy + geography + overrides are snapshotted onto the Monitor at creation, so later editing or deleting the template never changes what the Monitor delivers.
- Inline: pass strategy + geography (+ optional filter_overrides), exactly like /execute/.
Sending both forms, or neither, returns 400. Up to 5 active monitors per account (higher limits for enterprise/reseller accounts on request).
Market size limit: a monitor can track up to 5,000 matching properties. If your strategy + geography matches more than that, creation returns 400, narrow it (a tighter area, an equity band, a price range, or a property type).
First run: on creation we snapshot everything that already matches as your baseline, those existing properties are *not* delivered or charged. From then on you only receive properties that become new matches *after* you subscribed (a saved-search “new since” alert).
When a Monitor delivers, Tracerfy POSTs to your account webhook_url with a lead_list payload carrying monitor_id / monitor_name, non-null only for monitor deliveries, so you can tell them apart from one-shot lists and route them. The payload hands you both URLs directly: download_url for the CSV, and rows_url to pull structured rows as JSON, no second call to figure out where to pull. Example payload:
{
"id": 8123,
"type": "lead_list",
"name": "Monitor: Phoenix High-Equity Absentee, Jul 20, 2026",
"strategy": "high_equity_absentee",
"monitor_id": 12,
"monitor_name": "Phoenix High-Equity Absentee",
"created_at": "2026-07-20T11:31:02Z",
"completed_at": "2026-07-20T11:34:18Z",
"pending": false,
"download_url": "https://tracerfy.nyc3.cdn.digitaloceanspaces.com/tracerfy/monitor_phoenix-high-equity-absentee_2026-07-20_a1b2c3d4.csv",
"rows_url": "/v1/api/property-search/8123/rows/",
"requested_count": 500,
"actual_count": 37,
"credits_deducted": 925
}
Related endpoints: List Monitors · Get a Monitor · Delete a Monitor
Fields
template_id: Clone criteria from one of your saved templates. Mutually exclusive with the inline fields below.
strategy: Inline form: preset key(s) from GET /filters/. Required when not using template_id.
geography: Inline form: same shape as /execute/. Required when not using template_id.
filter_overrides: Inline form: optional filters merged on top of the strategy.
name: Optional label. Defaults to the template's name when created from a template.
frequency: How often the monitor runs: daily or weekly. Defaults to daily.
max_rows_per_run: Cap on new leads delivered per run. Default 500, max 25000.
email_delivery: Email you each delivery's CSV. Defaults to true (independent of your account email preference).
Responses
201: Success.
400: Both forms supplied
403: Account suspended (unpaid invoices)
404: template_id not found (or not yours)
429: Rate limit reached: 60 requests per minute per account.