curl --request GET \
--url https://us-red-property-data.p.rapidapi.com/api/v1/search/for-rent \
--header 'x-rapidapi-key: <api-key>'import requests
url = "https://us-red-property-data.p.rapidapi.com/api/v1/search/for-rent"
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-red-property-data.p.rapidapi.com/api/v1/search/for-rent', 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-red-property-data.p.rapidapi.com/api/v1/search/for-rent",
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-red-property-data.p.rapidapi.com/api/v1/search/for-rent"
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-red-property-data.p.rapidapi.com/api/v1/search/for-rent")
.header("x-rapidapi-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://us-red-property-data.p.rapidapi.com/api/v1/search/for-rent")
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": [
{
"property_id": "9525905454",
"listing_id": "2966802712",
"list_price": null,
"list_price_max": 2353,
"list_price_min": 1325,
"permalink": "1676-Maryland-Ave-NE_Washington_DC_20002_M95259-05454",
"price_reduced_amount": null,
"matterport": false,
"has_specials": true,
"application_url": null,
"status": "for_rent",
"list_date": "2024-04-26T18:46:28.000000Z",
"available_date_change_timestamp": "2026-02-15T01:17:05.394",
"branding": [
{
"type": "Office",
"photo": null,
"name": null
}
],
"source": {
"id": "ZILL",
"community_id": 4352806,
"type": "community",
"feed_type": "Syndicator Community"
},
"details": [
{
"category": "Community Features",
"text": [
"Barbecue Area",
"Bicycle storage",
"Cable/Internet Ready"
]
}
],
"products": {
"products": [
"co_broke",
"rentals_cost_per_lead_hybrid"
],
"brand_name": "basic_opt_in"
},
"rentals_application_eligibility": {
"estimated_status": "BLOCKED"
},
"flags": {
"is_pending": null,
"is_new_listing": false,
"has_new_availability": true
},
"photos": [
{
"href": "https://ar.rdcpix.com/270ee3cad0607d29b04dc1d9c221146cc-f2193502019s.jpg"
}
],
"primary_photo": {
"href": "https://ar.rdcpix.com/270ee3cad0607d29b04dc1d9c221146cc-f2193502019s.jpg"
},
"search_promotions": null,
"virtual_tours": null,
"lead_attributes": {
"lead_type": "rental_go_direct",
"is_premium_ldp": false,
"is_schedule_a_tour": false
},
"pet_policy": {
"cats": true,
"dogs": true,
"dogs_small": false,
"dogs_large": false
},
"description": {
"beds": null,
"beds_max": 2,
"beds_min": 0,
"baths_min": 1,
"baths_max": 2,
"baths_consolidated": null,
"baths": null,
"sqft": null,
"sqft_max": 1091,
"sqft_min": 459,
"name": "Union Heights",
"sub_type": null,
"type": "apartment"
},
"other_listings": {
"rdc": [
{
"listing_id": "2966802712",
"status": "for_rent"
}
]
},
"advertisers": [
{
"type": "management",
"office": {
"name": "Greystar"
},
"rental_management": null
}
],
"location": {
"address": {
"coordinate": {
"lat": 38.901192,
"lon": -76.975883
},
"line": "1676 Maryland Ave NE",
"city": "Washington",
"country": "USA",
"state_code": "DC",
"postal_code": "20002"
},
"county": {
"name": "District of Columbia"
}
},
"units": [
{
"availability": {
"date": "2026-02-18"
},
"description": {
"baths_consolidated": null,
"baths": 2,
"beds": 2,
"sqft": 985
},
"list_price": 2054
}
]
}
]
}{
"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 Properties For Rent
Search Properties For Rent
curl --request GET \
--url https://us-red-property-data.p.rapidapi.com/api/v1/search/for-rent \
--header 'x-rapidapi-key: <api-key>'import requests
url = "https://us-red-property-data.p.rapidapi.com/api/v1/search/for-rent"
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-red-property-data.p.rapidapi.com/api/v1/search/for-rent', 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-red-property-data.p.rapidapi.com/api/v1/search/for-rent",
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-red-property-data.p.rapidapi.com/api/v1/search/for-rent"
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-red-property-data.p.rapidapi.com/api/v1/search/for-rent")
.header("x-rapidapi-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://us-red-property-data.p.rapidapi.com/api/v1/search/for-rent")
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": [
{
"property_id": "9525905454",
"listing_id": "2966802712",
"list_price": null,
"list_price_max": 2353,
"list_price_min": 1325,
"permalink": "1676-Maryland-Ave-NE_Washington_DC_20002_M95259-05454",
"price_reduced_amount": null,
"matterport": false,
"has_specials": true,
"application_url": null,
"status": "for_rent",
"list_date": "2024-04-26T18:46:28.000000Z",
"available_date_change_timestamp": "2026-02-15T01:17:05.394",
"branding": [
{
"type": "Office",
"photo": null,
"name": null
}
],
"source": {
"id": "ZILL",
"community_id": 4352806,
"type": "community",
"feed_type": "Syndicator Community"
},
"details": [
{
"category": "Community Features",
"text": [
"Barbecue Area",
"Bicycle storage",
"Cable/Internet Ready"
]
}
],
"products": {
"products": [
"co_broke",
"rentals_cost_per_lead_hybrid"
],
"brand_name": "basic_opt_in"
},
"rentals_application_eligibility": {
"estimated_status": "BLOCKED"
},
"flags": {
"is_pending": null,
"is_new_listing": false,
"has_new_availability": true
},
"photos": [
{
"href": "https://ar.rdcpix.com/270ee3cad0607d29b04dc1d9c221146cc-f2193502019s.jpg"
}
],
"primary_photo": {
"href": "https://ar.rdcpix.com/270ee3cad0607d29b04dc1d9c221146cc-f2193502019s.jpg"
},
"search_promotions": null,
"virtual_tours": null,
"lead_attributes": {
"lead_type": "rental_go_direct",
"is_premium_ldp": false,
"is_schedule_a_tour": false
},
"pet_policy": {
"cats": true,
"dogs": true,
"dogs_small": false,
"dogs_large": false
},
"description": {
"beds": null,
"beds_max": 2,
"beds_min": 0,
"baths_min": 1,
"baths_max": 2,
"baths_consolidated": null,
"baths": null,
"sqft": null,
"sqft_max": 1091,
"sqft_min": 459,
"name": "Union Heights",
"sub_type": null,
"type": "apartment"
},
"other_listings": {
"rdc": [
{
"listing_id": "2966802712",
"status": "for_rent"
}
]
},
"advertisers": [
{
"type": "management",
"office": {
"name": "Greystar"
},
"rental_management": null
}
],
"location": {
"address": {
"coordinate": {
"lat": 38.901192,
"lon": -76.975883
},
"line": "1676 Maryland Ave NE",
"city": "Washington",
"country": "USA",
"state_code": "DC",
"postal_code": "20002"
},
"county": {
"name": "District of Columbia"
}
},
"units": [
{
"availability": {
"date": "2026-02-18"
},
"description": {
"baths_consolidated": null,
"baths": 2,
"beds": 2,
"sqft": 985
},
"list_price": 2054
}
]
}
]
}{
"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
Location
1"20002"
Page number for pagination
1
Sort results by the specified criteria
best_match: Best matchrecently_added: Recently addedhighest_price: Highest pricelowest_price: Lowest price
best_match, recently_added, highest_price, lowest_price "best_match"
list_price_range filter in format min,max
Example 50000,1000000 means price from $50,000 to $1,000,000
"50000,1000000"
Filter listings by property type
You can use one or multiple values separated by commas ,
apartment: Apartmenttownhome: Townhomecondo: Condosingle_family: Single family
"apartment,townhome"
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
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
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"
Filter listings by pet friendly
You can use one or multiple values separated by commas ,
cats: Cats OKdogs: Dogs OK
"cats,dogs"
square_feet_range filter in format min,max
Example 500,2000 square feet from 500 to 2000
"500,2000"
Accepts online applications
true
3D Tours
true
Filter listings by unit features
You can use one or multiple values separated by commas ,
washer_dryer: Washer / dryercentral_air: Central air
"washer_dryer,central_air"
Filter listings by community features
You can use one or multiple values separated by commas ,
garage_1_or_more: Parkingcommunity_gym: Gymcommunity_swimming_pool: Pool(s)laundry_room: Laundry room
"garage_1_or_more,community_gym"
Filter listings by keyword search
You can use one or multiple values separated by commas ,
"Pool,Lake view"