NJ Property Tax Records — MOD-IV Block & Lot Lookup
Pricing
from $16.00 / 1,000 property assessment records
NJ Property Tax Records — MOD-IV Block & Lot Lookup
Look up NJ property tax records by block and lot, address or PAMS PIN. Get assessed values, prior-year tax, deed and last sale from MOD-IV. USD 20 per 1,000.
Pricing
from $16.00 / 1,000 property assessment records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
NJ Property Tax Records looks up New Jersey property tax assessment records from the State's official MOD-IV parcel service and returns each parcel's PAMS PIN, block, lot, address, property class, land, improvement and net assessed values, prior-year tax, deed and last-sale details. It is built for real-estate investors, tax-appeal and appraisal teams, title researchers and GIS analysts, and costs USD 20 per 1,000 records on the FREE tier (USD 0.02 each) plus a USD 0.005 start fee per run.
Owner names are not returned. The State redacts them in this service under Daniel's Law.
How do I look up NJ property tax records by block and lot?
Give the 4-digit municipality code plus the tax block and lot. The prefilled example is a Newark parcel:
{ "municipalityCode": "0714", "block": "702", "lot": "11" }
That returns one record for 718-720 N 8TH ST, Newark, with a net assessed value of USD 214,500 and prior-year tax of USD 8,157.44. If you do not know the code, use county and municipality instead, for example "county": "ESSEX", "municipality": "NEWARK CITY". For a parcel you already know statewide, pass its PAMS PIN:
{ "pamsPin": "0714_702_11", "includeGeometry": true }
Can I search New Jersey property tax records by address?
Yes, within one municipality. address matches text inside the official property location, so N 8TH ST returns every parcel on that street in the selected town, up to maxResults:
{ "county": "ESSEX", "municipality": "NEWARK CITY", "address": "N 8TH ST", "maxResults": 25 }
It is not an owner or mailing-address search.
| Input | Default | Notes |
|---|---|---|
pamsPin | empty | Exact statewide parcel ID such as 0714_702_11. Other filters are ignored when set |
municipalityCode | prefill 0714 | 4-digit county/municipal code. Replaces county plus municipality |
county / municipality | empty | Official names, for example ESSEX and NEWARK CITY. Use both together |
address | empty | Text inside the property location. Needs a municipality |
block / lot / qualifier | prefill 702 / 11 | Exact matches. lot needs block; qualifier needs both, for example C0001 |
propertyClass | empty | MOD-IV class code, for example 2 (residential) or 4A (commercial) |
maxResults | 100 | 1–1,000 records per run |
includeGeometry | false | Adds the parcel polygon in WGS84 longitude/latitude |
A run needs a PAMS PIN, a municipality code, or county plus municipality. Anything else is rejected before a query, with the reason in OUTPUT.
What data do NJ MOD-IV records include?
| Field | What it means |
|---|---|
pamsPin / parcelGuid / objectId | Statewide parcel ID and source identifiers |
municipalityCode / county / municipality | Taxing district |
block / lot / qualifier / additionalLots | Tax-map identity, including lots assessed together |
propertyLocation | Property (situs) address |
propertyClass / propertyUse / buildingClass | MOD-IV classification codes |
landValue / improvementValue / netAssessedValue | Assessed values in USD |
priorYearTax | Prior-year property tax in USD |
buildingDescription / landDescription | Assessor codes such as 2SF2UG and lot size such as 50 X 100 |
calculatedAcres / yearBuilt / dwellings / commercialDwellings | Size and building facts when recorded |
facilityName | Facility name for exempt or commercial parcels, when recorded |
deedBook / deedPage / deedDate | Last recorded deed reference |
salePrice / saleCode | Last recorded sale price and sale code |
parcelLastUpdated / parcelPublicationDate | Source freshness dates |
geometry | Parcel polygon when includeGeometry is on, otherwise null |
sourceUrl / retrievedAt | Exact query URL and UTC retrieval time |
The OUTPUT record gives the outcome (DATA, EMPTY, LIMIT_REACHED, REJECTED or FAILED), the record count, the normalized query and the applied limit.
When should you use it, and when not?
Use it to:
- pull assessed values and prior-year taxes for a list of parcels before a tax appeal or acquisition;
- export a block, a street or one property class in a town for comparison;
- add MOD-IV attributes and parcel polygons to a GIS layer.
Do not use it for:
- owner names or mailing addresses, which the State withholds;
- tax-bill payment status, liens, title or year-by-year history;
- other states' assessor records: use County Property Records API;
- New York City sales: use NYC Property Sales Scraper.
Assessed value is not market value, and parcel polygons are not survey boundaries.
How do I run it from code?
Call the Actor with the id muhammadafzal/nj-property-tax-assessment-lookup.
JavaScript (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/nj-property-tax-assessment-lookup').call({municipalityCode: '0714',address: 'N 8TH ST',propertyClass: '2',maxResults: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((i) => [i.pamsPin, i.propertyLocation, i.netAssessedValue, i.priorYearTax]));
Python (apify-client):
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("muhammadafzal/nj-property-tax-assessment-lookup").call(run_input={"pamsPin": "0714_702_11"},)for item in client.dataset(run.default_dataset_id).iterate_items():print(item["pamsPin"], item["propertyLocation"], item["netAssessedValue"], item["salePrice"])
Use it from an AI assistant
NJ Property Tax Records works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add https://mcp.apify.com/?tools=muhammadafzal/nj-property-tax-assessment-lookup as a server, then ask, for example: "What is the assessed value and last year's property tax for block 702, lot 11 in Newark, NJ?" The agent sees the input schema and the price per record before it runs.
What does the output look like?
Two records from the address search above (retrieved 2026-10-26; sourceUrl shortened):
[{"objectId": 3430276,"pamsPin": "0714_702_11","parcelGuid": "32b86bc3-3646-45b3-9505-c8e7cb3257bb","municipalityCode": "0714","county": "ESSEX","municipality": "NEWARK CITY","block": "702","lot": "11","qualifier": null,"propertyLocation": "718-720 N 8TH ST","propertyClass": "2","propertyUse": null,"landValue": 43800,"improvementValue": 170700,"netAssessedValue": 214500,"priorYearTax": 8157.44,"buildingDescription": "2SF2UG","landDescription": "50 X 100","calculatedAcres": 0.1148,"facilityName": null,"buildingClass": "43","yearBuilt": 1918,"deedBook": "04815","deedPage": "00469","deedDate": "1984-01-06","salePrice": 101000,"saleCode": null,"dwellings": 3,"commercialDwellings": null,"additionalLots": ["12"],"parcelLastUpdated": "2015-07-22","parcelPublicationDate": "2026-03-02","geometry": null,"sourceUrl": "https://maps.nj.gov/arcgis/rest/services/Applications/NJ_TaxListSearch/MapServer/2/query?...","retrievedAt": "2026-10-26T14:30:00.000Z"},{"objectId": 3430279,"pamsPin": "0714_702_16","propertyLocation": "728 N 8TH ST","propertyClass": "2","landValue": 37500,"improvementValue": 120900,"netAssessedValue": 158400,"priorYearTax": 6023.95,"yearBuilt": 1915,"deedDate": "1997-05-30","salePrice": 118000,"saleCode": "Z","dwellings": 2}]
The second item is truncated; every record carries the full field set.
How much does an NJ property tax lookup cost? Pricing
You pay per record returned plus a start fee. Apify platform usage is included. A search with no match pays only the start fee.
| Event (USD) | FREE | BRONZE | SILVER | GOLD, PLATINUM, DIAMOND |
|---|---|---|---|---|
| Property assessment record | 0.02 | 0.019 | 0.018 | 0.016 |
| Actor start, per started GB of allocated memory | 0.005 | 0.005 | 0.005 | 0.005 |
The default memory is 256 MB, so each run has one start event.
- One parcel (the prefilled lookup), FREE tier: USD 0.005 + 0.02 = USD 0.025.
- 1,000 records, GOLD tier: USD 0.005 + 1,000 × 0.016 = USD 16.005.
If your run's spending cap allows fewer records than maxResults, the Actor lowers the query limit first and reports LIMIT_REACHED.
FAQ
Is this official New Jersey data?
Yes. Records come from the State of New Jersey's public MOD-IV tax-list parcel layer. Check critical values with the municipal tax assessor.
Why are owner names missing?
The State redacts owner names in its hosted parcel and tax-list products under Daniel's Law, so the Actor cannot return them.
What is a PAMS PIN?
The statewide parcel ID: municipality code, block and lot joined by underscores, for example 0714_702_11, with a qualifier added when one exists.
Can I get every parcel in a town?
Yes, up to 1,000 per run. Use municipalityCode with propertyClass or address to split larger towns into runs.
Does it show tax history or sales history?
No. Each record has the prior-year tax and the last recorded deed and sale only.
How fresh is the data?
Each record carries the State's parcelPublicationDate; the sample above was published 2026-03-02.
Related Actors
- NYC Property Sales Scraper: official New York City sales from the last 12 months.
- County Property Records API: assessor records from supported counties in other states.
- Building Permits Scraper: Contractor Leads: public permits with project value and contractor details.
- UK Planning Applications Search: council planning records in the UK.
Legal and compliance note
MOD-IV records are public, but follow New Jersey's data terms and Daniel's Law when you combine them with other sources. The output is not a tax bill, appraisal or title report. The Actor uses the State's public service without bypassing access controls and is not affiliated with the State of New Jersey.
Last verified: 2026-10-26