Zillow Vision Assessor avatar

Zillow Vision Assessor

Pricing

$50.00 / 1,000 property analyzeds

Go to Apify Store
Zillow Vision Assessor

Zillow Vision Assessor

Scrape Zillow properties and enrich the data with AI-generated condition scores, damage detection, and room summaries.

Pricing

$50.00 / 1,000 property analyzeds

Rating

0.0

(0)

Developer

Jorge Rodriguez Ramos

Jorge Rodriguez Ramos

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

🏡 Zillow Vision AI: Property Condition Assessor

Stop manually clicking through hundreds of listing photos to find your next flip.

This Actor takes standard Zillow listing URLs, safely bypasses anti-bot protections to extract the high-resolution images, and feeds them into a custom Vision AI Model to automatically assess the physical condition of the property.

Whether you are looking for heavily distressed properties or turnkey homes, this API gives you structured data on the exact state of the house.

✨ Key Features

  • 🤖 AI Damage Detection: Automatically flags explicit, severe property damage (abandonment, heavy debris, broken windows, and major structural decay).
  • 📊 Condition Scoring: Grades rooms on a 1-10 condition rating scale.
  • 🕰️ Outdated Feature Detection: Identifies unrenovated kitchens, old wood paneling, and vintage bathrooms.
  • ⚡ Batch Processing: Input hundreds of URLs at once; the AI processes the imagery concurrently.
  • 🛡️ Bulletproof Scraping: Built-in anti-bot bypass ensures you actually get the data.

🎯 Who is this for?

  • Wholesalers & Flippers: Instantly filter lists of hundreds of properties down to only those that need total renovations.
  • Real Estate Investors: Filter out move-in-ready homes when looking for value-add opportunities in specific zip codes.
  • PropTech Developers: Enrich your own real estate CRMs and databases with proprietary AI condition metadata.

💰 Pricing

This Actor operates on a Pay-Per-Event (PPE) model. You are charged $0.05 per successfully analyzed property.

  • Zero risk: If a listing has been removed, has no photos, or fails to analyze, you are not charged for that property.

📥 Input

The Actor accepts a simple JSON object containing an array of Zillow URLs.

{
"zillow_urls": [
"https://www.zillow.com/homedetails/3131-Cloister-Ln-Dayton-OH-45449/34996402_zpid/",
"https://www.zillow.com/homedetails/13921-Gildea-Rd-Belgrade-MO-63622/124384544_zpid/"
]
}

📤 Output Example (Turnkey vs. Distressed)

The Actor outputs clean, highly structured JSON. Because it evaluates images individually, you can easily write scripts to filter properties based on their worst rooms.

Here is a real example showing how the AI contrasts a modern, move-in ready home with an abandoned, distressed property:

[
{
"listing_url": "https://www.zillow.com/homedetails/3131-Cloister-Ln-Dayton-OH-45449/34996402_zpid/",
"address": "3131 Cloister Ln Dayton Oh 45449",
"total_images_scraped": 10,
"vision_analysis": [
{
"condition_rating": 7,
"features": ["granite_counters"],
"is_outdated": false,
"visible_damage_detected": false,
"room_detected": "kitchen",
"raw_vlm_summary": "This image shows a modern kitchen with white cabinets and gray countertops. The walls are painted in a light blue color and the floor is made of light-colored wood. The kitchen has a built-in oven and a dishwasher. The overall style of the kitchen is clean and minimalistic.",
"source_url": "https://photos.zillowstatic.com/fp/c86047efab19a42f80e6b031d465f568-uncropped_scaled_within_1536_1152.jpg"
}
]
},
{
"listing_url": "https://www.zillow.com/homedetails/13921-Gildea-Rd-Belgrade-MO-63622/124384544_zpid/",
"address": "13921 Gildea Rd Belgrade Mo 63622",
"total_images_scraped": 10,
"vision_analysis": [
{
"condition_rating": 2,
"features": [],
"is_outdated": true,
"visible_damage_detected": true,
"room_detected": "exterior",
"raw_vlm_summary": "The image shows a single-story building with a corrugated metal roof and a covered porch. The building appears to be old and dilapidated, with peeling paint and broken windows. The overall scene is desolate and abandoned.",
"source_url": "https://photos.zillowstatic.com/fp/ce78500bd71ddff591775637d3d45986-uncropped_scaled_within_1536_1152.jpg"
},
{
"condition_rating": 4,
"features": [],
"is_outdated": false,
"visible_damage_detected": true,
"room_detected": "interior",
"raw_vlm_summary": "The image shows an abandoned room with a ceiling fan hanging from the wooden beams. The walls are covered in peeling paint and the floor is covered in debris. The room appears to be in a state of disrepair, with broken windows and debris covering the walls and ceiling.",
"source_url": "https://photos.zillowstatic.com/fp/e2b0501840347b36cf80541b5c20dac7-uncropped_scaled_within_1536_1152.jpg"
}
]
}
]

💻 API Integration

You can trigger this Actor from your own applications using Apify's REST API. Apify will wait for the RunPod AI to finish and return the final dataset.

Python Example:

import requests
url = "https://api.apify.com/v2/acts/YOUR_USERNAME~zillow-vision-assessor/run-sync-get-dataset-items"
params = {"token": "YOUR_APIFY_API_TOKEN"}
payload = {
"zillow_urls": [
"https://www.zillow.com/homedetails/13921-Gildea-Rd-Belgrade-MO-63622/124384544_zpid/"
]
}
response = requests.post(url, params=params, json=payload)
properties = response.json()
for prop in properties:
print(f"Assessed {prop['address']}")
for room in prop['vision_analysis']:
if room['visible_damage_detected']:
print(f"⚠️ Damage found in {room['room_detected']}!")