Simple backend API for fetching and parsing property listing pages from various real estate sites.
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.
# Install dependencies
npm install
# Start the server
node server.jsThe server starts on http://localhost:3000
GET http://localhost:3000/api/scrape?url=PROPERTY_URLExample 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"
}| Site | Support Level | Notes |
|---|---|---|
| Fort Worth Focused | ✅ Full | Best support, all fields extracted |
| Your Home Search DFW | ✅ Full | Good coverage |
| Zillow | Basic fields only | |
| Generic | ✅ Best effort | Falls back to simple parsing |
- Run the server:
node server.js - Note your local IP:
ip addr show(e.g.,192.168.1.x) - Update your dashboard config to call
http://YOUR_IP:3000/api/scrape
Use ngrok to create a temporary public URL:
ngrok http 3000Then configure your dashboard to use the ngrok URL.
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
No configuration required. The server uses default ports and settings.
To change the port, edit server.js:
const PORT = process.env.PORT || 3000;- Ensure
node server.jsis running - Check the correct port (default: 3000)
- For external access, use your local IP, not
localhost
- Some sites block scraping; try a different URL
- Zillow has limited support; consider using Fort Worth Focused instead
- Increase timeout in
scraper.js - Check your internet connection
MIT © Claw Mango