curl --request GET \
--url https://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates \
--header 'x-rapidapi-key: <api-key>'import requests
url = "https://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates"
headers = {"x-rapidapi-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-rapidapi-key': '<api-key>'}};
fetch('https://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates', 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://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates",
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-rapidapi-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://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-rapidapi-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://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates")
.header("x-rapidapi-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-rapidapi-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"cost": 1,
"total": 792,
"has_more": true,
"data": [
{
"zpid": "456346178",
"palsId": "6955001_S1787431",
"id": "456346178",
"rawHomeStatusCd": "ForSale",
"marketingStatusSimplifiedCd": "For Sale by Agent",
"imgSrc": "https://photos.zillowstatic.com/fp/79ae0ba2dffd7afad218b1b9d1499a4a-p_e.jpg",
"hasImage": true,
"detailUrl": "https://www.zillow.com/homedetails/33-221st-Bch-UNIT-1-Breezy-Pt-NY-11697/456346178_zpid/",
"statusType": "FOR_SALE",
"statusText": "Condo for sale",
"countryCurrency": "$",
"price": "$1,200,000",
"unformattedPrice": 1200000,
"address": "33 221st Bch UNIT 1, Breezy Pt, NY 11697",
"addressStreet": "33 221st Bch UNIT 1",
"addressCity": "Breezy Pt",
"addressState": "NY",
"addressZipcode": "11697",
"isUndisclosedAddress": false,
"shouldShowRequestOnPrice": false,
"beds": 4,
"baths": 3,
"area": 2800,
"latLong": {
"latitude": 40.55535,
"longitude": -73.92914
},
"isZillowOwned": false,
"flexFieldText": "Private beach",
"contentType": "homeInsight",
"hdpData": {
"homeInfo": {
"zpid": 456346178,
"streetAddress": "33 221st Bch UNIT 1",
"zipcode": "11697",
"city": "Breezy Pt",
"state": "NY",
"latitude": 40.55535,
"longitude": -73.92914,
"price": 1200000,
"datePriceChanged": 1763539200000,
"bathrooms": 3,
"bedrooms": 4,
"livingArea": 2800,
"homeType": "CONDO",
"homeStatus": "FOR_SALE",
"daysOnZillow": 141,
"isFeatured": false,
"shouldHighlight": false,
"rentZestimate": 4572,
"listing_sub_type": {
"is_FSBA": true
},
"priceReduction": "$195,000 (Nov 19)",
"isUnmappable": false,
"isPreforeclosureAuction": false,
"homeStatusForHDP": "FOR_SALE",
"priceForHDP": 1200000,
"priceChange": -195000,
"timeOnZillow": 12192296000,
"isNonOwnerOccupied": true,
"isPremierBuilder": false,
"isZillowOwned": false,
"currency": "USD",
"country": "USA",
"unit": "Unit 1",
"isShowcaseListing": false
}
},
"pgapt": "ForSale",
"sgapt": "For Sale (Broker)",
"shouldShowZestimateAsPrice": false,
"has3DModel": false,
"hasVideo": false,
"isHomeRec": false,
"hasAdditionalAttributions": true,
"isFeaturedListing": false,
"isShowcaseListing": false,
"relaxed": true,
"brokerName": "Listing by: Douglas Elliman",
"carouselPhotosComposable": {
"baseUrl": "https://photos.zillowstatic.com/fp/{photoKey}-p_e.jpg",
"communityBaseUrl": null,
"photoData": [
{
"photoKey": "79ae0ba2dffd7afad218b1b9d1499a4a"
}
],
"communityPhotoData": null,
"isStaticUrls": false
},
"ma": false,
"isPaidBuilderNewConstruction": false
}
]
}{
"message": "Bad request"
}{
"message": "Invalid API key. Go to https://docs.rapidapi.com/docs/keys for more info."
}{
"message": "You are not subscribed to this API."
}{
"success": false,
"message": "Request failed with status 500: Internal Server Error",
"status_code": 500,
"cost": 0,
"explain": "Oops, it looks like there was an issue processing your request. Don't worry, you won't be charged for this request"
}Search by Coordinates
Search by Coordinates
curl --request GET \
--url https://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates \
--header 'x-rapidapi-key: <api-key>'import requests
url = "https://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates"
headers = {"x-rapidapi-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-rapidapi-key': '<api-key>'}};
fetch('https://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates', 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://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates",
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-rapidapi-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://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-rapidapi-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://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates")
.header("x-rapidapi-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://us-property-data.p.rapidapi.com/api/v1/search/by-coordinates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-rapidapi-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"cost": 1,
"total": 792,
"has_more": true,
"data": [
{
"zpid": "456346178",
"palsId": "6955001_S1787431",
"id": "456346178",
"rawHomeStatusCd": "ForSale",
"marketingStatusSimplifiedCd": "For Sale by Agent",
"imgSrc": "https://photos.zillowstatic.com/fp/79ae0ba2dffd7afad218b1b9d1499a4a-p_e.jpg",
"hasImage": true,
"detailUrl": "https://www.zillow.com/homedetails/33-221st-Bch-UNIT-1-Breezy-Pt-NY-11697/456346178_zpid/",
"statusType": "FOR_SALE",
"statusText": "Condo for sale",
"countryCurrency": "$",
"price": "$1,200,000",
"unformattedPrice": 1200000,
"address": "33 221st Bch UNIT 1, Breezy Pt, NY 11697",
"addressStreet": "33 221st Bch UNIT 1",
"addressCity": "Breezy Pt",
"addressState": "NY",
"addressZipcode": "11697",
"isUndisclosedAddress": false,
"shouldShowRequestOnPrice": false,
"beds": 4,
"baths": 3,
"area": 2800,
"latLong": {
"latitude": 40.55535,
"longitude": -73.92914
},
"isZillowOwned": false,
"flexFieldText": "Private beach",
"contentType": "homeInsight",
"hdpData": {
"homeInfo": {
"zpid": 456346178,
"streetAddress": "33 221st Bch UNIT 1",
"zipcode": "11697",
"city": "Breezy Pt",
"state": "NY",
"latitude": 40.55535,
"longitude": -73.92914,
"price": 1200000,
"datePriceChanged": 1763539200000,
"bathrooms": 3,
"bedrooms": 4,
"livingArea": 2800,
"homeType": "CONDO",
"homeStatus": "FOR_SALE",
"daysOnZillow": 141,
"isFeatured": false,
"shouldHighlight": false,
"rentZestimate": 4572,
"listing_sub_type": {
"is_FSBA": true
},
"priceReduction": "$195,000 (Nov 19)",
"isUnmappable": false,
"isPreforeclosureAuction": false,
"homeStatusForHDP": "FOR_SALE",
"priceForHDP": 1200000,
"priceChange": -195000,
"timeOnZillow": 12192296000,
"isNonOwnerOccupied": true,
"isPremierBuilder": false,
"isZillowOwned": false,
"currency": "USD",
"country": "USA",
"unit": "Unit 1",
"isShowcaseListing": false
}
},
"pgapt": "ForSale",
"sgapt": "For Sale (Broker)",
"shouldShowZestimateAsPrice": false,
"has3DModel": false,
"hasVideo": false,
"isHomeRec": false,
"hasAdditionalAttributions": true,
"isFeaturedListing": false,
"isShowcaseListing": false,
"relaxed": true,
"brokerName": "Listing by: Douglas Elliman",
"carouselPhotosComposable": {
"baseUrl": "https://photos.zillowstatic.com/fp/{photoKey}-p_e.jpg",
"communityBaseUrl": null,
"photoData": [
{
"photoKey": "79ae0ba2dffd7afad218b1b9d1499a4a"
}
],
"communityPhotoData": null,
"isStaticUrls": false
},
"ma": false,
"isPaidBuilderNewConstruction": false
}
]
}{
"message": "Bad request"
}{
"message": "Invalid API key. Go to https://docs.rapidapi.com/docs/keys for more info."
}{
"message": "You are not subscribed to this API."
}{
"success": false,
"message": "Request failed with status 500: Internal Server Error",
"status_code": 500,
"cost": 0,
"explain": "Oops, it looks like there was an issue processing your request. Don't worry, you won't be charged for this request"
}Authorizations
Rapid API Key
Query Parameters
Latitude of the center point for the search area
1"38.876174"
Longitude of the center point for the search area
1"-77.012171"
Page number for pagination
1
Property listing status
for_sale: For Salefor_rent: For Rentsold: Sold
for_sale, for_rent, sold "for_sale"
Sort results by the specified criteria
globalrelevanceex: Homes for Youpriced: Price (High to Low)pricea: Pirce (Low to High)days: Newestbeds: Bedroomsbaths: Bathroomssize: Square Feetlot: Lot Size
globalrelevanceex, priced, pricea, days, beds, baths, size, lot "globalrelevanceex"
list_price_range filter in format min,max
Example 50000,1000000 means price from $50,000 to $1,000,000
"50000,1000000"
Only applicable when listing_status = for_sale
monthly_payment_range filter in format min,max
Example 50000,1000000 means price from $50,000 to $1,000,000
"50000,1000000"
Only applicable when listing_status = for_sale
Down payment is how much you're required to put down on a house is determined by the type of loan you get, but it generally ranges from 3% to 20% of the purchase price of the home
1000
Only applicable when listing_status = for_sale
Monthly payment credit score
CS720_AND_ABOVE: 720 & aboveCS660_719: 660-719CS620_659: 620-659CS580_619: 580-619CS579_AND_BELOW: 579 or below
CS720_AND_ABOVE, CS660_719, CS620_659, CS580_619, CS579_AND_BELOW Filter by minimum number of bedrooms. The value represents the lower bound. For example, if 1 is provided, the query will return properties with 1 or more bedrooms (bedrooms >= 1)
1
Use exact match bedrooms
true
Filter by minimum number of bathrooms. The value represents the lower bound. For example, if 1 is provided, the query will return properties with 1 or more bathrooms (bathrooms >= 1)
1
Filter listings by home type
You can use one or multiple values separated by commas ,
houses: Housestownhomes: Townhomesmulti_family: Multi Familycondos_co_ops: Condos/Co-opslots_land: Lots/Landapartments: Apartmentsmanufactured: Manufactured
"houses,townhomes"
Only applicable when listing_status = for_sale or sold
HOA fees are monthly or annual charges that cover the costs of maintaining and improving shared spaces. HOA fees are common within condos and some single-family home neighborhoods. Co-ops also have monthly fees (Common Charges and Maintenance Fees), which may also include real estate taxes and a portion of the building's underlying mortgage
2000
Only applicable when listing_status = for_sale
Filter listings by listing type
You can use one or multiple values separated by commas ,
owner_posted: Owner Postedagent_listed: Agent Listednew_construction: New Constructionforeclosures: Foreclosures - These properties are currently listed for sale. They are owned by a bank or a lender who took ownership through foreclosure proceedings. These are also known as bank-owned or real estate owned (REO).auctions: Auctionsforeclosed: Foreclosed - These properties are owned by a bank or a lender who took ownership through foreclosure proceedings. They may soon be listed for sale.pre_foreclosures: Pre Foreclosures - The lender initiated foreclosure proceedings on these properties because the owner(s) were in default on their loan obligations. Pre-foreclosures also include properties for which a foreclosure auction is scheduled.
"owner_posted,agent_listed"
Only applicable when listing_status = for_sale
Filter listings by property status
You can use one or multiple values separated by commas ,
comming_soon: Comming soon - Coming Soon listings are homes that will soon be on the market. The listing agent for these homes has added a Coming Soon note to alert buyers in advance.accepting_backup_offers: Accepting backup offerspending_and_under_contract: Pending & under contract - Sellers of these homes have accepted a buyer's offer; however, the home has not closed.
"comming_soon,accepting_backup_offers"
Only applicable when listing_status = for_sale or for_rent
Filter listing by tours
You can use one or multiple values separated by commas ,
must_have_open_house: Must have open house (For Sale Only)must_have_3d_tour: Must have 3D Tourmust_have_showcase: Must have Showcase (For Sale Only)instant_tour_available: Instant Tour Available (For Rent Only)
"must_have_open_house,must_have_3d_tour"
Filter by minimum number of parking spots. The value represents the lower bound. For example, if 1 is provided, the query will return properties with 1 or more parking spots (parking spots >= 1)
1
Must have garage
true
square_feet_range filter in format min,max
Example 500,2000 square feet from 500 to 2000
"500,2000"
lot_size_range filter in format min,max
Example: 1000,2000 lot size from 1000 sqft to 2000 sqft
"1000,2000"
year_built_range filter in format min,max
Example: 2015,2020 year built from 2015 to 2020
"2015,2020"
Filter listings by basement
You can use one or multiple values separated by commas ,
finished: Finishedunfinished: Unfinished
"finished,unfinished"
Single-story only
true
55+ Communities
include: Includedo_not_show: Don't showonly_show: Only show
include, do_not_show, only_show "include"
Filter listings by other amenities
You can use one or multiple values separated by commas ,
must_have_ac: Must have A/Cmust_have_pool: Must have poolwaterfront: Waterfronton_site_parking: On-site Parking (For Rent Only)in_unit_laundry: In-unit Laundry (For Rent Only)accepts_zillow_applications: Accepts Zillow Applications (For Rent Only)income_restricted: Income restricted (For Rent Only)hardwood_floors: Hardwood Floors (For Rent Only)disabled_access: Disabled Access (For Rent Only)utilities_included: Utilities Included (For Rent Only)short_term_lease_available: Short term lease available (For Rent Only)furnished: Furnished (For Rent Only)outdoor_space: Outdoor space (For Rent Only)controlled_access: Controlled access (For Rent Only)high_speed_internet: High speed internet (For Rent Only)elevator: Elevator (For Rent Only)apartment_community: Apartment Community (For Rent Only)
"must_have_ac,must_have_pool"
Filter listings by view
You can use one or multiple values separated by commas ,
city: Citymountain: Mountainpark: Parkwater: Water
"city, mountain"
Only applicable when listing_status = for_sale or for_rent
Days on Zillow filter
1: Listed within the last 1 day7: Listed within the last 7 days30: Listed within the last 30 days90: Listed within the last 90 days6m: Listed within the last 6 months12m: Listed within the last 12 months24m: Listed within the last 24 months36m: Listed within the last 36 months
1, 7, 30, 90, 6m, 12m, 24m, 36m MLS #, yard, etc.
Only applicable when listing_status = for_rent
Desired move-in date. Format YYYY-MM-DD (ISO 8601)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$"2026-01-31"
Only applicable when listing_status = for_rent
Filter listings by pets
You can use one or multiple values separated by commas ,
allows_large_dogs: Allows large dogsallows_small_dogs: Allows small dogsallows_cats: Allows catsno_pets: No pets
"allows_large_dogs,allows_cats"
Only applicable when listing_status = sold
Filter listings by how recently they were sold
1: Sold within the last 1 day7: Sold within the last 7 days30: Sold within the last 30 days90: Sold within the last 90 days6m: Sold within the last 6 months12m: Sold within the last 12 months24m: Sold within the last 24 months36m: Sold within the last 36 months
1, 7, 30, 90, 6m, 12m, 24m, 36m