Skip to content

clawmango0/property-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Property Scraper API

Simple backend API for fetching and parsing property listing pages from various real estate sites.

Node.js License: MIT

Why This Exists

Manually checking property listings takes time. This API provides a unified interface to scrape property data from multiple real estate websites, returning structured data that can feed dashboards, databases, or analysis tools.

Quick Start

# Install dependencies
npm install

# Start the server
node server.js

The server starts on http://localhost:3000

API Usage

Scrape a Property Listing

GET http://localhost:3000/api/scrape?url=PROPERTY_URL

Example Request:

http://localhost:3000/api/scrape?url=https://renn.fortworthfocused.com/listing-detail/1177862117/2505-Shady-Ridge-Drive-Bedford-TX

Example Response:

{
  "url": "https://renn.fortworthfocused.com/listing-detail/1177862117/2505-Shady-Ridge-Drive-Bedford-TX",
  "found": true,
  "address": "2505 Shady Ridge Drive",
  "price": "315000",
  "beds": "3",
  "baths": "2",
  "sqft": "1658",
  "source": "Fort Worth Focused"
}

Supported Sites

Site Support Level Notes
Fort Worth Focused ✅ Full Best support, all fields extracted
Your Home Search DFW ✅ Full Good coverage
Zillow ⚠️ Limited Basic fields only
Generic ✅ Best effort Falls back to simple parsing

Integration with Dashboard

Option 1: Local Development

  1. Run the server: node server.js
  2. Note your local IP: ip addr show (e.g., 192.168.1.x)
  3. Update your dashboard config to call http://YOUR_IP:3000/api/scrape

Option 2: Public Exposure

Use ngrok to create a temporary public URL:

ngrok http 3000

Then configure your dashboard to use the ngrok URL.

Project Structure

property-api/
├── server.js       # Express server with scraping endpoints
├── scraper.js      # Page fetching and parsing logic
├── package.json    # Node.js dependencies
└── README.md       # This file

Configuration

No configuration required. The server uses default ports and settings.

To change the port, edit server.js:

const PORT = process.env.PORT || 3000;

Troubleshooting

"Connection refused" errors

  • Ensure node server.js is running
  • Check the correct port (default: 3000)
  • For external access, use your local IP, not localhost

Empty/incomplete data

  • Some sites block scraping; try a different URL
  • Zillow has limited support; consider using Fort Worth Focused instead

Timeout errors

  • Increase timeout in scraper.js
  • Check your internet connection

License

MIT © Claw Mango

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors