curl --request GET \
--url https://app.realie.ai/api/public/premium/owner/ \
--header 'Authorization: <api-key>'import requests
url = "https://app.realie.ai/api/public/premium/owner/"
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/premium/owner/', 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/premium/owner/",
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/premium/owner/"
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/premium/owner/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.realie.ai/api/public/premium/owner/")
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{
"properties": [
{}
],
"metadata": {
"limit": 123,
"offset": 123,
"count": 123
}
}{
"error": "Bad Request: State and lastName (or nameContains) are required parameters"
}{
"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 properties found"
}{
"error": "Internal Server Error"
}{
"error": "<string>"
}Premium Owner Search
Search parcels by recorded current-owner name. Requires state and at least one of lastName or nameContains. Both recorded owner-name slots are searched. The v3 result window is limited to 200 candidate parcels, so broad names can return an incomplete set; refine the query to narrow the results. Pagination uses limit and offset, with offset + limit at most 200 on v3 reads. The account response-shape setting controls whether properties contain nested v3 records or the v2-compatible flat layout; see the v3 overview and Property Data Schema. Send the API key directly in the Authorization header. Normal API-access and billing checks apply. A successful 200 response costs one token; 400, 401, 403, and 404 responses are not billed. See Plans and Pricing. This premium endpoint uses the same name-matching engine as Owner Search, adds optional county filtering, and caps each page at 25 properties.
curl --request GET \
--url https://app.realie.ai/api/public/premium/owner/ \
--header 'Authorization: <api-key>'import requests
url = "https://app.realie.ai/api/public/premium/owner/"
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/premium/owner/', 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/premium/owner/",
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/premium/owner/"
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/premium/owner/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.realie.ai/api/public/premium/owner/")
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{
"properties": [
{}
],
"metadata": {
"limit": 123,
"offset": 123,
"count": 123
}
}{
"error": "Bad Request: State and lastName (or nameContains) are required parameters"
}{
"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 properties found"
}{
"error": "Internal Server Error"
}{
"error": "<string>"
}Authorizations
Provide your API key directly in the header.
Query Parameters
Two-letter state abbreviation (for example, CA).
Owner surname or company name. Required unless nameContains is provided. Matching is case-insensitive. If both lastName and nameContains are supplied, both must match the same recorded owner name.
Optional given-name prefix, used with lastName to narrow the owner match.
Optional county name within the state. An unrecognized county returns 404 (no properties found).
Match every supplied word in the same recorded owner name; word order does not matter. This is word matching, not an arbitrary substring search. Can be used without lastName. Supported only on v3 data reads; otherwise returns 400.
Set true to allow one edit with the first two characters matching exactly. Use a single-token lastName for fuzzy surname matching, or nameContains for multiword fuzzy queries. firstName remains a prefix match. Supported only on v3 data reads; otherwise returns 400.
Maximum results per page. Defaults to 10; values above 25 are capped at 25. On v3 reads, offset + the applied limit must be at most 200 or the request returns 400.
1 <= x <= 25Number of matched records to skip. Defaults to 0. On v3 reads, offset + the applied limit must be at most 200. Refine the name query rather than paging beyond this window; cursor pagination is not supported.
x >= 0Response
Matching properties found. Each successful request consumes one token, independent of the number of properties returned.