API Reference
Read-only REST API for Feed plan subscribers. Authenticate with your API key and query scored properties programmatically.
Authentication
Pass your API key in the x-api-key header. You can find your key in the dashboard after subscribing to the Feed plan.
curl -H "x-api-key: YOUR_API_KEY" \
"https://njtaxcheck.com/api/investors/properties?county=ESSEX&minScore=50"Session-based auth (browser cookies) also works if you're calling from the dashboard.
GET /api/investors/properties
Returns a paginated list of scored properties.
Query Parameters
| Param | Type | Default | Description |
|---|---|---|---|
| county | string | (all) | Filter by county. Uppercase, e.g. ESSEX, BERGEN. |
| municipality | string | (all) | Filter by municipality. Uppercase, e.g. NEWARK. |
| minScore | integer | 0 | Minimum motivation score (0-100). |
| newOnly | boolean | false | Only return properties flagged "new this run." |
| absenteeOnly | boolean | false | Only return absentee-owner properties. |
| ownerType | string | (all) | Filter by owner classification: estate, trust, entity, or individual. estate flags inherited / probate properties. |
| vacantOnly | boolean | false | Only return vacant-land or zero-improvement parcels. |
| outOfStateOnly | boolean | false | Only return properties whose owner mailing address is outside NJ. |
| sort | string | motivation_score | Sort field. Options: motivation_score, net_value, last_year_tax, effective_tax_rate, last_changed_at. |
| order | string | desc | Sort order: asc or desc. |
| page | integer | 1 | Page number (1-indexed). |
| limit | integer | 50 | Results per page. Max 500 (Feed plan). |
Example Response
{
"properties": [
{
"pams_pin": "0714_00101_0000_C0001",
"property_location": "123 BROAD ST",
"municipality": "NEWARK",
"county": "ESSEX",
"motivation_score": 87,
"score_over_assessment": 85,
"score_absentee": 100,
"score_tax_burden": 80,
"score_deed_staleness": 60,
"net_value": 245000,
"implied_market_value": 350000,
"assessment_over_market_pct": 18.5,
"effective_tax_rate": 3.42,
"last_year_tax": 12480,
"is_absentee": true,
"owner_name": "SMITH JOHN",
"sale_price": 210000,
"deed_date": "2008-03-15",
"year_constructed": 1965,
"zip5": "07102",
"is_new_this_run": true,
"changed_fields_this_run": [],
"first_seen_at": "2026-06-01T04:00:00Z",
"last_seen_at": "2026-06-01T04:00:00Z",
"last_changed_at": null
}
],
"total": 14723,
"page": 1,
"limit": 50,
"plan": "feed"
}GET /api/investors/export
Returns a CSV file with the same filters as the properties endpoint. Feed plan only. Max 10,000 rows per export.
curl -H "x-api-key: YOUR_API_KEY" \
"https://njtaxcheck.com/api/investors/export?county=ESSEX&minScore=60" \
-o leads.csvScore Components
Each property's motivation_score (0-100) is a weighted combination of four signals. Weights auto-adjust when a signal has no input data (e.g., no sale price for over-assessment).
| Signal | Field | Base Weight | Requires |
|---|---|---|---|
| Over-Assessment | score_over_assessment | 25% | Sale price + county eq. ratio |
| Absentee Owner | score_absentee | 30% | Owner mailing address |
| Tax Burden | score_tax_burden | 25% | Last year tax + net value |
| Deed Staleness | score_deed_staleness | 20% | Deed date |
Rate Limits
API key requests are not rate-limited beyond Vercel's standard function concurrency. If you need bulk access beyond 10,000 rows, use the CSV export endpoint or contact us.