Get Property Detail
curl --request GET \
--url https://scrapebadger.com/v1/realtor/properties/{property_id} \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/realtor/properties/{property_id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/realtor/properties/{property_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/realtor/properties/{property_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/realtor/properties/{property_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/realtor/properties/{property_id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/realtor/properties/{property_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"property_id": "<string>",
"listing_id": "<string>",
"mls_number": "<string>",
"market": "<string>",
"country": "<string>",
"url": "<string>",
"status": "<string>",
"transaction_type": "<string>",
"currency": "<string>",
"list_price": 123,
"list_price_formatted": "<string>",
"list_price_min": 123,
"list_price_max": 123,
"price_per_sqft": 123,
"price_reduced_amount": 123,
"last_sold_price": 123,
"last_sold_date_utc": 123,
"last_sold_date_at": "<string>",
"hoa_fee": 123,
"property_type": "<string>",
"sub_type": "<string>",
"beds": 123,
"baths": 123,
"baths_full": 123,
"baths_half": 123,
"sqft": 123,
"lot_sqft": 123,
"year_built": 123,
"stories": 123,
"garage": 123,
"rooms": 123,
"parking_spaces": 123,
"address": {
"line": "<string>",
"city": "<string>",
"state": "<string>",
"state_code": "<string>",
"postal_code": "<string>",
"country": "<string>",
"neighborhood": "<string>",
"county": "<string>",
"coordinate": {
"lat": 123,
"lon": 123
}
},
"description_text": "<string>",
"primary_photo": "<string>",
"photo_count": 123,
"photos": [
{
"href": "<string>",
"href_high": "<string>",
"href_med": "<string>",
"href_low": "<string>",
"tags": [
"<string>"
],
"description": "<string>"
}
],
"virtual_tours": [
"<string>"
],
"videos": [
"<string>"
],
"flags": {
"is_new_listing": true,
"is_pending": true,
"is_contingent": true,
"is_foreclosure": true,
"is_new_construction": true,
"is_price_reduced": true,
"is_coming_soon": true
},
"tags": [
"<string>"
],
"list_date_utc": 123,
"list_date_at": "<string>",
"last_update_utc": 123,
"last_update_at": "<string>",
"days_on_market": 123,
"agents": [
{
"agent_id": "<string>",
"name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"title": "<string>",
"type": "<string>",
"email": "<string>",
"phones": [
{
"number": "<string>",
"type": "<string>",
"ext": "<string>",
"primary": true
}
],
"photo": "<string>",
"href": "<string>",
"office": {
"name": "<string>",
"email": "<string>",
"href": "<string>",
"logo": "<string>",
"phones": [
{
"number": "<string>",
"type": "<string>",
"ext": "<string>",
"primary": true
}
],
"address": {
"line": "<string>",
"city": "<string>",
"state": "<string>",
"state_code": "<string>",
"postal_code": "<string>",
"country": "<string>",
"neighborhood": "<string>",
"county": "<string>",
"coordinate": {
"lat": 123,
"lon": 123
}
}
},
"broker": "<string>",
"nrds_id": "<string>",
"state_license": "<string>"
}
],
"source_mls_id": "<string>",
"source_mls_name": "<string>",
"open_houses": [
{
"start_utc": 123,
"start_at": "<string>",
"end_utc": 123,
"end_at": "<string>",
"description": "<string>",
"time_zone": "<string>",
"href": "<string>"
}
],
"details": [
{
"category": "<string>",
"text": [
"<string>"
]
}
],
"amenities": [
"<string>"
],
"tax_history": [
{
"year": 123,
"tax": 123,
"assessment_building": 123,
"assessment_land": 123,
"assessment_total": 123
}
],
"price_history": [
{
"date_utc": 123,
"date_at": "<string>",
"event": "<string>",
"price": 123,
"price_per_sqft": 123,
"source_listing_id": "<string>"
}
],
"schools": [
{
"name": "<string>",
"rating": 123,
"education_levels": [
"<string>"
],
"grades": "<string>",
"distance_miles": 123,
"district": "<string>"
}
],
"estimates": [
{
"source": "<string>",
"estimate": 123,
"estimate_high": 123,
"estimate_low": 123,
"date_utc": 123,
"date_at": "<string>"
}
]
}Properties
Get Property Detail
Full detail for a single property — price/tax history, schools, amenities, agents, and estimates.
GET
/
v1
/
realtor
/
properties
/
{property_id}
Get Property Detail
curl --request GET \
--url https://scrapebadger.com/v1/realtor/properties/{property_id} \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/realtor/properties/{property_id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/realtor/properties/{property_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/realtor/properties/{property_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/realtor/properties/{property_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/realtor/properties/{property_id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/realtor/properties/{property_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"property_id": "<string>",
"listing_id": "<string>",
"mls_number": "<string>",
"market": "<string>",
"country": "<string>",
"url": "<string>",
"status": "<string>",
"transaction_type": "<string>",
"currency": "<string>",
"list_price": 123,
"list_price_formatted": "<string>",
"list_price_min": 123,
"list_price_max": 123,
"price_per_sqft": 123,
"price_reduced_amount": 123,
"last_sold_price": 123,
"last_sold_date_utc": 123,
"last_sold_date_at": "<string>",
"hoa_fee": 123,
"property_type": "<string>",
"sub_type": "<string>",
"beds": 123,
"baths": 123,
"baths_full": 123,
"baths_half": 123,
"sqft": 123,
"lot_sqft": 123,
"year_built": 123,
"stories": 123,
"garage": 123,
"rooms": 123,
"parking_spaces": 123,
"address": {
"line": "<string>",
"city": "<string>",
"state": "<string>",
"state_code": "<string>",
"postal_code": "<string>",
"country": "<string>",
"neighborhood": "<string>",
"county": "<string>",
"coordinate": {
"lat": 123,
"lon": 123
}
},
"description_text": "<string>",
"primary_photo": "<string>",
"photo_count": 123,
"photos": [
{
"href": "<string>",
"href_high": "<string>",
"href_med": "<string>",
"href_low": "<string>",
"tags": [
"<string>"
],
"description": "<string>"
}
],
"virtual_tours": [
"<string>"
],
"videos": [
"<string>"
],
"flags": {
"is_new_listing": true,
"is_pending": true,
"is_contingent": true,
"is_foreclosure": true,
"is_new_construction": true,
"is_price_reduced": true,
"is_coming_soon": true
},
"tags": [
"<string>"
],
"list_date_utc": 123,
"list_date_at": "<string>",
"last_update_utc": 123,
"last_update_at": "<string>",
"days_on_market": 123,
"agents": [
{
"agent_id": "<string>",
"name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"title": "<string>",
"type": "<string>",
"email": "<string>",
"phones": [
{
"number": "<string>",
"type": "<string>",
"ext": "<string>",
"primary": true
}
],
"photo": "<string>",
"href": "<string>",
"office": {
"name": "<string>",
"email": "<string>",
"href": "<string>",
"logo": "<string>",
"phones": [
{
"number": "<string>",
"type": "<string>",
"ext": "<string>",
"primary": true
}
],
"address": {
"line": "<string>",
"city": "<string>",
"state": "<string>",
"state_code": "<string>",
"postal_code": "<string>",
"country": "<string>",
"neighborhood": "<string>",
"county": "<string>",
"coordinate": {
"lat": 123,
"lon": 123
}
}
},
"broker": "<string>",
"nrds_id": "<string>",
"state_license": "<string>"
}
],
"source_mls_id": "<string>",
"source_mls_name": "<string>",
"open_houses": [
{
"start_utc": 123,
"start_at": "<string>",
"end_utc": 123,
"end_at": "<string>",
"description": "<string>",
"time_zone": "<string>",
"href": "<string>"
}
],
"details": [
{
"category": "<string>",
"text": [
"<string>"
]
}
],
"amenities": [
"<string>"
],
"tax_history": [
{
"year": 123,
"tax": 123,
"assessment_building": 123,
"assessment_land": 123,
"assessment_total": 123
}
],
"price_history": [
{
"date_utc": 123,
"date_at": "<string>",
"event": "<string>",
"price": 123,
"price_per_sqft": 123,
"source_listing_id": "<string>"
}
],
"schools": [
{
"name": "<string>",
"rating": 123,
"education_levels": [
"<string>"
],
"grades": "<string>",
"distance_miles": 123,
"district": "<string>"
}
],
"estimates": [
{
"source": "<string>",
"estimate": 123,
"estimate_high": 123,
"estimate_low": 123,
"date_utc": 123,
"date_at": "<string>"
}
]
}Path Parameters
string
required
The portal property id. You can find this in search results or extract it from a listing URL.
Query Parameters
string
default:"us"
Which market the property lives in:
us (realtor.com) or ca (realtor.ca).Response
The response is aPropertyDetail object returned at the top level (no wrapper). It contains every field of a search-result Property plus the detail-only fields below.
string
Portal property id.
string
Portal listing id (nullable).
string
MLS number (nullable).
string
Market (
us or ca).string
ISO country code.
string
Full URL to the listing.
string
Listing status (
for_sale, for_rent, sold, pending).string
ISO 4217 currency code.
number
List price (nullable).
string
Human-formatted price (nullable).
number
Price per square foot (nullable).
number
Monthly HOA fee (nullable).
string
Property type (nullable).
integer
Bedrooms (nullable).
number
Bathrooms (nullable).
integer
Interior square footage (nullable).
integer
Lot square footage (nullable).
integer
Year built (nullable).
object
Address with
line, city, state, state_code, postal_code, country, neighborhood, county, and coordinate ({lat, lon}).string
Listing description (nullable).
string
Primary photo URL (nullable).
integer
Total number of photos.
array
Photo objects with
href, href_high, href_med, href_low, tags[], description.array
Virtual tour URLs.
array
Video URLs.
object
Boolean flags:
is_new_listing, is_pending, is_contingent, is_foreclosure, is_new_construction, is_price_reduced, is_coming_soon.integer
Days on market (nullable).
array
Listing agents.
Show Agent object
Show Agent object
string
Agent id.
string
Full name.
string
First name (nullable).
string
Last name (nullable).
string
Title (nullable).
string
Agent type, e.g.
seller, buyer (nullable).string
Email (nullable).
array
Phone objects with
number, type, ext, primary.string
Agent photo URL (nullable).
string
Agent profile URL (nullable).
object
Office with
name, email, href, logo, phones[], address.string
Brokerage name (nullable).
string
NRDS id (nullable).
string
State license number (nullable).
array
Open house objects with
start_utc, start_at, end_utc, end_at, description, time_zone, href.array
array
List of amenity strings.
array
array
Price / listing events over time.
array
array
Example Response
{
"property_id": "1234567890",
"listing_id": "2960000001",
"mls_number": "ACT1234567",
"market": "us",
"country": "US",
"url": "https://www.realtor.com/realestateandhomes-detail/1234567890",
"status": "for_sale",
"currency": "USD",
"list_price": 450000,
"list_price_formatted": "$450,000",
"price_per_sqft": 250,
"hoa_fee": 45,
"property_type": "single_family",
"beds": 3,
"baths": 2,
"sqft": 1800,
"lot_sqft": 6500,
"year_built": 2015,
"address": {
"line": "123 Main St",
"city": "Austin",
"state": "Texas",
"state_code": "TX",
"postal_code": "78701",
"country": "US",
"neighborhood": "Downtown",
"county": "Travis",
"coordinate": { "lat": 30.2672, "lon": -97.7431 }
},
"primary_photo": "https://ap.rdcpix.com/abc/s.jpg",
"photo_count": 32,
"days_on_market": 4,
"agents": [
{
"agent_id": "A1",
"name": "Jane Doe",
"email": "jane@realty.com",
"phones": [{ "number": "512-555-0100", "type": "mobile", "primary": true }],
"office": { "name": "Downtown Realty", "href": "https://www.realtor.com/realestateagency/..." },
"broker": "Downtown Realty Group"
}
],
"details": [
{ "category": "Interior Features", "text": ["Hardwood floors", "Granite countertops"] }
],
"amenities": ["Pool", "Garage"],
"tax_history": [
{ "year": 2024, "tax": 6200, "assessment_building": 300000, "assessment_land": 120000, "assessment_total": 420000 }
],
"price_history": [
{ "date_at": "2026-06-01T00:00:00Z", "event": "Listed", "price": 450000, "price_per_sqft": 250 }
],
"schools": [
{ "name": "Austin Elementary", "rating": 8, "education_levels": ["elementary"], "grades": "K-5", "distance_miles": 0.4, "district": "Austin ISD" }
],
"estimates": [
{ "source": "realtor", "estimate": 455000, "estimate_high": 475000, "estimate_low": 435000, "date_at": "2026-06-20T00:00:00Z" }
]
}
Each property-detail request costs 10 credits. Failed requests are not charged.
Authorizations
Path Parameters
The portal property id.
Query Parameters
Market the property lives in: us (realtor.com) or ca (realtor.ca).
Available options:
us, ca Response
200 - application/json
Property detail
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

