ScreenshotNeo

BlogHow-to

How to Extract Real Estate Data From Property Management Marketplaces

Choose an authorized route for each property dataset: a supported export, approved listing feed, or licensed API. Learn how to validate and govern the result.

By the ScreenshotNeo team4 October 202610 min read

Extract real estate data through a route the provider authorizes for your dataset and intended use: a supported account export, an approved listing feed, or a licensed API. First identify who controls the data and whether you need marketplace listings, your own management records, public-record attributes, account information, or marketplace estimates. A public webpage is not permission to scrape it, and API access does not automatically permit bulk downloads, storage, resale, or redistribution.

The steps below explain how to choose and govern an extraction route, with concrete Zillow examples. They do not establish universal export or API procedures for every property management system or marketplace. Confirm current vendor terms, account permissions, and support instructions before implementation.

1. Identify the data and your authority

“Real estate data” can mean several different datasets. Separate them before choosing a technical approach; different fields can have different sources, owners, access controls, and permitted uses.

Dataset Possible route Questions to settle
Listings, pricing, photos, availability, and tours Approved listing feed or vendor-supported integration Are you the listing provider or an authorized property management system? Which fields and update schedule are accepted?
Internal property, owner, tenant, or transaction records Supported reports or account export from your property management vendor Does your account and plan permit the export? Who may access personal information, and how long may it be retained?
Property attributes from public records Approved public-records data API or another authorized source Does the license permit your application, display, caching, storage, and volume?
Marketplace estimates or API property details Documented API, if approved for your application and purpose Which API components and sites are in scope? Are bulk access and retention allowed?
Your own account information Provider privacy portal or personal-data export Does the export actually include the property fields you need?

Write down who controls each dataset, the purpose (such as internal reporting, migration, consumer display, or analytics), the fields required, and whether the result will be shared or redistributed. A route approved for one purpose may not be approved for another.

2. Choose a permissioned extraction route

Use an account export for records managed in your own account

Ask the vendor for current instructions for your account and plan. Confirm the available file formats, fields, date range, pagination or row limits, and whether the export includes sensitive tenant or owner information. Do not assume that another customer’s documentation or a generic service-terms index proves your account has a particular export or API feature.

Use a listing feed for property-to-marketplace syndication

A feed is generally a provider-to-marketplace route: a property manager or property management system sends authorized listing information to a marketplace. Zillow Group describes a free automated rentals feed program for property managers and property management systems. Providers apply and receive approval before feed work; Zillow accepts XML conforming to its Rental Listings Feed Guide or MITS, and says it tests production data before launch. Its page describes testing as typically taking 4–6 weeks and states, “There is no cost to participate in the program.” These details apply to that program and can change; check the current [Zillow Rentals Feed Integrations page](https://www.zillow.com/partners/rentals-feed-integrations/).

Use a licensed API for an approved application

Check the API’s application process, license, components, approved sites, authentication requirements, and field-level terms. Zillow describes its API as available to preapproved licensees. Its API terms constrain presentation, bulk access, retained copies, direct marketing, and separate extraction or reuse. Approval for one API component or site does not establish permission for another use. Review the current [Zillow API terms](https://www.zillow.com/howto/api/Terms.htm) and obtain approval for the exact use.

Use a privacy export only for its stated scope

Zillow says account holders can request a personal-data copy through its Privacy Portal. The process can take up to 45 days to gather and verify the request, and the export may be machine-readable JSON. Zillow specifically excludes property information it receives from public records and other sources, as well as Zestimate data. Therefore this route is an account-data copy, not a general property-data dump. Check the [Zillow personal-data export instructions](https://zillow.zendesk.com/hc/en-us/articles/360050363134-How-do-I-request-a-copy-of-my-personal-data) for current details.

3. Confirm terms before building

Before writing an integration, get answers in writing where the provider requires approval. Record:

  • Who is authorized to access the data and the account, application, or license that grants access.
  • Which fields, properties, locations, and date ranges are in scope.
  • Whether the purpose is internal use, display to consumers, migration, analytics, marketing, or onward distribution.
  • Whether bulk access, local copies, caching, retention, and backups are permitted.
  • Required attribution, display rules, refresh limits, rate limits, and deletion obligations.
  • Authentication, schema, test process, production approval, and support contact.

Public-record status does not mean unrestricted reuse. Zillow’s public-records terms describe access through a Retsly API and SDK, require registration and written approval for the application, and limit access, storage, scraping, and use to the approved purpose. The terms also disclaim guarantees that the data is accurate, complete, or reliable. See the current [Zillow Public Records Data terms](https://www.zillow.com/terms-of-use/public-records/).

For AppFolio and other vendors, check the current contract and account documentation directly. AppFolio’s official general-terms page links separate Core, Plus, and Max terms; that index alone does not establish which export, report, API, or entitlement a particular customer has. The same caution applies to other property management systems and marketplaces. See [AppFolio General Terms of Service](https://www.appfolio.com/general-terms-of-service).

4. Implement the approved specification

Once access and use are confirmed, follow the provider’s schema and integration instructions. For a listing feed, map each source field to the accepted field definition; use stable property and listing identifiers; apply the provider’s required photo, tour, pricing, and availability formats; and submit test data through the provider’s review process. Zillow’s feed program requires integration approval and production-data testing before launch. Do not infer its XML schema from this overview: use the current feed guide or MITS specification provided by the program.

For an API or account export, use the documented authentication and pagination method. Keep credentials outside source code, request only authorized fields, handle rate limits as documented, and avoid retaining responses unless the applicable terms allow it. Do not add scraping as a fallback when an export or API is unavailable. Zillow’s Rental Network advertiser terms prohibit automated scraping or extraction without its written permission, including automated queries such as screen or database scraping, spiders, and crawlers. Review the [Zillow Rental Network terms](https://www.zillow.com/rental-manager/terms/).

5. Validate and govern extracted data

The following are general implementation checks, not a vendor-prescribed universal schema or test suite:

  1. Reconcile volume. Compare exported or received row counts with the source report or feed manifest. Investigate missing pages, rejected records, and duplicates.
  2. Check identifiers. Confirm that property and listing identifiers remain stable across refreshes, and document how a changed or removed listing is represented.
  3. Check field meaning. Validate required fields, data types, currency, dates, time zones, units, and null values. Do not treat similarly named fields from different providers as equivalent without checking definitions.
  4. Measure freshness. Record retrieval time and source update time if available. Flag stale availability and pricing rather than presenting it as current.
  5. Protect personal data. Limit access, use appropriate storage controls, and apply the provider’s retention and deletion rules.
  6. Keep a permissions log. Track the platform, dataset, account or license, approval date, allowed fields and purposes, refresh cadence, retention and display rules, and responsible contact.
  7. Review changes. Recheck terms and approval before adding a new use, destination, dataset, or redistribution path.

6. Common problems and fixes

Problem Likely cause Practical fix
No API credentials or access denied The API requires application approval, the credentials are wrong, or the requested component or site is outside the license. Check credentials and the provider’s approval status. Ask the provider to confirm the exact API component, application, and site; do not work around the restriction by scraping.
Export is missing property attributes or estimates A personal-data export can exclude information sourced from public records and marketplace estimates. Check the export’s documented scope. Request an authorized property-data route for those fields if available.
Feed is rejected or does not go live The feed may not match the required XML guide or MITS, the integration may not be approved, or production testing may be incomplete. Use the provider’s current schema and validation guidance, correct field and format errors, and complete the provider’s integration and production review.
Some records or pages are missing Pagination, filters, account scope, field permissions, or export limits may exclude data. Compare counts and filters with the source, inspect all pages or batches, and ask the vendor what the account is entitled to export.
Data appears stale or inconsistent Refresh cadence differs by source, identifiers may not match, or field definitions may differ. Retain source and retrieval timestamps where permitted, reconcile stable IDs, document field definitions, and confirm the source’s update schedule.
Provider blocks automated requests The method may be unsupported or prohibited, or may exceed documented access limits. Stop automated extraction and request an approved feed, API, export, or written permission. Respect rate and use limits.
Approval or feed testing takes longer than expected Provider review depends on application completeness, integration work, and production data testing. Submit the requested integration details early and plan around the provider’s stated process. Zillow describes feed testing as typically 4–6 weeks; this is not a general SLA for other routes.

7. Performance, reliability, and cost

Choose refresh frequency based on the source’s documented cadence and the business need. More frequent polling does not make the source fresher if it updates slowly, and it can exceed API limits or license terms. For recurring feeds, track delivery time, accepted and rejected records, and source-side updates. For exports, preserve a permitted audit trail and make repeat runs idempotent so the same records do not multiply.

Plan for missing, delayed, or corrected data. Keep the source identifier and retrieval timestamp where allowed, distinguish unavailable values from zero or false, and surface stale data to downstream users. Public-records data may be incomplete or inaccurate; Zillow’s terms expressly disclaim accuracy, completeness, and reliability guarantees.

Costs depend on the specific vendor, account, license, and integration. Zillow says there is no cost to participate in its rentals feed program, but that does not mean its APIs, other property data, or other providers’ integrations are free. Confirm fees and support obligations before estimating operating cost. Include engineering time for field mapping, approval, testing, monitoring, and ongoing term review.

Or skip the browser setup

If you need a screenshot of a listing page as supporting material, [ScreenshotNeo](https://screenshotneo.com) is a website screenshot API and MCP server. It does not replace an authorized feed, export, or API for structured property data. One GET request returns an image or PDF; the ScreenshotNeo docs list request options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://www.zillow.com -o shot.webp
import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://www.zillow.com"},
    timeout=90,
)
r.raise_for_status()
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://www.zillow.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('shot.webp', res);

Cookie and consent banners, newsletter popups, and chat widgets are removed before the shot. Bot checks, blank pages, failed loads, timeouts, and cache hits are never billed; response headers identify the page verdict and billing status. An MCP server lets AI agents use take_screenshot, get_page_info, and capture_pdf. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots. Sign up for 1,000 free screenshots a month, no card required.

Frequently asked questions

Can I scrape publicly visible property listings?

A page being public does not itself authorize automated extraction. Check the platform’s terms and get written permission when required; use a supported API, feed, or export instead.

Does a personal-data download include all property data about me?

Not necessarily. Zillow says its personal-data copy excludes property information received from public records and other sources, and Zestimate data.

Does Zillow’s feed program provide the data I need for my own database?

The cited program describes property managers and systems sending listing data to Zillow. It is a syndication route, not a general-purpose export from Zillow to a developer.

Can I assume my property management platform has an API or export?

No. Availability and permitted use depend on the provider, account, plan, and contract. Ask the vendor for current documentation for your specific account.

Is public-record property data free to store and reuse?

Not by default. A provider may license access and restrict bulk use, caching, storage, display, and purpose. Read the relevant terms and approval.

Sources and scope

This guide uses the official Zillow and AppFolio materials linked above for platform-specific examples. Those sources do not establish procedures for every marketplace or property management vendor. Terms, endpoints, approvals, and account entitlements can change; verify the current documentation and your agreement before building. This guide is general information, not legal advice.