What Is a Property Data Report? What's Inside, Sample, and How to Get One

Al Amin/ Author17 min read
What Is a Property Data Report? What's Inside, Sample, and How to Get One

"Property data report" is two different things wearing the same name, and the search results don't tell you which one you've found. To a title company or a data vendor it's a compiled record of one parcel: who owns it, what it sold for, what it's taxed at, what's owed on it. To a mortgage lender it's a specific document defined by Fannie Mae and Freddie Mac, filled in by a trained collector who walks through the house so an appraiser doesn't have to. Ask for one when you meant the other and you'll either get a four-dollar PDF or a confused underwriter.

This guide is the plain-language version. It defines both meanings, walks through what's actually inside a property data report section by section (with where each section's data comes from, which is the part that matters), shows you what a sample looks like, compares free and paid ways to get one with prices read from the vendors' own pages on August 22, 2026, and ends with a script that assembles one from an API. If you're a developer who already knows all that and wants the schema and provenance design, our developer's guide to property data reports is the companion piece; this one is for everyone who had to look the phrase up.

The plain definition

A property data report is a document that gathers everything on record about a single property into one place. The "on record" part is the definition: the report doesn't invent anything, it collects what a county recorder, a tax assessor, a permit office, a listing service, and a valuation model have each separately written down about the same address, and lines them up so a person can read them in ten minutes instead of a week. Buyers order one before an offer, investors before an underwriting, lenders before a loan, and title companies before a closing. In the UK the nearest equivalent is the Land Registry title register; in Australia it's a Cotality (formerly CoreLogic) RP Data property report.

The thing most explanations skip: a property data report is only as good as its worst section. The ownership record might be current to last week. The assessed value might be two years old by design. The "estimated value" might be a model that has never seen the inside of the house. A report presents them side by side with equal typographic confidence, and the reader's job is to know which sections to trust for what. That's what the rest of this post is for.

The other meaning: the lender's PDR

If you arrived here from a mortgage context, "Property Data Report" (usually capitalized, usually abbreviated PDR) means something narrower. Freddie Mac describes it as the product of property data collection, "completed by trained property data collectors," used to inform alternative collateral valuation options, and is explicit that it's not an appraisal and doesn't involve an opinion of value. Fannie Mae's equivalent is the value acceptance + property data option, which requires interior and exterior data collection, photos, and a floor plan to the ANSI standard, submitted through Fannie's Property Data API, after which "an appraisal is not required." Freddie publishes an un-gated sample PDR, and it looks nothing like a vendor property report: room-by-room floors, walls, condition, and photo placeholders; kitchen appliances; heating and cooling; foundation, roof age, windows, utilities. It's a condition inventory, not a records search. The two documents share a name and almost nothing else.

What's inside a property data report

Infographic of the seven sections inside a property data report: ownership (owner of record and deed history), valuation (automated estimate and range), comps (recent nearby sales), tax (assessed value and tax history), permits (work done and pending), liens (mortgages and claims on title), and rent estimate (what it would rent for)

Vendors slice it differently (First American's Property Detail Report uses five headings, PropertyShark's uses eight), but the same seven kinds of information show up in nearly every report. For each, here's what it contains, where it actually comes from, and how fresh it tends to be.

SectionWhat it containsWhere the data really comes fromHow stale it can be
OwnershipOwner of record, vesting (individual, trust, LLC), mailing address, occupancy, and the chain of deeds with dates, prices, grantors, and granteesThe county recorder's deed filings (NYC's ACRIS, for instance, covers recorded documents from 1966 to the present for four boroughs)Current to the last recording, typically days to weeks behind a closing
Property characteristicsLiving area, beds and baths, year built, lot size, stories, construction, zoning, legal description, parcel numberThe assessor's records, occasionally corrected by listing dataYears; assessors don't re-measure until a permit or a sale triggers it
ValuationAn automated valuation model (AVM) estimate, sometimes with a range or confidence scoreA statistical model. Fannie Mae's glossary defines AVMs as "statistically based computer programs that use real estate information, such as comparable sales, property characteristics, tax assessments, and price trends, to provide an estimate of value"Fresh (models rerun often) but blind: no one has seen the interior
ComparablesRecent nearby sales of similar homes: address, sale date, price, size, distanceRecorder data and MLS sold records. Fannie Mae's appraisal rules ask for at least three closed comps, preferably within the last 12 months, with similar physical and legal characteristicsAs fresh as the source; sold records lag closings by days to weeks
Tax and assessmentAssessed land and building values, tax class, exemptions, annual tax amount, and an assessment historyThe county assessor and treasurer; the same portals you can search yourself (Los Angeles, Harris County, Maricopa all run public lookups)Annual cycle; assessed value is often deliberately below market
PermitsBuilding permits issued and pending: additions, roofs, electrical, demolitionsCity building departments; big cities publish open data (Chicago's permit dataset runs from 2006 and updates daily)Good where the city publishes; absent in many smaller jurisdictions
Liens and mortgagesOpen mortgages with lender and original amount, releases, tax liens, HOA liens, foreclosure and pre-foreclosure filingsRecorder filings again, plus court records for involuntary liensRecording-dependent; a "no liens" result is only as complete as the indexes searched
Rent estimateWhat the property would rent for, sometimes with a rangeA model over listing data; for a public benchmark, HUD publishes Fair Market Rents at the 40th percentile of gross rents by areaFresh but modeled; check it against live rental listings
Hazards and contextFlood zone, climate risk, school assignments and ratings, walkability, neighborhood statsFEMA's Flood Map Service Center for flood zones; First Street Foundation and similar for climate; GreatSchools for ratings; Census ACS for demographicsFlood maps change rarely; school ratings annually

Two sections deserve a warning label. First, an AVM is not an appraisal, and the regulators say so in writing. The federal Interagency Appraisal and Evaluation Guidelines state that the result of an AVM, by itself or signed by an appraiser, is not an appraisal, and a 2024 interagency rule now requires lenders to put quality controls around the models they use. The number is useful for a first filter and dangerous as a last word; our guide to property valuation methods covers how the three approaches differ. Second, the liens section is where "I'll just check it myself" goes wrong. A lien search is an index search, and indexes have gaps, name variants, and documents recorded against the wrong parcel. That's why title insurance exists. This short explainer from a real estate attorney covers what a title search actually involves:

Video: the title search process explained by a real estate lawyer

What a sample looks like

The cheapest real example is First American's Property Detail Report, the classic title-company "property profile." It sells for $4.00 a la carte and organizes itself into five blocks: Owner and Vesting Information (names, mailing address, occupancy, transfers, vesting); Property Characteristics (living area, beds and baths, year built, lot, improvements); Sales and Transfer History (last market sale, price history, conveyance details, mortgage recording info); Tax and Assessment Information (assessed values, tax amounts, parcel and tax IDs, assessment history); and Location and Site Details (legal description, APN, neighborhood, nearby schools, zoning). First American's store also links un-gated sample PDFs for that report and its TotalView, Sales Comparables, and AVM reports, which are worth five minutes if you've never held one.

Here's the same structure as a developer would want it, which is also the shape the script at the end of this post produces. Values are placeholders; the point is the sections and the provenance field on each, because a report without sources is a rumor with a logo:

{
  "subject": { "address": "123 Example St, Springfield, ST 00000", "parcel": "000-000-000", "asOf": "2026-08-22" },
  "ownership":   { "source": "county recorder", "ownerOfRecord": "…", "vesting": "…", "deeds": [ { "date": "…", "price": 0, "grantor": "…", "grantee": "…" } ] },
  "characteristics": { "source": "county assessor", "beds": 3, "baths": 2, "sqft": 1710, "yearBuilt": 1962, "lotSqft": 6000, "zoning": "R1" },
  "valuation":   { "source": "AVM", "estimate": 0, "low": 0, "high": 0, "note": "model estimate; not an appraisal" },
  "comps":       { "source": "sold records", "sales": [ { "address": "…", "soldDate": "…", "price": 0, "sqft": 0, "distanceMi": 0.3 } ] },
  "tax":         { "source": "county assessor", "assessedLand": 0, "assessedImprovements": 0, "annualTax": 0, "exemptions": [] },
  "permits":     { "source": "city building dept", "items": [ { "issued": "…", "type": "…", "status": "…" } ] },
  "liens":       { "source": "county recorder", "openMortgages": [ { "lender": "…", "amount": 0, "recorded": "…" } ], "involuntary": [] },
  "rent":        { "source": "rental model", "estimate": 0, "benchmark": "HUD FMR for the area" },
  "hazards":     { "flood": { "source": "FEMA", "zone": "…" }, "climate": { "source": "First Street", "flood": 0, "fire": 0, "wind": 0, "heat": 0 } }
}

Notice the "asOf" date at the top and a "source" on every section. Two vendors will give you the same address with different square footage, and without provenance you can't tell which one to believe. Ask me how I know.

How to get one: free, paid, or generated

There are three honest routes, and the right one depends on whether you need one report or a thousand.

Route 1: assemble it yourself from public records (free, slow)

Everything in the ownership, tax, permit, and lien sections is public in the US, and most of it is online.

  • Assessor portals for characteristics, assessed value, and tax history: the Los Angeles County Assessor Portal (search by address or AIN), the Harris Central Appraisal District for Houston, and the Maricopa County Assessor for Phoenix (1.8 million parcels) are typical. Every county has one; some are excellent and some are a 1998 form with a CAPTCHA.

  • Recorder portals for deeds and liens: NYC's ACRIS lets you view recorded document images for Manhattan, Queens, the Bronx, and Brooklyn back to 1966. Many counties charge per image.

  • Permit data where the city publishes it: Chicago's building permits dataset is searchable by address and updated daily.

  • Hazards and context: FEMA's Flood Map Service Center is the official source for flood zones; HUD Fair Market Rents give a public rent benchmark with a free API; the Census ACS covers ownership rates, incomes, and demographics.

Budget an hour or two per property, more if the county's recorder isn't online. For one house you're buying, that hour is well spent. For a portfolio it isn't, and that's what the other two routes are for. In England and Wales, the whole of route 1 collapses into one £7 title register from HM Land Registry, which tells you who owns it, what they paid (where available), rights of way, and whether a mortgage has been discharged.

Route 2: buy one (cheap, fast, one at a time)

Prices below are from each vendor's public pricing page as of August 22, 2026. Several vendors have rebranded or consolidated in the past year, so old articles quote products that no longer exist (CoreLogic's RealQuest page now 404s; its successor is Property Intelligence on Araya under the Cotality name, with no public price).

ProductWhat you getPriceSetupLimitations
First American DataTree, Property Detail ReportOwner and vesting, characteristics, last two market sales, mortgage recordings, tax and assessment, legal and site details$4.00 per report (TotalView with open and involuntary liens, foreclosure status, HOA, and comps is $22.00; Sales Comparables $9.00; AVM $15.00; subscriptions from $25 a month)Create an account, pay per reportPublic-record sections only; no rent estimate or climate data
PropertyShark, Property ReportOwnership with deed history, overview, sales history, tax and assessment, zoning and FAR, mortgages and liens, building characteristics, map tools; comps are a separate toolOne free report per free account; subscriptions with 175, 200, or 250 reports a month (dollar prices aren't on the pages we could load)Free account for the first oneDeepest in New York and other major markets; "data depth may vary by location"
ATTOM Property NavigatorCharacteristics, owner names and phones, flood, schools, tax and assessment, sales and mortgage history, zoning, equity analysis, comps, AVM, foreclosure search$499 a year for one user, 200 reports a month, 7-day free trialAnnual subscriptionNo monthly plan; professional tool, not a one-off purchase
PropStreamTransaction and tax history, foreclosure details, AVM and comps, mortgage balance, liens, MLS status, vacancy, rental estimate$99 a month (Essentials), $199 (Pro), $699 (Elite); deed and mortgage documents $5 each; 7-day trialMonthly subscriptionBuilt for investor lead lists; overkill for a single property
NeighborWho (consumer)Listings, foreclosure notices, deed records, ownership history, owner contact info$1 for a 7-day trial with 50 searches (or $5 with PDFs), then from $44.86 a monthMinutesCompiled from public sources; explicitly not a consumer reporting agency, so not for tenant or employment screening
HM Land Registry (England and Wales)Title register: owner, price paid where available, rights of way, charges£7 per register or plan; £11 for official copiesMinutes, onlineOwnership and charges only; no valuation, comps, or permits
Cotality RP Data (Australia)Ownership, sales and rental history, IntelliVal AVM estimate, rental estimate, sales and rental CMA, building consent history, digital property reports on higher tiersSubscriptions from AUD 2,159.88 a year including GST (Lite); Base AUD 2,639.88; Premium AUD 2,999.88Annual minimumProfessional subscription; no single-report purchase on the public pages

The pattern: the public-record sections are cheap because the data is public. Four dollars buys ownership, sales, tax, and mortgage history because a vendor already indexed the county. What costs money is volume (ATTOM, PropStream) and the modeled sections (AVM, rent), which is exactly where a human should apply the most skepticism. Yeah… the expensive number is the least certain one.

Route 3: generate it from an API (for more than a handful)

Step-by-step diagram for generating a property data report via API: resolve the address to get the property ID, pull details (beds, baths, size, year built), pull value and comps (estimate plus recent sales), add risk and schools (flood, climate, ratings), and assemble one JSON report object

If you need a report per lead, per listing, or per loan file, you want the sections as JSON from endpoints you can call in a loop. Here's the honest scope of what RealtyAPI covers: the characteristics, valuation, comps, rent, market trend, schools, flood, and climate sections, from the listing portals we return data for. The ownership, tax, permit, and lien sections are county-record data, and for those you'll still use route 1 or route 2 (First American's $4 report is the pragmatic choice). We'd rather say that plainly than have you find out from the response.

The script below builds the portal half of the report for one Redfin listing through RealtyAPI, in Node 18+ with no dependencies. It resolves the listing to its IDs with /basicDetails, pulls the AVM, then adds recently sold homes, schools, climate risk, and market trends for the ZIP. Parameter names are the ones in the docs and playground for each endpoint.

// report.js — assemble the portal-sourced sections of a property data report
const API_KEY = process.env.REALTYAPI_KEY;
const BASE = "https://redfin.realtyapi.io";

const LISTING_URL = process.argv[2]; // e.g. https://www.redfin.com/NY/New-York/.../home/12345678
const ZIP = process.argv[3];         // e.g. 10002
if (!LISTING_URL || !ZIP) {
  console.error("usage: node report.js <redfin-listing-url> <zip>");
  process.exit(1);
}

async function get(path, params) {
  const url = new URL(BASE + path);
  for (const [k, v] of Object.entries(params)) url.searchParams.set(k, String(v));
  const res = await fetch(url, {
    headers: { "x-realtyapi-key": API_KEY },
    signal: AbortSignal.timeout(30_000),
  });
  if (res.status === 401) throw new Error("Bad API key (401)");
  if (res.status === 402) throw new Error("Out of credits (402)");
  if (res.status === 429) throw new Error("Rate limited (429); slow down and retry");
  if (!res.ok) throw new Error(`${path} failed: ${res.status}`);
  return { body: await res.json(), credits: res.headers.get("x-credits-remaining") };
}

async function buildReport() {
  // 1. Resolve the listing to its propertyId / listingId.
  const basics = await get("/basicDetails", { property_url: LISTING_URL });
  const propertyId = basics.body.propertyId;
  const listingId = basics.body.listingId;
  if (!propertyId || !listingId) throw new Error("Could not resolve property/listing IDs");

  // 2. Pull the remaining sections. These don't depend on each other, so run them together.
  const [avm, sold, schools, climate, trends] = await Promise.all([
    get("/avm", { property_id: propertyId, listing_id: listingId }),
    get("/recentlySold", { location: ZIP, count: 10 }),
    get("/schools", { location: ZIP }),
    get("/climateRisk", { location: ZIP }),
    get("/housingMarketTrends", { location: ZIP }),
  ]);

  // 3. Assemble, with a source and an as-of date on every section.
  const asOf = new Date().toISOString().slice(0, 10);
  const report = {
    subject: { listingUrl: LISTING_URL, propertyId, listingId, zip: ZIP, asOf },
    characteristics: { source: "redfin:/basicDetails", data: basics.body },
    valuation: { source: "redfin:/avm", note: "model estimate; not an appraisal", data: avm.body },
    comps: { source: "redfin:/recentlySold", data: sold.body },
    schools: { source: "redfin:/schools (GreatSchools ratings)", data: schools.body },
    hazards: { source: "redfin:/climateRisk (First Street)", data: climate.body },
    market: { source: "redfin:/housingMarketTrends", data: trends.body },
    notCovered: ["ownership", "tax", "permits", "liens"], // county records: see routes 1 and 2
  };
  console.error(`credits remaining: ${trends.credits}`);
  return report;
}

buildReport()
  .then((r) => console.log(JSON.stringify(r, null, 2)))
  .catch((e) => { console.error("report failed:", e.message); process.exit(1); });

Run it and you get one JSON object per listing, six requests against your quota (most endpoints are one credit each; the few that cost more are marked in the playground, per the credits docs). The expected shape of the output is the sample above with the data fields filled from each endpoint's response; the credits line prints to stderr so you can pipe the report to a file:

$ REALTYAPI_KEY=rt_... node report.js "https://www.redfin.com/.../home/12345678" 10002 > report.json
credits remaining: 244

Swap the host for realtor.realtyapi.io and the details endpoint for /details/byaddress (which takes a full street address and costs two credits) if you're starting from an address rather than a listing URL. For the comps section at scale, our guide to running a CMA from an API goes deeper on filtering sold records by distance, size, and date, and the rent estimate guide covers the rent section. The free plan's 250 requests a month is about 40 reports with this script, enough to prototype a product before paying for anything.

Our take: read the sources, not the summary

Every vendor's report opens with a headline number, usually the AVM, and most readers stop there. Flip it. Read the report from the sections with a recorder's stamp toward the sections with a model behind them: ownership and deeds first, then tax and assessment, then permits and liens, then comps, and only then the estimate, which you now have enough context to sanity-check. A $4 Property Detail Report read that way is worth more than a $499-a-year subscription read for the headline.

And if you're building a product that generates these, put the source and the as-of date on every section, not just on the cover. It's the one design choice that separates a property data report from a property data guess, and it costs two fields.

Key takeaways

  • "Property data report" means two things. A compiled public-records profile of a parcel, or the lender's PDR defined by Fannie Mae and Freddie Mac (a condition inventory that replaces an appraisal visit). Know which one you're asking for.

  • The sections have different sources and different shelf lives. Ownership and liens come from the recorder (days old), tax from the assessor (annual), valuation and rent from models (fresh but unverified). Trust accordingly.

  • An AVM is not an appraisal. Federal guidelines say so explicitly, and a 2024 interagency rule requires lenders to quality-control the models. Use the estimate as a filter, not a verdict.

  • Public-record sections are cheap; modeled sections aren't. First American sells ownership, sales, tax, and mortgage history for $4.00; the Land Registry register is £7. Volume and valuation are what cost $99 to $499.

  • For more than a handful, generate the portal half from an API and buy the county half. Characteristics, AVM, comps, schools, flood, climate, and market trends come from endpoints you can loop; ownership, tax, permits, and liens still come from the county or a $4 report.

If you want to try route 3, point the script above at a listing you know on the free plan (250 requests a month, no card), then buy the $4 county report for the same address and lay them side by side. The differences between the two are the most educational thing you'll read about property data this month.