/hotpads/listings/search
curl --request POST \
--url https://api.anysite.io/api/hotpads/listings/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"location": "<string>",
"count": 2,
"timeout": 300,
"category": "apartments",
"home_type": [],
"price_min": 1,
"price_max": 1,
"pets": [],
"amenities": [],
"laundry": [],
"furnished": true,
"sqft_min": 1,
"sqft_max": 1,
"keywords": "<string>",
"has_promotions": true,
"sort": "newest"
}
'import requests
url = "https://api.anysite.io/api/hotpads/listings/search"
payload = {
"location": "<string>",
"count": 2,
"timeout": 300,
"category": "apartments",
"home_type": [],
"price_min": 1,
"price_max": 1,
"pets": [],
"amenities": [],
"laundry": [],
"furnished": True,
"sqft_min": 1,
"sqft_max": 1,
"keywords": "<string>",
"has_promotions": True,
"sort": "newest"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
location: '<string>',
count: 2,
timeout: 300,
category: 'apartments',
home_type: [],
price_min: 1,
price_max: 1,
pets: [],
amenities: [],
laundry: [],
furnished: true,
sqft_min: 1,
sqft_max: 1,
keywords: '<string>',
has_promotions: true,
sort: 'newest'
})
};
fetch('https://api.anysite.io/api/hotpads/listings/search', 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://api.anysite.io/api/hotpads/listings/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'location' => '<string>',
'count' => 2,
'timeout' => 300,
'category' => 'apartments',
'home_type' => [
],
'price_min' => 1,
'price_max' => 1,
'pets' => [
],
'amenities' => [
],
'laundry' => [
],
'furnished' => true,
'sqft_min' => 1,
'sqft_max' => 1,
'keywords' => '<string>',
'has_promotions' => true,
'sort' => 'newest'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/hotpads/listings/search"
payload := strings.NewReader("{\n \"location\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"category\": \"apartments\",\n \"home_type\": [],\n \"price_min\": 1,\n \"price_max\": 1,\n \"pets\": [],\n \"amenities\": [],\n \"laundry\": [],\n \"furnished\": true,\n \"sqft_min\": 1,\n \"sqft_max\": 1,\n \"keywords\": \"<string>\",\n \"has_promotions\": true,\n \"sort\": \"newest\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/hotpads/listings/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"location\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"category\": \"apartments\",\n \"home_type\": [],\n \"price_min\": 1,\n \"price_max\": 1,\n \"pets\": [],\n \"amenities\": [],\n \"laundry\": [],\n \"furnished\": true,\n \"sqft_min\": 1,\n \"sqft_max\": 1,\n \"keywords\": \"<string>\",\n \"has_promotions\": true,\n \"sort\": \"newest\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/hotpads/listings/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"location\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"category\": \"apartments\",\n \"home_type\": [],\n \"price_min\": 1,\n \"price_max\": 1,\n \"pets\": [],\n \"amenities\": [],\n \"laundry\": [],\n \"furnished\": true,\n \"sqft_min\": 1,\n \"sqft_max\": 1,\n \"keywords\": \"<string>\",\n \"has_promotions\": true,\n \"sort\": \"newest\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"url": "<string>",
"@type": "HotpadsSearchListing",
"property_type": "<string>",
"listing_type": "<string>",
"alias": "<string>",
"name": "<string>",
"address": {
"@type": "HotpadsAddress",
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip_code": "<string>"
},
"neighborhood": "<string>",
"latitude": 123,
"longitude": 123,
"price_min": 123,
"price_max": 123,
"bed_min": 123,
"bed_max": 123,
"bath_min": 123,
"bath_max": 123,
"sqft_min": 123,
"sqft_max": 123,
"image": "<string>",
"photo_count": 123,
"has_special_offers": true,
"income_restricted": true,
"senior_housing": true,
"student_housing": true,
"military_housing": true,
"amenity_highlights": [],
"activated_at": 123,
"updated_at": 123
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/hotpads
/hotpads/listings/search
Search HotPads rental listings by location (city and state) with optional filters: rental category (apartments, houses, condos, townhomes, rooms, sublets, corporate housing), property type, price range, bedrooms, bathrooms, pets, amenities, laundry, furnished, square footage, keywords, restricted housing programs, promotions and sort order. Returns listings with address, coordinates, price and beds/baths/sqft ranges, property type, images, amenity highlights and posting dates.
Price: 20 credits per 200 results
POST
/
api
/
hotpads
/
listings
/
search
/hotpads/listings/search
curl --request POST \
--url https://api.anysite.io/api/hotpads/listings/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"location": "<string>",
"count": 2,
"timeout": 300,
"category": "apartments",
"home_type": [],
"price_min": 1,
"price_max": 1,
"pets": [],
"amenities": [],
"laundry": [],
"furnished": true,
"sqft_min": 1,
"sqft_max": 1,
"keywords": "<string>",
"has_promotions": true,
"sort": "newest"
}
'import requests
url = "https://api.anysite.io/api/hotpads/listings/search"
payload = {
"location": "<string>",
"count": 2,
"timeout": 300,
"category": "apartments",
"home_type": [],
"price_min": 1,
"price_max": 1,
"pets": [],
"amenities": [],
"laundry": [],
"furnished": True,
"sqft_min": 1,
"sqft_max": 1,
"keywords": "<string>",
"has_promotions": True,
"sort": "newest"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
location: '<string>',
count: 2,
timeout: 300,
category: 'apartments',
home_type: [],
price_min: 1,
price_max: 1,
pets: [],
amenities: [],
laundry: [],
furnished: true,
sqft_min: 1,
sqft_max: 1,
keywords: '<string>',
has_promotions: true,
sort: 'newest'
})
};
fetch('https://api.anysite.io/api/hotpads/listings/search', 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://api.anysite.io/api/hotpads/listings/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'location' => '<string>',
'count' => 2,
'timeout' => 300,
'category' => 'apartments',
'home_type' => [
],
'price_min' => 1,
'price_max' => 1,
'pets' => [
],
'amenities' => [
],
'laundry' => [
],
'furnished' => true,
'sqft_min' => 1,
'sqft_max' => 1,
'keywords' => '<string>',
'has_promotions' => true,
'sort' => 'newest'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/hotpads/listings/search"
payload := strings.NewReader("{\n \"location\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"category\": \"apartments\",\n \"home_type\": [],\n \"price_min\": 1,\n \"price_max\": 1,\n \"pets\": [],\n \"amenities\": [],\n \"laundry\": [],\n \"furnished\": true,\n \"sqft_min\": 1,\n \"sqft_max\": 1,\n \"keywords\": \"<string>\",\n \"has_promotions\": true,\n \"sort\": \"newest\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/hotpads/listings/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"location\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"category\": \"apartments\",\n \"home_type\": [],\n \"price_min\": 1,\n \"price_max\": 1,\n \"pets\": [],\n \"amenities\": [],\n \"laundry\": [],\n \"furnished\": true,\n \"sqft_min\": 1,\n \"sqft_max\": 1,\n \"keywords\": \"<string>\",\n \"has_promotions\": true,\n \"sort\": \"newest\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/hotpads/listings/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"location\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"category\": \"apartments\",\n \"home_type\": [],\n \"price_min\": 1,\n \"price_max\": 1,\n \"pets\": [],\n \"amenities\": [],\n \"laundry\": [],\n \"furnished\": true,\n \"sqft_min\": 1,\n \"sqft_max\": 1,\n \"keywords\": \"<string>\",\n \"has_promotions\": true,\n \"sort\": \"newest\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"url": "<string>",
"@type": "HotpadsSearchListing",
"property_type": "<string>",
"listing_type": "<string>",
"alias": "<string>",
"name": "<string>",
"address": {
"@type": "HotpadsAddress",
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip_code": "<string>"
},
"neighborhood": "<string>",
"latitude": 123,
"longitude": 123,
"price_min": 123,
"price_max": 123,
"bed_min": 123,
"bed_max": 123,
"bath_min": 123,
"bath_max": 123,
"sqft_min": 123,
"sqft_max": 123,
"image": "<string>",
"photo_count": 123,
"has_special_offers": true,
"income_restricted": true,
"senior_housing": true,
"student_housing": true,
"military_housing": true,
"amenity_highlights": [],
"activated_at": 123,
"updated_at": 123
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Minimum string length:
1Required range:
x >= 1Required range:
20 <= x <= 1500Available options:
apartments, houses, condos, townhomes, rooms, sublets, corporate_housing Available options:
apartment, condo, duplex, house, townhouse Required range:
x >= 0Required range:
x >= 0Available options:
studio, one_plus, two_plus, three_plus, four_plus Available options:
one_plus, one_half_plus, two_plus, three_plus, four_plus Available options:
cats, dogs Available options:
cooling, heating, parking, gated_entry, doorman, fitness_center, swimming_pool, dishwasher Available options:
in_unit, shared Required range:
x >= 0Required range:
x >= 0Available options:
income, senior, student, military Available options:
recommended, newest Response
Successful Response
Show child attributes
Show child attributes