Build comprehensive property databases by collecting listings from multiple real estate platforms. Get pricing, details, images, and more.
Property listings are scattered across dozens of platforms - MLS feeds, real estate portals, broker websites, and classified sites. Building a comprehensive view requires aggregating from all sources.
Each platform has different data formats, access restrictions, and update frequencies. Manual collection is impossible at scale.
Capture every detail from property listings
List price, price history, price per sqft, and estimated values.
Beds, baths, sqft, lot size, year built, and amenities.
All listing photos, virtual tour links, and floor plans.
Listing agent, brokerage, and contact information.
Aggregate property listings in three steps
Identify the real estate platforms and listing pages you want to collect from.
Our AI extracts all property details, photos, and agent info from each listing.
Store structured listing data in your property database or application.
Extract property listing data from any real estate site
curl -G "https://api.webscraping.ai/ai/fields" \
--data-urlencode "api_key=YOUR_API_KEY" \
--data-urlencode "url=https://example-realestate.com/listing/123-main-st" \
--data-urlencode "fields[address]=Full property address" \
--data-urlencode "fields[price]=Listing price as a number" \
--data-urlencode "fields[bedrooms]=Number of bedrooms" \
--data-urlencode "fields[bathrooms]=Number of bathrooms" \
--data-urlencode "fields[sqft]=Square footage" \
--data-urlencode "fields[lot_size]=Lot size" \
--data-urlencode "fields[year_built]=Year the property was built" \
--data-urlencode "fields[property_type]=Type of property (house, condo, etc)" \
--data-urlencode "fields[description]=Property description" \
--data-urlencode "fields[photos]=Array of all photo URLs" \
--data-urlencode "fields[agent_name]=Listing agent name" \
--data-urlencode "fields[agent_phone]=Agent phone number" \
--data-urlencode "fields[days_on_market]=Days the listing has been active"
# Response:
# {
# "address": "123 Main Street, Austin, TX 78701",
# "price": 549000,
# "bedrooms": 3,
# "bathrooms": 2,
# "sqft": 1850,
# "lot_size": "0.25 acres",
# "year_built": 2018,
# "property_type": "Single Family Home",
# "description": "Beautiful modern home...",
# "photos": ["https://...", "https://...", ...],
# "agent_name": "Jane Smith",
# "agent_phone": "(512) 555-0123",
# "days_on_market": 14
# }
# pip install webscraping_ai
# https://pypi.org/project/webscraping-ai/
from webscraping_ai import Client
client = Client(api_key="YOUR_API_KEY")
result = client.fields(
"https://example-realestate.com/listing/123-main-st",
fields={
"address": "Full property address",
"price": "Listing price as a number",
"bedrooms": "Number of bedrooms",
"bathrooms": "Number of bathrooms",
"sqft": "Square footage",
"lot_size": "Lot size",
"year_built": "Year the property was built",
"property_type": "Type of property (house, condo, etc)",
"description": "Property description",
"photos": "Array of all photo URLs",
"agent_name": "Listing agent name",
"agent_phone": "Agent phone number",
"days_on_market": "Days the listing has been active",
},
)
print(result)
# Response:
# {
# "address": "123 Main Street, Austin, TX 78701",
# "price": 549000,
# "bedrooms": 3,
# "bathrooms": 2,
# "sqft": 1850,
# "lot_size": "0.25 acres",
# "year_built": 2018,
# "property_type": "Single Family Home",
# "description": "Beautiful modern home...",
# "photos": ["https://...", "https://...", ...],
# "agent_name": "Jane Smith",
# "agent_phone": "(512) 555-0123",
# "days_on_market": 14
# }
// npm install webscraping-ai
// https://www.npmjs.com/package/webscraping-ai
import { WebScrapingAI } from 'webscraping-ai';
const client = new WebScrapingAI({ apiKey: 'YOUR_API_KEY' });
const result = await client.fields({
url: 'https://example-realestate.com/listing/123-main-st',
fields: {
address: 'Full property address',
price: 'Listing price as a number',
bedrooms: 'Number of bedrooms',
bathrooms: 'Number of bathrooms',
sqft: 'Square footage',
lot_size: 'Lot size',
year_built: 'Year the property was built',
property_type: 'Type of property (house, condo, etc)',
description: 'Property description',
photos: 'Array of all photo URLs',
agent_name: 'Listing agent name',
agent_phone: 'Agent phone number',
days_on_market: 'Days the listing has been active',
},
});
console.log(result);
// Response:
// {
// "address": "123 Main Street, Austin, TX 78701",
// "price": 549000,
// "bedrooms": 3,
// "bathrooms": 2,
// "sqft": 1850,
// "lot_size": "0.25 acres",
// "year_built": 2018,
// "property_type": "Single Family Home",
// "description": "Beautiful modern home...",
// "photos": ["https://...", "https://...", ...],
// "agent_name": "Jane Smith",
// "agent_phone": "(512) 555-0123",
// "days_on_market": 14
// }
<?php
// composer require webscraping-ai/webscraping-ai-php
// https://packagist.org/packages/webscraping-ai/webscraping-ai-php
require 'vendor/autoload.php';
use WebScrapingAI\Client;
$client = new Client('YOUR_API_KEY');
$result = $client->fields('https://example-realestate.com/listing/123-main-st', [
'address' => 'Full property address',
'price' => 'Listing price as a number',
'bedrooms' => 'Number of bedrooms',
'bathrooms' => 'Number of bathrooms',
'sqft' => 'Square footage',
'lot_size' => 'Lot size',
'year_built' => 'Year the property was built',
'property_type' => 'Type of property (house, condo, etc)',
'description' => 'Property description',
'photos' => 'Array of all photo URLs',
'agent_name' => 'Listing agent name',
'agent_phone' => 'Agent phone number',
'days_on_market' => 'Days the listing has been active',
]);
print_r($result);
// Response:
// {
// "address": "123 Main Street, Austin, TX 78701",
// "price": 549000,
// "bedrooms": 3,
// "bathrooms": 2,
// "sqft": 1850,
// "lot_size": "0.25 acres",
// "year_built": 2018,
// "property_type": "Single Family Home",
// "description": "Beautiful modern home...",
// "photos": ["https://...", "https://...", ...],
// "agent_name": "Jane Smith",
// "agent_phone": "(512) 555-0123",
// "days_on_market": 14
// }
# gem install webscraping_ai
# https://rubygems.org/gems/webscraping_ai
require 'webscraping_ai'
client = WebScrapingAI::Client.new(api_key: 'YOUR_API_KEY')
result = client.fields(
'https://example-realestate.com/listing/123-main-st',
fields: {
address: 'Full property address',
price: 'Listing price as a number',
bedrooms: 'Number of bedrooms',
bathrooms: 'Number of bathrooms',
sqft: 'Square footage',
lot_size: 'Lot size',
year_built: 'Year the property was built',
property_type: 'Type of property (house, condo, etc)',
description: 'Property description',
photos: 'Array of all photo URLs',
agent_name: 'Listing agent name',
agent_phone: 'Agent phone number',
days_on_market: 'Days the listing has been active',
}
)
puts result.inspect
# Response:
# {
# "address": "123 Main Street, Austin, TX 78701",
# "price": 549000,
# "bedrooms": 3,
# "bathrooms": 2,
# "sqft": 1850,
# "lot_size": "0.25 acres",
# "year_built": 2018,
# "property_type": "Single Family Home",
# "description": "Beautiful modern home...",
# "photos": ["https://...", "https://...", ...],
# "agent_name": "Jane Smith",
# "agent_phone": "(512) 555-0123",
# "days_on_market": 14
# }
// go get github.com/webscraping-ai/webscraping-ai-go/v4
// https://pkg.go.dev/github.com/webscraping-ai/webscraping-ai-go/v4
package main
import (
"context"
"fmt"
webscrapingai "github.com/webscraping-ai/webscraping-ai-go/v4"
)
func main() {
client, _ := webscrapingai.NewClient(&webscrapingai.Config{APIKey: "YOUR_API_KEY"})
result, _ := client.Fields(context.Background(), &webscrapingai.FieldsOptions{
URL: "https://example-realestate.com/listing/123-main-st",
Fields: map[string]string{
"address": "Full property address",
"price": "Listing price as a number",
"bedrooms": "Number of bedrooms",
"bathrooms": "Number of bathrooms",
"sqft": "Square footage",
"lot_size": "Lot size",
"year_built": "Year the property was built",
"property_type": "Type of property (house, condo, etc)",
"description": "Property description",
"photos": "Array of all photo URLs",
"agent_name": "Listing agent name",
"agent_phone": "Agent phone number",
"days_on_market": "Days the listing has been active",
},
})
fmt.Println(result.Result)
}
// Response:
// {
// "address": "123 Main Street, Austin, TX 78701",
// "price": 549000,
// "bedrooms": 3,
// "bathrooms": 2,
// "sqft": 1850,
// "lot_size": "0.25 acres",
// "year_built": 2018,
// "property_type": "Single Family Home",
// "description": "Beautiful modern home...",
// "photos": ["https://...", "https://...", ...],
// "agent_name": "Jane Smith",
// "agent_phone": "(512) 555-0123",
// "days_on_market": 14
// }
// Maven: ai.webscraping:webscraping-ai:4.0.0
// https://central.sonatype.com/artifact/ai.webscraping/webscraping-ai
import ai.webscraping.Client;
import ai.webscraping.Config;
import ai.webscraping.option.FieldsOptions;
import ai.webscraping.result.FieldsResult;
Client client = new Client(Config.builder().apiKey("YOUR_API_KEY").build());
FieldsResult result = client.fields(FieldsOptions.builder()
.url("https://example-realestate.com/listing/123-main-st")
.addField("address", "Full property address")
.addField("price", "Listing price as a number")
.addField("bedrooms", "Number of bedrooms")
.addField("bathrooms", "Number of bathrooms")
.addField("sqft", "Square footage")
.addField("lot_size", "Lot size")
.addField("year_built", "Year the property was built")
.addField("property_type", "Type of property (house, condo, etc)")
.addField("description", "Property description")
.addField("photos", "Array of all photo URLs")
.addField("agent_name", "Listing agent name")
.addField("agent_phone", "Agent phone number")
.addField("days_on_market", "Days the listing has been active")
.build());
System.out.println(result.getResult());
// Response:
// {
// "address": "123 Main Street, Austin, TX 78701",
// "price": 549000,
// "bedrooms": 3,
// "bathrooms": 2,
// "sqft": 1850,
// "lot_size": "0.25 acres",
// "year_built": 2018,
// "property_type": "Single Family Home",
// "description": "Beautiful modern home...",
// "photos": ["https://...", "https://...", ...],
// "agent_name": "Jane Smith",
// "agent_phone": "(512) 555-0123",
// "days_on_market": 14
// }
// dotnet add package WebScrapingAI
// https://www.nuget.org/packages/WebScrapingAI
using WebScrapingAI;
var client = new WebScrapingAIClient(new WebScrapingAIClientOptions { ApiKey = "YOUR_API_KEY" });
var result = await client.FieldsAsync(new FieldsRequest {
Url = "https://example-realestate.com/listing/123-main-st",
Fields = new Dictionary<string, string> {
["address"] = "Full property address",
["price"] = "Listing price as a number",
["bedrooms"] = "Number of bedrooms",
["bathrooms"] = "Number of bathrooms",
["sqft"] = "Square footage",
["lot_size"] = "Lot size",
["year_built"] = "Year the property was built",
["property_type"] = "Type of property (house, condo, etc)",
["description"] = "Property description",
["photos"] = "Array of all photo URLs",
["agent_name"] = "Listing agent name",
["agent_phone"] = "Agent phone number",
["days_on_market"] = "Days the listing has been active",
},
});
Console.WriteLine(result.Result);
// Response:
// {
// "address": "123 Main Street, Austin, TX 78701",
// "price": 549000,
// "bedrooms": 3,
// "bathrooms": 2,
// "sqft": 1850,
// "lot_size": "0.25 acres",
// "year_built": 2018,
// "property_type": "Single Family Home",
// "description": "Beautiful modern home...",
// "photos": ["https://...", "https://...", ...],
// "agent_name": "Jane Smith",
// "agent_phone": "(512) 555-0123",
// "days_on_market": 14
// }
Build comprehensive listing sites with data from multiple sources
Analyze property values and market trends
Power real estate apps with comprehensive listing data
Track inventory levels, pricing trends, and market dynamics
More real estate solutions
Get started with 1,000 free API credits. No credit card required.