curl --request GET \
--url https://app.realie.ai/api/public/property/parcelId/ \
--header 'Authorization: <api-key>'import requests
url = "https://app.realie.ai/api/public/property/parcelId/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://app.realie.ai/api/public/property/parcelId/', 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://app.realie.ai/api/public/property/parcelId/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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://app.realie.ai/api/public/property/parcelId/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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://app.realie.ai/api/public/property/parcelId/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.realie.ai/api/public/property/parcelId/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"property": {}
}{
"error": "State, county, and parcelId are all required unless parcelId is a realieParcelId ({5-digit county FIPS}-{APN}), which may be passed alone"
}{
"error": "Unauthorized: API key is missing"
}{
"error": "Forbidden: Pay your outstanding invoices to restore access",
"code": "unpaid_invoices",
"action": "Open Billing and pay all outstanding invoices. Update your payment card if a payment fails, then retry once your subscription is active.",
"billing_url": "https://app.realie.ai/billing"
}{
"error": "No property found matching the criteria"
}{
"error": "Internal Server Error"
}Parcel ID Lookup
Get a single property by its parcel identifier. Pass the assessor’s parcel ID (APN) with “state” and “county”, or pass a stored “realieParcelId”, which also works on its own. When “state” or “county” is omitted, “parcelId” is interpreted only as a realieParcelId: a value that is not a valid realieParcelId returns 400, and if you pass just one of “state” or “county”, it must match the realieParcelId’s county or the request returns 400. You can also pass “realieId” (the “realieId” field of a v3 result) instead of “parcelId”; “state” and “county” are then ignored, and the lookup reads v3 data only.
curl --request GET \
--url https://app.realie.ai/api/public/property/parcelId/ \
--header 'Authorization: <api-key>'import requests
url = "https://app.realie.ai/api/public/property/parcelId/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://app.realie.ai/api/public/property/parcelId/', 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://app.realie.ai/api/public/property/parcelId/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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://app.realie.ai/api/public/property/parcelId/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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://app.realie.ai/api/public/property/parcelId/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.realie.ai/api/public/property/parcelId/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"property": {}
}{
"error": "State, county, and parcelId are all required unless parcelId is a realieParcelId ({5-digit county FIPS}-{APN}), which may be passed alone"
}{
"error": "Unauthorized: API key is missing"
}{
"error": "Forbidden: Pay your outstanding invoices to restore access",
"code": "unpaid_invoices",
"action": "Open Billing and pay all outstanding invoices. Update your payment card if a payment fails, then retry once your subscription is active.",
"billing_url": "https://app.realie.ai/billing"
}{
"error": "No property found matching the criteria"
}{
"error": "Internal Server Error"
}Authorizations
Provide your API key directly in the header.
Query Parameters
The state (e.g. CA) where the property is located. Required unless "parcelId" is a realieParcelId or "realieId" is passed (ignored with "realieId").
The county where the property is located. Required unless "parcelId" is a realieParcelId or "realieId" is passed (ignored with "realieId").
The parcel to look up: the exact assessor's parcel ID (APN), which requires "state" and "county", or a stored "realieParcelId" (the 5-digit county FIPS code, a hyphen, then the APN with spaces written as "", e.g. "11001-0314--0009"). When "state" or "county" is omitted, the value is interpreted only as a realieParcelId. Required unless "realieId" is passed; do not pass both.
The "realieId" field of a v3 result: 24 hexadecimal characters, e.g. "6650f1c2a1b2c3d4e5f60718". Pass it instead of "parcelId"; "state" and "county" are not needed. Reads v3 data only.
^[0-9a-fA-F]{24}$Response
Property found successfully
The property features found.