Property Data
Search millions of property records using the Datafiniti API.
curl -X POST "https://api.datafiniti.co/v4/properties/search" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"query": "country:US AND province:FL",
"num_records": 1,
"format": "JSON"
}'
import requests
import json
url = "https://api.datafiniti.co/v4/properties/search"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"query": "country:US AND province:FL",
"num_records": 1,
"format": "JSON"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.datafiniti.co/v4/properties/search", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"query": "country:US AND province:FL",
"num_records": 1,
"format": "JSON"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"query": "country:US AND province:FL",
"num_records": 1,
"format": "JSON"
}`)
req, err := http.NewRequest("POST", "https://api.datafiniti.co/v4/properties/search", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.datafiniti.co/v4/properties/search')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"query": "country:US AND province:FL",
"num_records": 1,
"format": "JSON"
}'
response = http.request(request)
puts response.body
{
"num_found": 42,
"total_cost": 3.14,
"records": [
{}
],
"download_id": "example_string"
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
/properties/search
Bearer token obtained from the /auth endpoint. Include in requests as: Authorization: Bearer <token>
The media type of the request body
The search query using Datafiniti query syntax (e.g., country:US AND province:FL)
The number of records your request will return, and the number of credits that will be deducted from your account. For non-downloads, the maximum is 10 records.
Must be either json or csv. Defaults to json.
Whether or not to start a download for this search.
Specify a view you have created, or use a pre-made view. The view filters what data is displayed in your search results. If using auto_trace=true, leave blank or include people.people_keys:* in your view.
Whether to autotrace property data with people data records that match. Set to true or false.
Whether the records returned must have people data in the dataset. Set to true or false.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Bearer token obtained from the /auth endpoint. Include in requests as: Authorization: Bearer <token>
Body
The search query using Datafiniti query syntax (e.g., country:US AND province:FL)
The number of records your request will return, and the number of credits that will be deducted from your account. For non-downloads, the maximum is 10 records.
Whether or not to start a download for this search.
Specify a view you have created, or use a pre-made view. The view filters what data is displayed in your search results. If using auto_trace=true, leave blank or include people.people_keys:* in your view.
Whether to autotrace property data with people data records that match. Set to true or false.
Whether the records returned must have people data in the dataset. Set to true or false.
Responses
Total number of matching records found
Total credit cost for this request
Array of matching records
Download ID if download was requested (only present when download: true)
Error message describing what went wrong
Autotrace
Learn how to use autotrace to combine property and people data.
Autotrace property x people data only applies to records with people.title:owner populated. You will not receive any records until this people title is populated.
Autotrace requires both a people and property data plan to work. One record returned will consume 1 people data and 1 property data credit. If you have questions about how this works please contact support@datafiniti.co.
Last updated Mar 26, 2026
Built with Documentation.AI