Zillow API photos: display image URLs responsibly
Handle Zillow listing photo URLs, empty galleries, changing images, and display permissions without treating API access as an image license.
Photo URLs are references to source images
PropertiesAPI can return imgSrc for the main image and photos as an array of listing image URLs. The service returns source URLs rather than re-hosting the photos. A URL being present does not establish your right to reuse, redistribute or archive the image.
Before building a gallery, establish what your application is permitted to display. Read the source terms and your applicable agreements. For a public-facing product, image rights and attribution need a deliberate decision alongside the technical implementation.
Design for empty and changing galleries
Some properties return no photos. A gallery should show a neutral unavailable state, not a broken image and not a stock photograph that appears to depict the home. Treat photoCount, imgSrc and the array as related fields that still need defensive rendering.
Source URLs can stop working or change. Do not assume a URL is permanent simply because it was returned successfully once. Handle image loading failures separately from API failures so one unavailable image does not make the whole property page unusable.
Reserve space before images load
Set explicit dimensions or an aspect ratio for the gallery frame. This prevents the page from jumping as images arrive. Load below-the-fold images lazily, and avoid downloading the entire gallery on the initial page view.
Use meaningful alternative text without inventing room descriptions. If you do not know what the photo depicts, “Property listing photo” is safer than “Renovated kitchen.” Add specific text only when a trustworthy caption or human review supports it.
<img
src="AUTHORIZED_SOURCE_IMAGE_URL"
alt="Property listing photo"
width="800"
height="600"
loading="lazy"
referrerpolicy="no-referrer"
/>Keep remote image requests predictable
Only render validated HTTPS URLs from the expected image sources. If your application adds a server-side image proxy, restrict allowed hosts and block requests to private network addresses. Otherwise an image convenience feature can become an unrestricted fetch endpoint.
Loading an image directly from another host makes a browser request to that host. Review referrer behavior and explain third-party image loading in your privacy information. The no-referrer attribute suppresses the referring page URL, but does not make the request invisible to the image host.
Do not confuse retrieval with permission
A successful API request answers whether image references were returned. It does not answer who owns the image, whether you can store copies, how long you can display it, or what attribution is required. Keep those checks separate.
If you have permission to cache images, define expiration and removal behavior. If you only have permission to link or display them in a particular context, keep the implementation within that scope. Avoid describing a gallery as an unrestricted photo download tool.
Test the uncomfortable cases
Test an empty array, a failed image URL, duplicate URLs and a very long gallery. Verify keyboard access for any carousel controls. Provide a clear way to reach the source property page where appropriate.
Keep identity checks in place when attaching photos to your own property records. A beautiful gallery for the wrong home is still a data error. Retain the source property ID and collection timestamp with the image references so the gallery can be traced back to the lookup.
Sources and documentation
Product details checked against the linked documentation on October 21, 2026. Code and sample inputs are illustrative unless stated otherwise.
- PropertiesAPI property endpoint and response fields
- Data rights and permitted use
- Acceptable Use Policy
Written by PropertiesAPI, an independent property data service. We are not affiliated with Zillow. Source data may be incomplete or change over time.