Find an API

Search public APIs with auth details & Postman guides

← All APIs

CoreLogic Property Data API

corelogic.com · Company

Company API Key Paid Insurance Real Estate Financial Services Property Underwriting Insurance

Property data and analytics APIs from CoreLogic — covering property characteristics, ownership, valuations, flood zones, wildfire risk, roof age, and rebuild cost estimates. Key data source for Guidewire PolicyCenter property underwriting workflows. Covers 99.9% of US residential properties.

Authentication

API Key API key provisioned through CoreLogic partner program. Separate keys for property data, risk products, and valuation APIs.

Parameter name: Authorization (in header)

Sample Requests

GET Get property details

Returns property characteristics including year built, square footage, construction type, roof type — core underwriting data for homeowners policies.

https://api.corelogic.com/property/v2/properties?zip=78701&city=Austin&state=TX&address=123 Main St

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Authorization auth Bearer YOUR_API_KEY
curl -X GET "https://api.corelogic.com/property/v2/properties?zip=78701&city=Austin&state=TX&address=123%20Main%20St" \
  -H "Authorization: YOUR_API_KEY"
import requests
params = {
    "zip": "78701",
    "city": "Austin",
    "state": "TX",
    "address": "123 Main St"
}
headers = {
    "Authorization": "YOUR_API_KEY"
}
response = requests.get(
    "https://api.corelogic.com/property/v2/properties",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.corelogic.com/property/v2/properties');
url.searchParams.set('zip', '78701');
url.searchParams.set('city', 'Austin');
url.searchParams.set('state', 'TX');
url.searchParams.set('address', '123 Main St');

const response = await fetch(url, {
  headers: {
    'Authorization': 'YOUR_API_KEY'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.corelogic.com/property/v2/properties")
	q := baseURL.Query()
	q.Set("zip", "78701")
	q.Set("city", "Austin")
	q.Set("state", "TX")
	q.Set("address", "123 Main St")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)
	req.Header.Set("Authorization", "YOUR_API_KEY")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.corelogic.com/property/v2/properties")
uri.query = URI.encode_www_form({
  "zip" => "78701",
  "city" => "Austin",
  "state" => "TX",
  "address" => "123 Main St"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)
req["Authorization"] = "YOUR_API_KEY"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.corelogic.com/property/v2/properties?" . http_build_query([
    "zip" => "78701",
    "city" => "Austin",
    "state" => "TX",
    "address" => "123 Main St"
]);
$opts = ["http" => [
    "method" => "GET",
    "header" => implode("\r\n", [
        "Authorization: YOUR_API_KEY"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get flood zone determination

Returns FEMA flood zone classification for a property — required for mortgage-related force-placed flood insurance determination.

https://api.corelogic.com/spatial/v2/flood?zip=78701&city=Austin&state=TX&address=123 Main St

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Authorization auth Bearer YOUR_API_KEY
curl -X GET "https://api.corelogic.com/spatial/v2/flood?zip=78701&city=Austin&state=TX&address=123%20Main%20St" \
  -H "Authorization: YOUR_API_KEY"
import requests
params = {
    "zip": "78701",
    "city": "Austin",
    "state": "TX",
    "address": "123 Main St"
}
headers = {
    "Authorization": "YOUR_API_KEY"
}
response = requests.get(
    "https://api.corelogic.com/spatial/v2/flood",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.corelogic.com/spatial/v2/flood');
url.searchParams.set('zip', '78701');
url.searchParams.set('city', 'Austin');
url.searchParams.set('state', 'TX');
url.searchParams.set('address', '123 Main St');

const response = await fetch(url, {
  headers: {
    'Authorization': 'YOUR_API_KEY'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.corelogic.com/spatial/v2/flood")
	q := baseURL.Query()
	q.Set("zip", "78701")
	q.Set("city", "Austin")
	q.Set("state", "TX")
	q.Set("address", "123 Main St")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)
	req.Header.Set("Authorization", "YOUR_API_KEY")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.corelogic.com/spatial/v2/flood")
uri.query = URI.encode_www_form({
  "zip" => "78701",
  "city" => "Austin",
  "state" => "TX",
  "address" => "123 Main St"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)
req["Authorization"] = "YOUR_API_KEY"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.corelogic.com/spatial/v2/flood?" . http_build_query([
    "zip" => "78701",
    "city" => "Austin",
    "state" => "TX",
    "address" => "123 Main St"
]);
$opts = ["http" => [
    "method" => "GET",
    "header" => implode("\r\n", [
        "Authorization: YOUR_API_KEY"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. Register at https://developer.corelogic.com for API access
  2. Different product keys for: Property Data, Flood, Wildfire Risk, Valuation, Roof Age
  3. Guidewire Marketplace: CoreLogic accelerators available for PolicyCenter
  4. Property lookup by APN (Assessor Parcel Number) or address
  5. RCV (Replacement Cost Value) product gives rebuild cost estimates for underwriting
  6. Wildfire and flood risk scores returned as numeric ratings for underwriting rules

What can you build with CoreLogic Property Data API?

CoreLogic Property Data API is a Company API. Developers commonly use company APIs for:

  • enriching CRM records with company firmographics
  • building lead-generation and prospecting tools
  • verifying business identity and registration details
  • monitoring competitors and market intelligence
  • powering B2B data enrichment pipelines

API Key authentication. You'll receive a key after signing up. Send it with every request — in a header or query parameter. Keep it out of client-side code and never commit it to version control. CoreLogic Property Data API is a paid API — check the provider's pricing page before building a production integration.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗