/token. This must be passed as a Bearer token in the Authorization header./token is valid for 1 hour.width and/or height when calling the /images or /images/byparcel endpoints.3840x2160 (4K). Any request above this is proportionally scaled down.https://api.revaluator.ioBy using the Revaluator API, you agree to the following terms:
If you have questions about these terms, please contact us at info@revaluator.io.
Send your APIKey and APISecret to the /token endpoint:
fetch("https://api.revaluator.io/token", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
apiKey: "YOUR-KEY-HERE",
apiSecret: "YOUR-SECRET-HERE"
})
})
.then(res => res.json())
.then(data => console.log(data.access_token));
var client = new HttpClient();
var content = new StringContent(JsonConvert.SerializeObject(new {
apiKey = "YOUR-KEY-HERE",
apiSecret = "YOUR-SECRET-HERE"
}), Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.revaluator.io/token", content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
import requests
payload = {
"apiKey": "YOUR-KEY-HERE",
"apiSecret": "YOUR-SECRET-HERE"
}
response = requests.post("https://api.revaluator.io/token", json=payload)
print(response.json())
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI..."
}
Use your token to request parcel images near a latitude and longitude.
Optionally, include width and/or height to resize images.
Example:
/images?lat=35.7796&lon=-78.6382&width=600
fetch("https://api.revaluator.io/images?lat=35.7796&lon=-78.6382", {
headers: {
"Authorization": "Bearer YOUR_JWT_TOKEN"
}
})
.then(res => res.json())
.then(data => console.log(data));
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", "YOUR_JWT_TOKEN");
var response = await client.GetAsync("https://api.revaluator.io/images?lat=35.7796&lon=-78.6382");
var json = await response.Content.ReadAsStringAsync();
Console.WriteLine(json);
import requests
headers = {
"Authorization": "Bearer YOUR_JWT_TOKEN"
}
response = requests.get("https://api.revaluator.io/images?lat=35.7796&lon=-78.6382", headers=headers)
print(response.json())
{
"message": "Images retrieved.",
"fileCount": 2,
"parcel": "12345",
"state": "NC",
"county": "Wake",
"lat": 35.7796,
"lon": -78.6382,
"width": 600,
"height": 600,
"tokens": ["..."],
"urls": ["https://api.revaluator.io/secure-image/...", "..."]
}
Retrieve images using known parcel data. Optionally include width/height:
/images/byparcel?parcelNumber=12345&county=Wake&stateCode=NC&width=600
fetch("https://api.revaluator.io/images/byparcel?parcelNumber=12345&county=Wake&stateCode=NC", {
headers: {
"Authorization": "Bearer YOUR_JWT_TOKEN"
}
})
.then(res => res.json())
.then(data => console.log(data));
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", "YOUR_JWT_TOKEN");
var url = "https://api.revaluator.io/images/byparcel?parcelNumber=12345&county=Wake&stateCode=NC";
var response = await client.GetAsync(url);
var json = await response.Content.ReadAsStringAsync();
Console.WriteLine(json);
import requests
headers = {
"Authorization": "Bearer YOUR_JWT_TOKEN"
}
url = "https://api.revaluator.io/images/byparcel?parcelNumber=12345&county=Wake&stateCode=NC"
response = requests.get(url, headers=headers)
print(response.json())
{
"message": "Images retrieved.",
"fileCount": 2,
"parcel": "12345",
"state": "NC",
"county": "Wake",
"lat": 35.7796,
"lon": -78.6382,
"width": 600,
"height": 600,
"tokens": ["..."],
"urls": ["https://api.revaluator.io/secure-image/..."]
}
The image URLs returned from the API are signed with short-lived JWT tokens (5 minutes).
Each image URL includes a token unique to the image ID, user identity, and requested size.
Important: If you request the same image at different sizes, different signed URLs will be returned.
<img src="https://api.revaluator.io/secure-image/..." />
Retrieve a signed PDF parcel card:
/parcelcard?parcelNumber=12345&county=Wake&stateCode=NC
fetch("https://api.revaluator.io/parcelcard?parcelNumber=12345&county=Wake&stateCode=NC", {
headers: {
"Authorization": "Bearer YOUR_JWT_TOKEN"
}
})
.then(res => res.json())
.then(data => console.log(data));
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", "YOUR_JWT_TOKEN");
var url = "https://api.revaluator.io/parcelcard?parcelNumber=12345&county=Wake&stateCode=NC";
var response = await client.GetAsync(url);
var json = await response.Content.ReadAsStringAsync();
Console.WriteLine(json);
import requests
headers = {
"Authorization": "Bearer YOUR_JWT_TOKEN"
}
url = "https://api.revaluator.io/parcelcard?parcelNumber=12345&county=Wake&stateCode=NC"
response = requests.get(url, headers=headers)
print(response.json())
{
"message": "Card markup retrieved.",
"fileCount": 1,
"parcel": "12345",
"state": "NC",
"county": "Wake",
"tokens": ["..."],
"urls": ["https://api.revaluator.io/secure-card/..."]
}
The URLs from the parcelcard response are signed and expire in 5 minutes.
You can embed the PDF directly in your application:
<iframe src="https://api.revaluator.io/secure-card/..." width="100%" height="600"></iframe>