Developer tools

HouseCanary is the data platform for developers. Build applications using our simple & powerful APIs, and use our open source libraries for interactivity and control.

Development Visual
Start using our api
HouseCanary Analytics API provides all the information you need to value one property or thousands.
Use the code below in the language of your choice to get a live response.
Curl
Python
Java
C#
Ruby
PHP
R
Javascript
curl -G https://api.housecanary.com/v2/property/value \
-d address=43+Valmonte+Plaza \
-d zipcode=90274 \
-u test_0TAQAK5ESOFQ1ZVLQO9M:rTecWozVb3dGkWkdUX7ElAgTFWqvWDHk \
import pprint
import requests

url = 'https://api.housecanary.com/v2/property/value'
params = {'address': '43 Valmonte Plaza',
'zipcode': '90274'}
response = requests.get(url, params=params, auth=('test_0TAQAK5ESOFQ1ZVLQO9M', 'rTecWozVb3dGkWkdUX7ElAgTFWqvWDHk'))
pprint.pprint(response.json())
import java.net.*;

import org.apache.commons.codec.binary.Base64;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHeaders;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.util.EntityUtils;

/**
* Example of making a GET request to the HouseCanary API
* using the Apache HTTP library.
*/
public class HCApiGetExample {

public static void main(final String[] args) {
try {
String host = "api.housecanary.com";

// build up the URI with query params
URI uri = new URIBuilder()
.setScheme("https")
.setHost(host)
.setPath("/v2/property/value")
.setParameter("address", "43 Valmonte Plaza")
.setParameter("zipcode", "90274")
.build();

HttpGet httpGet = new HttpGet(uri);

String auth = "test_0TAQAK5ESOFQ1ZVLQO9M" + ":" + "rTecWozVb3dGkWkdUX7ElAgTFWqvWDHk";
byte[] encodedAuth = Base64.encodeBase64(auth.getBytes());
String authHeader = "Basic " + new String(encodedAuth);
httpGet.addHeader(HttpHeaders.AUTHORIZATION, authHeader);

CloseableHttpClient httpClient = HttpClients.createDefault();

CloseableHttpResponse response = httpClient.execute(httpGet);

try {
System.out.println(response.getStatusLine());

HttpEntity entity = response.getEntity();
System.out.println(EntityUtils.toString(entity));

EntityUtils.consume(entity);
} finally {
response.close();
}
return;

} catch (Exception e) {
e.printStackTrace();
}
}
}
namespace HouseCanaryAPIGist
{
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;

// Example of making a GET request to the HouseCanary API
// using System.Net.Http.HttpClient.
public class HCApiGetExample
{
public static void Main(string[] args)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://api.housecanary.com");

string queryParams;
using(var content = new FormUrlEncodedContent(new KeyValuePair<string, string>[]{
new KeyValuePair<string, string>("address", "43 Valmonte Plaza"),
new KeyValuePair<string, string>("zipcode", "90274")
})) {
queryParams = content.ReadAsStringAsync().Result;
}

string url = "/v2/property/value?" + queryParams;

var byteArray = Encoding.ASCII.GetBytes("test_0TAQAK5ESOFQ1ZVLQO9M:rTecWozVb3dGkWkdUX7ElAgTFWqvWDHk");
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));

HttpResponseMessage response = client.GetAsync(url).GetAwaiter().GetResult();

string body = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();

Console.WriteLine(body);
}
}
}
}
require 'http'

url = "https://api.housecanary.com/v2/property/value"

query_params = {
"address": "43 Valmonte Plaza",
"zipcode": "90274"
}

response = HTTP.basic_auth(:user => "test_0TAQAK5ESOFQ1ZVLQO9M", :pass => "rTecWozVb3dGkWkdUX7ElAgTFWqvWDHk")
.get(url, :params => query_params)

puts response.to_s
<?php

# Example of making a GET request to the HouseCanary API.

# Using the Requests library for PHP: https://github.com/rmccue/Requests
require_once "Requests/library/Requests.php";
Requests::register_autoloader();

$url = "https://api.housecanary.com/v2/property/value";

$queryParams = array(
"address" => "43 Valmonte Plaza",
"zipcode" => "90274"
);

$queryString = http_build_query($queryParams);

$options = array("auth" => array("test_0TAQAK5ESOFQ1ZVLQO9M", "rTecWozVb3dGkWkdUX7ElAgTFWqvWDHk"));

$response = Requests::get($url ."?". $queryString, [], $options );

$result = json_decode($response->body, true);

print_r($result);

?>
library(httr)

url <- "https://api.housecanary.com/v2/property/value"

query_params <- list(
address = "43 Valmonte Plaza",
zipcode = "90274"
)

r <- GET(
url,
authenticate("test_0TAQAK5ESOFQ1ZVLQO9M", "rTecWozVb3dGkWkdUX7ElAgTFWqvWDHk", type = "basic"),
query = query_params)

print(str(content(r)))
// Example with Node.js

const request = require('request');
const url = 'https://api.housecanary.com/v2/property/value';

request.get({
url: url,
auth: {
user: 'test_0TAQAK5ESOFQ1ZVLQO9M',
pass: 'rTecWozVb3dGkWkdUX7ElAgTFWqvWDHk'
},
qs: {
address: '43 Valmonte Plaza',
zipcode: '90274'
}
}, function (error, response, body) {
console.log(body);
});
Clipboard Icon Button
Valuing a property is just one of the things the HouseCanary API can do. See everything we offer in our API Documentation.
If you’re using Python, save development time with our Python Client Library.
import housecanary

client = housecanary.ApiClient("test_0TAQAK5ESOFQ1ZVLQO9M", "rTecWozVb3dGkWkdUX7ElAgTFWqvWDHk")
result = client.property.value(("43 Valmonte Plaza", "90274"))

# result is an instance of housecanary.response.Response
print result.json()
Clipboard Icon Button
Get Started

Check out our pricing information then contact us to get started with an account and your own API keys.

Not a Developer?

HouseCanary’s services are available through our other products. Contact our sales team to find out what’s right for your organization’s needs.