Skip to main content
Back to Blog
Direct Mail MarketingOctober 17, 2026

How to Build a Real Estate Mailing List from MLS Data

W

WriteToMail Team

A direct mail campaign from CSV is only as good as the list behind it. You can have beautiful postcards and compelling copy, but if your addresses are stale, duplicated, or missing key fields, you're burning money on undeliverable mail.

This guide walks you through building a prospect list from MLS exports and county property records, formatting it into a clean CSV, and uploading it to send bulk postcards or letters via WriteToMail. By the end, you'll have a deliverable, deduplicated spreadsheet ready to launch a targeted campaign — no data vendor required.


What You'll Need Before You Start

Prerequisites:

  • MLS access (Matrix, Flexmls, Paragon, or your local system)
  • County assessor or property appraiser website access (free in most states)
  • Microsoft Excel, Google Sheets, or LibreOffice Calc
  • A WriteToMail account for bulk CSV upload and mailing

What you'll achieve:

A formatted CSV with owner names, property addresses, mailing addresses, last sale dates, and estimated values — cleaned, deduplicated, and ready to mail postcards or letters to hundreds of homeowners without leaving your desk.

The payoff is real. According to the Data & Marketing Association, direct mail achieves a median response rate of 9% for house lists — more than five times the average email response rate of 1.6%. For real estate prospecting, that gap matters enormously.


Step 1: Export Your Raw Data from the MLS

Your MLS is the fastest starting point for building a prospect list of recent sellers, active listings, or homes meeting specific criteria.

Log into your MLS platform and run a search based on your campaign goal:

  • Expired listings: Filter by status "Expired" within the last 30–180 days
  • Geographic farm: Filter by subdivision name, ZIP code, or school district
  • Recent sales: Filter by sold date range and price band
  • FSBO/withdrawn: Depending on your MLS, these may appear under withdrawn status

Once your search returns results, look for an Export or Download button — usually near the top of the results grid. Select CSV or Excel format. Most MLS systems let you choose which fields to include in the export.

Fields to select during export:

  • Property address (street, city, state, ZIP)
  • Listing status and status date
  • Last sale/close date
  • Last sale price
  • Property type (SFR, condo, multi-family)
  • Listing agent name (useful for filtering if needed)
  • Square footage and year built (optional, useful for segmentation)

What you won't get from MLS: Owner name and mailing address. MLS data reflects the property, not the titleholder. You'll pull that from county records in Step 2.

Expected outcome: A raw spreadsheet with 50–2,000+ rows of property data, depending on your search criteria.


Step 2: Pull Owner and Mailing Data from County Records

The county assessor (or property appraiser, depending on your state) holds the authoritative record of who owns each parcel and where to mail them. Most county websites offer free parcel search and bulk data downloads.

Two methods:

Method A — Bulk download (faster, best for large lists)

Many counties provide a downloadable parcel file — sometimes updated weekly or monthly. Search "[Your County] assessor parcel data download" or look for a GIS data portal. The file typically includes:

  • Owner name (as it appears on the deed)
  • Owner mailing address (critical — this is where the mail actually goes, not the property address)
  • Assessed value and market value
  • Last transfer date and sale price
  • Property classification

Method B — Manual lookup (better for small targeted lists)

For lists under 200 addresses, you can look up each parcel individually using the county's online search tool. Enter the property address, then copy the owner name and mailing address into your spreadsheet.

Expected outcome: Owner name and mailing address appended to your list. These two fields are what transform a property list into a mailable prospect list.

Expert insight: Always mail to the owner's mailing address, not the property address. For absentee owners, investors, and landlords, those addresses are completely different — and mailing to the property means your piece goes to a tenant, not the decision-maker you want to reach.


Step 3: Combine MLS and County Data into One Spreadsheet

Now you'll merge your two data sources into a single master spreadsheet.

Open a new sheet and create the following column headers in row 1:

Column Field Name Source
A First Name County records
B Last Name County records
C Property Address MLS export
D Property City MLS export
E Property State MLS export
F Property ZIP MLS export
G Mailing Address County records
H Mailing City County records
I Mailing State County records
J Mailing ZIP County records
K Last Sale Date MLS or county
L Last Sale Price MLS or county
M Estimated Value County assessed value
N Property Type MLS export

Use VLOOKUP or a manual paste to combine rows. Match on property address — that's your common key between both datasets.

Splitting owner names: County records often store the owner as "JOHNSON MICHAEL & SARAH" in a single field. You'll want to split this into First Name and Last Name columns for personalization. In Google Sheets:

  • Use =SPLIT(A2, " ") to separate words
  • Then manually clean hyphenated names, trusts ("JOHNSON FAMILY TRUST"), and LLC owners

Expected outcome: A single spreadsheet with all prospect data consolidated into one row per property.


Step 4: Clean Your Data

This step is where most real estate agents cut corners — and where most direct mail campaigns fail. A 2023 study by Melissa Data found that the average business database degrades at roughly 25% per year due to address changes, deaths, and property transfers. That's 1 in 4 records becoming inaccurate every 12 months.

Clean these common issues:

Standardize address formatting

USPS requires addresses in a specific format. Abbreviate street types (Street → ST, Avenue → AVE, Boulevard → BLVD). Remove apartment numbers from the wrong field. Make sure city, state, and ZIP are in separate columns — never combined.

Normalize state to two-letter abbreviation

Some county exports write "California" instead of "CA." Replace with standard two-letter codes throughout.

Fix all-caps names

County records almost always export in ALL CAPS. A postcard addressed to "MICHAEL JOHNSON" looks like a form letter. Use Excel's =PROPER() function or Google Sheets' equivalent to convert "MICHAEL JOHNSON" → "Michael Johnson."

In Excel: =PROPER(A2) applied to your Name columns.

Remove non-mailable records

Flag and delete rows with:

  • Blank mailing addresses
  • Owner listed as a bank, government entity, or "UNKNOWN OWNER"
  • PO Box conflicts where you've verified the owner doesn't exist at that address
  • Properties held by corporate LLCs where you can't identify an individual

Expected outcome: A spreadsheet where every row has a complete, properly formatted name and mailing address.


Step 5: Deduplicate Your List

Running a list from multiple sources — MLS export, county download, CRM export — almost guarantees duplicates. Sending two identical postcards to the same homeowner in one week wastes budget and looks unprofessional.

How to deduplicate in Google Sheets:

  1. Select your entire data range
  2. Go to Data → Data cleanup → Remove duplicates
  3. Check "Mailing Address" and "Mailing ZIP" as the matching columns
  4. Click Remove duplicates

How to deduplicate in Excel:

  1. Select your data range
  2. Go to Data → Remove Duplicates
  3. Check "Mailing Address" and "ZIP" columns
  4. Click OK

Watch for near-duplicates — records that aren't identical but refer to the same household. "123 Main St" and "123 Main Street" will survive deduplication unless you standardize first (Step 4). This is why cleaning before deduplicating matters.

Expected outcome: Each household appears exactly once in your list.


Step 6: Format Your Final CSV for Upload

WriteToMail's bulk mailing upload accepts a CSV file with columns that map directly to your postcard or letter template's variable fields. Getting the column names right saves you time at upload.

Rename your columns to match WriteToMail's expected variable fields:

For postcards and letters with personalization, the most common mappings are:

  • FirstName — recipient's first name (used in salutation)
  • LastName — recipient's last name
  • Address1 — mailing street address
  • City — mailing city
  • State — mailing state (two-letter)
  • ZIP — mailing ZIP code
  • PropertyAddress — subject property's street address (custom variable)
  • LastSaleDate — custom variable for personalized messaging
  • EstimatedValue — custom variable (e.g., "Your home at 123 Main may be worth $485,000")

Custom variable fields let you personalize each piece — "Dear Michael, homeowners in your area sold in an average of 11 days last month" feels nothing like a mass mailer.

Save as CSV:

  • In Google Sheets: File → Download → Comma-separated values (.csv)
  • In Excel: File → Save As → CSV UTF-8 (Comma delimited)

Do a final row count. If you started with 800 rows and ended with 712, that's 88 records removed — expected and healthy. If you lost more than 30%, go back and check your cleaning steps.

Expected outcome: A clean, properly formatted CSV ready to upload to WriteToMail's bulk mailing interface.

Understanding how bulk mail CSV upload and variable data merge works in practice will help you design your postcard template with the right placeholder fields before you upload.


Step 7: Upload to WriteToMail and Send

With your CSV ready, log into WriteToMail and start a new bulk mailing.

  1. Choose Postcard or Letter as your format
  2. Design your piece using the editor — or upload a pre-designed PDF
  3. Insert variable fields from your CSV columns (e.g., {{FirstName}}, {{PropertyAddress}}, {{EstimatedValue}})
  4. Upload your CSV file and map columns to your template's placeholders
  5. Preview a sample merge to verify names and addresses render correctly
  6. Confirm your send — WriteToMail handles printing, postage, and USPS delivery

WriteToMail is SOC 2 compliant, so your prospect data is handled securely throughout the process.

For agents who want to understand the full print-to-delivery workflow before committing to a campaign, this breakdown of how online print-and-mail services work walks through exactly what happens after you hit send.

Expected outcome: Your postcards or letters are in USPS mail stream, addressed to each prospect individually — without touching a printer, a stamp, or a post office.


Common Mistakes to Avoid

Mailing to the property address instead of the mailing address This one is especially costly for absentee owner campaigns. Always use the owner's mailing address from county records.

Skipping name cleaning All-caps names scream "automated mail." Take 10 minutes to run =PROPER() across your name columns. It makes a measurable difference in response rates.

Sending without a control group If you're testing a new list source or offer, hold back 10–15% of your list and don't mail them. Compare your response rate from the mailed group against later organic inquiries from the uncontacted group to measure true lift.

Ignoring do-not-mail requests Real estate direct mail is generally exempt from the National Do Not Call Registry, but if a recipient has explicitly asked not to be contacted, honor it. Keep a suppression list and remove those records before every send.

Uploading without previewing the merge Always review at least 5 merged previews before confirming a bulk send. Field mapping errors — like a ZIP code appearing in the Name field — will affect every single piece in your campaign. A two-minute preview saves an entire campaign.


Next Steps

Your list is the foundation, but the campaign is the lever. Once your CSV is uploaded and your first campaign is live, use these resources to build on what you've started:

  • Scale your farming strategy: Real estate farming by direct mail covers how to set mailing cadence, select your farm area, and track which touches generate listing appointments over 6–12 months.

  • Reach investor-tier prospects: If your list targets absentee owners or tax-delinquent properties, direct mail for real estate investors covers off-market deal sourcing with postcards and yellow letters.

  • Automate recurring campaigns: Agents who mail consistently — not just once — win the farming game. Direct mail automation for small business covers how to set up recurring CSV-based campaigns with minimal ongoing effort.

A well-built mailing list is a business asset. Refresh it quarterly against county records, append new expireds monthly, and suppress anyone who responds with "not interested." The agents who treat their list like a database — not a one-time task — are the ones who dominate their farm areas year after year.


Sources

  1. Data & Marketing Association / ANA - Response Rate Report — Direct mail response rate benchmarks, including 9% median for house lists vs. 1.6% for email
  2. Melissa Data - Data Quality Statistics — Research on database degradation rates (~25% per year due to address changes and transfers)
how-to

Ready to Try Direct Mail?

Create professional letters and we'll print and mail them for you. No stamps, no trips to the post office.