Changelog

Release notes for the Parcl Labs API. 62 entries.

v0.41.6 — fix snowflake connection pool stability and request logging

v0.41.6

Fix Snowflake Connection Pool Stability

  • Release Snowflake connections before streaming responses on v1 property endpoints to reduce idle connection hold time.
  • Increase default pool connection timeout from 10s to 60s to match actual query durations.

Fix Request Logging

  • Add /openapi.json to middleware excluded paths.

v0.41.3 — optimize snowflake connection pool size

v0.41.3

Optimize Snowflake Connection Pool Size

  • Optimize snowflake connection pool size.

v0.41.2 — internal improvements to authnetication service

v0.41.2

Internal Improvements to Authentication Service

  • Internal improvements to the authentication service to improve performance and reliability.

v0.41.1 — internal improvements to property search endpoint

v0.41.1

Internal Improvements to Property Search Endpoint

  • Internal improvements to the property search endpoints to improve performance and reliability.

v0.41.0 — add has_pool filter to property search endpoints

v0.41.0

Add has_pool Filter to Property Search Endpoints

  • Added has_pool boolean filter to v1 property search (/v1/property/search) and v2 property search (/v2/property_search) endpoints, allowing users to filter properties by pool presence.
  • Added has_pool field to v1 property search and address search response schemas.
  • Added has_pool field to v2 property metadata response (parcl_id, parcl_property_id, and geocoordinate searches).
  • has_pool documentation: 1 = has a pool, 0 = we do not have information about this home having a pool.
  • Part of DAT-15: Add pool filter to property data downloads.

v0.40.3 — Fix Missing Metro in Property Search V2

v0.40.3

Fix Missing Metro in Property Search V2

  • Fixed an API bug where the metro name for properties was NULL when it should have been populated in the v2/property_search.

v0.40.2 — fix price feed cache key collision between sales and rental endpoints

v0.40.2

Fix Price Feed Cache Key Collision

  • Fixed a cache key collision between the /v1/price_feed/latest (sales) and /v1/price_feed_rentals/latest (rental) endpoints. Both endpoints shared the same price_feed_cache and generated identical cache keys from the request body, causing rental responses to be served for sales requests (and vice versa). Cache keys are now namespaced with sales: and rental: prefixes to prevent cross-endpoint cache poisoning.

v0.40.1 — fix rental price feed signing with correct parcl_id

v0.40.1

Fix Rental Price Feed Signing

  • Fixed the /v1/price_feed_rentals/latest endpoint to sign rental prices with the rental parcl_id (base + 2B offset) instead of the raw database parcl_id. This ensures the Ed25519 signature matches the on-chain rental price feed's parcl_id, preventing Ed25519MessageMismatch errors during oracle price updates.
  • This also closes a cross-submission vulnerability where a sales-signed price could have been submitted to a rental price feed (or vice versa), since both previously used the same parcl_id in the signed message.

v0.40.0 — date field in signed price message & pre-signing validation

v0.40.0

Date Field in Signed Price Message

  • Added date field (10 bytes, "YYYY-MM-DD" ASCII) to the signed 74-byte price message, matching the updated on-chain parcl-v3 oracle format (PARCL-001 security fix).

Pre-Signing Validation Layer

  • Added defense-in-depth validation before signing price data, mirroring on-chain oracle checks:
    • Price must be > 0 (mirrors on-chain require!(price > 0))
    • Expiry must not be in the past
    • Expiry must be within 25-hour horizon (mirrors on-chain MAX_EXPIRY_HORIZON_MS)
    • Publish timestamp must be within reasonable bounds (not >48h old, not >1h future)
    • Date/expiry consistency check
    • Structural date format validation (YYYY-MM-DD with calendar validity)
  • Added ValueError handling in price feed router for validation failures

v0.39.2 — improved error handling in property search endpoints

v0.39.2

Improved Error Handling in Property Search Endpoints

  • Improved error handling in property search endpoints to provide more detailed error messages.

v0.39.1 — backend improvements

v0.39.1

Backend Improvements

  • Backend improvents to caching and request logging.

v0.39.0 — signed prices endpoint

v0.39.0

New Endpoints

Price Feed (For-Sale Properties)

  • POST /v1/price_feed/latest with {parcl_ids: [...]} - Latest prices for multiple markets

Price Feed Rentals

  • POST /v1/price_feed_rentals/latest with {parcl_ids: [...]} - Latest rental prices

The responses on these new routes contain an Ed25519 signature which provides a cryptographically verified price message. This will be used to verify price data in the pull oracle.

v0.38.6 — property search v2 cache

v0.38.6

  • Add cache to property_search_v2 endpoint.

    Add cache layer to 'property_search_v2' endpoint to improve performance and reduce server loads.

v0.38.5 — price feed endpoint improvements

v0.38.5

  • Improve timeliness of prices in price_feed endpoints. Prices will now update daily around approximately 7:30 AM EST. Affected endpoints:

    • /v1/price_feed/{parcl_id}/price_feed
    • /v1/price_feed/price_feed
    • /v1/price_feed/{parcl_id}/rental_price_feed
    • /v1/price_feed/rental_price_feed
  • Deprecate volatility endpoints.

    • /v1/price_feed/{parcl_id}/volatility
    • /v1/price_feed/volatility

v0.38.4 — address endpoint error handling improvements

v0.38.4

  • Improve error handling for v1/property/search_address endpoint

v0.38.3 — address endpoint internal changes

v0.38.3

  • Minor change to v1/property/search_address endpoint

v0.38.2 — forbid extra request fields

v0.38.2

  • Throw an error if any fields other than the allowed ones are provided in the request in v2/property_search endpoint

v0.38.1 — property_events count fix

v0.38.1

  • Fixed a bug where the total available count was not being correctly calculated

v0.38.0 — New Entity Seller Field

v0.38.0

New Entity Seller Field

This release adds entity_seller_name  as both a filter parameter and response field to the v2/property_search endpoint. This field tracks which named large-scale entities sold properties during sale events, providing direct visibility into disposition activities by major operators.

  • Parameter: entity_seller_name - filter parameter for querying by seller entity

    The name of the entity that sold the property at the time of the sale event, if sold by a named large-scale operator.

  • Response: entity_seller_name - response field in event data

    The name of the entity that sold the property at the time of the sale event, if sold by a named large-scale operator.

  • Error: entity_seller_name must be used with at least one SALE event. Using it with only non-sale events will return no results because seller is NULL on all non-sale events.

Review the v2/property_search endpoint and investor documentation for the complete list of available named entity operators.

Update USA Parcl ID requiremts

  • Previously owner_name was required when querying the v2/property_search endpoint. Updated so that one of owner_name, entity_seller_name, or current_entity_owner_name is required.

v0.37.1 — Minor property_events fixes

v0.37.1

  • Fixed a bug where the item count was not being set correctly in the response when limit was provided
  • Fixed bug where parcl_property_ids limit set incorrectly. It is now set to 10,000 ids per request
  • Improved error messaging for parameter validation errors
  • Small backend improvements

v0.37.0 — Property API v2 Enhancements

v0.37.0

Important: SDK upgrade (v1.15.0) required to access new features.

This release introduces the enhanced /v2/property_search endpoint, which consolidates the v1 two-step workflow (find properties → get events) into a single configurable POST request. Users can now retrieve property metadata and housing-event history in one call with precise filtering.

Unified property search and event retrieval

The /v2/property_search endpoint replaces the previous two-step process with a single POST request that can return both property metadata and event history based on your configuration.

Search scope options

The endpoint supports three distinct search methods:

parcl_property_ids

Search specific properties by their unique identifiers. This search method supports up to 10,000 properties per request.

parcl_ids

Search entire markets (city, county, ZIP, metro) by market identifier.

geo_coordinates

Search within a custom radius around specified coordinates. Maximum radius of 10 miles.

Additional search filters

Control what data is returned to customize and optimize response:

include_property_details

Set to 1 to return full property metadata including address, geocode, beds/baths, year built, ownership status, etc. Set to 0 for ID and event-only responses.

include_events

Set to 1 to include any events  filtered by your event criteria. Set to 0 for metadata-only responses.

include_full_event_history

Set to 1 to return all recorded events for each property. Set to 0 to return only events matching your filters. include_events must be set to 1 as well in order to return the full event history.

Filtering capabilities

Current-state filters

Filter properties by current characteristics using new filtering capabilities introduced in v0.38.0.

These filters capture properties that currently meet specific criteria, including beds, baths, square footage, year built, on-market status, current owner name, investor/owner-occupied flags, and new-construction status.

Historical filters

  • event_filters: Filter by event types, date ranges, and price ranges
  • owner_filters: Filter properties by historical ownership or owner type

Pagination

Use limit parameter to control response size, supporting up to 50,000 properties per request.


Migration note: v1 endpoints remain available, but v2 offers improved performance and flexibility. Migration to v2 is recommended.

For questions, contact team@parcllabs.com, post on the community forum, or check the full Property API v2 reference.

v0.36.1 — Enhanced Property Documentation

v0.36.1

Enhanced Documentation Updated response documentation for v2/property_search with improved field descriptions for better developer experience.

v0.36.0 — New iBuyer Entities and On-Market Rental Market Flag

v0.36.0

Added two new iBuyer entities (Opendoor, Offerpad), a new rental market flag to identify single family homes currently listed for rent and 50,000 record request limit.

New iBuyer Entities

Added support for two new institutional entity_owner_name values:

  • OPENDOOR
  • OFFERPAD

Search for these iBuyers in:

  • property/search
  • property/event_history
  • v2/property_search

Learn more about our true owner methodology here.

New Rental Market Flag

Added current_on_market_rental_flag to identify single family homes currently listed for rent.

current_on_market_rental_flag 

Boolean flag indicating whether the property is a single family home currently listed on the market for rent.

0 signifies that the property is not currently listed on the market for rent

1 signifies that the property is currently listed on the market for rent

NULL signifies that either the current on-market status is unknown or the property is not a single family home

Use current_on_market_rental_flag to filter single family homes currently listed on the market for rent in:

  • property/search
  • v2/property_search

This field adds to current_on_market_flag which identified properties currently listed on the market for sale.

New API Limit

Changed the limit of records that can be pulled in one request to 50,000 homes, down from 100,000.

v0.35.0 — Current On-Market Parameter for Property Search V2

v0.35.0

Added Current On-Market Parameter ro Property Search V2

The Property Search V2 Endpoint now includes a real-time indicator of market status

current_on_market_flag

Boolean flag indicating if the property is currently listed on the market for sale.

0 signifies that the property is not currently listed on the market for sale

1 signifies that the property is currently listed on the market for sale

This enhancement allows users to easily identify properties actively available for purchase. The indicator is updated daily to ensure accurate, timely market availability data.

v0.34.1 — Property Search V2 Endpoint Improvements

v0.34.1

Property Search V2 Endpoint Improvements.

Property Search V2 Endpoint Improvements

  • Query time optimization to the Geo Coordinate search
  • Default limit of properties to be returned in the property search endpoints now defaults to 1000, with a max limit allowed of 100,000

v0.34.0 — Property Search Endpoint Release

v0.34.0

Stable release of the /v2/property_search endpoint.

Stable Release of /v2/property_search Endpoint

The /v2/property_search endpoint is officially out of beta and now stable and ready for use in production environments. The endpoint is now available for all users.

v0.33.1 — New Institutional Owner: My Community Homes

v0.33.1

Shipped one new true owner entity name.

New True Owner Entity:

Added support for MY_COMMUNITY_HOMES as an institutional entity_owner_name .

Search for MY_COMMUNITY_HOMES in:

  • property/search
  • property/event_history
  • v2/property_search

Learn more about out our true owner methodology here.

v0.33.0 — V2-Beta-Endpoint-Enhancements

v0.33.0

This release adds support for additional filtering and querying capabilities to the /v2/property_search endpoint.

  • Add support for querying by parcl_property_id
  • Add support for searching by geographic coordinates
  • Add support for filtering by record_updated_date and record_added_date for property metadata

Add support for querying by parcl_property_id

The /v2/property_search endpoint now supports querying by parcl_property_id. This allows users to search for properties by their unique identifier.

parcl_property_id

A list of unique identifiers for properties.

Add support for searching by geographic coordinates

The /v2/property_search endpoint now supports searching by geographic coordinates. This allows users to search for properties within a specific radius of a given latitude and longitude. Latitude and longitude are specified in decimal degrees and are restricted to the Continental United States, Alaska, and Hawaii.

geo_coordinates

A dictionary containing the following keys:

  • latitude: The latitude of the center of the search radius.
  • longitude: The longitude of the center of the search radius.
  • radius: The radius of the search in miles, maximum of 10 miles.

Add support for additional filtering using record_updated_date and record_added_date for property metadata

The /v2/property_search endpoint now supports filtering by the date when a property or event was last updated or added to the database.

The following parameters are supported:

record_updated_date

  • min_record_updated_date: Specifies the beginning of the query period for when property event metadata was last modified in the property record tracking system, inclusive, in ISO 8601 format, i.e. YYYY-MM-DD. Events existing before tracking implementation are marked as 2024-12-13. Defaults to 2024-12-13.
  • max_record_updated_date: Specifies the end of the query period for when property event metadata was last modified in the property record tracking system, inclusive, in ISO 8601 format, i.e. YYYY-MM-DD. Events existing before tracking implementation are marked as 2024-12-13. Defaults to NULL.

record_added_date

  • min_record_added_date: Specifies the beginning of the query period for when properties were added to the property record tracking system, inclusive, in ISO 8601 format, i.e. YYYY-MM-DD. Properties existing before tracking implementation are marked as 2024-12-13. Defaults to 2024-12-13.
  • max_record_added_date: Specifies the end of the query period for when properties were added to the property record tracking system, inclusive, in ISO 8601 format, i.e. YYYY-MM-DD. Properties existing before tracking implementation are marked as 2024-12-13. Defaults to NULL.

v0.32.0 — Current On-Market Status Field, Property Search Enhancement

v0.32.0

Added Current On-Market Status Field

The Property API now includes a real-time indicator of market status through the /v1/property/search endpoint:

current_on_market_for_sale

Boolean flag indicating if the property is currently listed on the market for sale.

0 signifies that the property is not currently listed on the market for sale

1 signifies that the property is currently listed on the market for sale

This enhancement allows users to easily identify properties actively available for purchase. The indicator is updated daily to ensure accurate, timely market availability data.

v0.28.0 — Address Intelligence, Beta Flexible Property Queries, Price Cut Metric Update

v0.28.0

This release transforms address search from simple validation to rich property intelligence, introduces a powerful unified property and event query engine in beta, and enhances price reduction tracking capabilities.

What's New & Why It Matters:

🔍 Smarter Address Search: Complete property context with every address-level property search → available here: /v1/property/search_address

🎯 Unified Query Engine (Beta): Property and event analysis through a single, flexible endpoint → available here: /v2/property_search

📉 Enhanced Price Cut Metrics: New percentage-based tracking of inventory price reductions → available here: /v1/for_sale_market_metrics/{parcl_id}/for_sale_inventory_price_changes

Added Address Search Enhancements

Address Search now delivers comprehensive property intelligence through /v1/property/search_address. Our enhanced resolution engine transforms each address query into detailed property insights. Each search returns:

  • Unique identifier: parcl_property_id for additional API queries
  • Physical attributes: bedrooms, bathrooms, square footage, year built
  • Location intelligence: precise geospatial coordinates plus full geographic hierarchy with associated market identifiers
  • Event analytics: flags for past sales, rentals, and listings since 2010
  • Current ownership status: owner occupancy, investor ownership, institutional owner
  • Optional mapping: maintain your system IDs via source_id

Expanded response payload now includes comprehensive property details:

{
  "items": [{
    "parcl_property_id": 12345,
    "address": "123 Main St",
    "unit": "4B",
    "city": "New York",
    "zip_code": "10001",
    "state_abbreviation": "NY",
    "county": "New York County",
    "cbsa": "New York-Newark-Jersey City",
    "latitude": 40.7505,
    "longitude": -73.9965,
    "property_type": "CONDO",
    "bedrooms": 2,
    "bathrooms": 2.0,
    "square_footage": 1200,
    "year_built": 1930,
    "cbsa_parcl_id": 2900187,
    "county_parcl_id": 2899750,
    "city_parcl_id": 2899625,
    "zip_parcl_id": 2899500,
    "event_count": 5,
    "event_history_sale_flag": 1,
    "event_history_rental_flag": 0,
    "event_history_listing_flag": 1,
    "current_new_construction_flag": 0,
    "current_owner_occupied_flag": 1,
    "current_investor_owned_flag": 0,
    "current_entity_owner_name": null,
    "source_id": "internal_id_123"
  }],
  "account": {
    "est_credits_used": 1,
    "est_remaining_credits": 9999
  }
}

Beta Release: Unified Property Query Engine (Premium Feature)

New /v2/query endpoint combines and enhances property search and event history capabilities:

  • Before: Two-step process
    1. Search properties via /v1/property/search with limited filtering
    2. Pull events via /v1/property/events for each property
  • Now: Single unified query
    • One request combines property search and event history
    • Rich filtering across all dimensions:
      • Property attributes (beds, baths, sqft, year built)
      • Event details (type, date ranges, price thresholds)
      • Ownership characteristics (investor status, institutional owners)
    • Support for focused queries AND bulk operations
    • Optimize credit usage with sorting and limit parameters

Example request:

{
  "event_filters": {
    "event_names": [
      "SOLD",
      "PENDING_SALE",
      "LISTED_RENT"
    ],
    "is_new_construction": false,
    "max_event_date": "2024-12-31",
    "max_price": 800000,
    "min_event_date": "2023-01-01",
    "min_price": 100000
  },
  "owner_filters": {
    "is_investor_owned": true,
    "is_owner_occupied": false,
    "owner_name": [
      "PROGRESS_RESIDENTIAL"
    ]
  },
  "parcl_ids": [
    2899625,
    2900187
  ],
  "property_filters": {
    "include_property_details": true,
    "max_beds": 5,
    "max_year_built": 2020,
    "min_baths": 1,
    "min_beds": 1,
    "min_sqft": 1000,
    "min_year_built": 2010,
    "property_types": [
      "SINGLE_FAMILY"
    ]
  },
  "query_type": "property_events"
}

Available to paid subscribers during beta period. We are actively seeking feedback on this new endpoint to guide future enhancements - please share your experience in our forum or email us directly at team@parcllabs.com.

Added Price Reduction Metrics Enhancement

New pct_inventory_price_drop field added to /v1/for_sale_market_metrics/{parcl_id}/for_sale_inventory_price_changes endpoint.

  • Shows percentage of active inventory with price reductions
  • Complements existing price change metrics to provide clearer view of downward price pressure

Example response now includes:


{
  "date": "2025-02-14",
  "count_price_change": 150,
  "count_price_drop": 120,
  "median_days_bt_change": 28,
  "median_price_change": -15000,
  "median_pct_price_change": -3.2,
  "pct_inventory_price_change": 15.5,
  "pct_inventory_price_drop": 12.4 // New field showing % of inventory with price cuts
}

The addition of pct_inventory_price_drop makes it easier to track market-level price reduction trends by isolating properties with price cuts from those with any price changes.

v0.26.0 — Property Data Updates & Incremental Sync Support

v0.26.0

This release introduces new capabilities for tracking data freshness and enabling efficient incremental updates across our property endpoints.

What's New & Why It Matters:

  • 🔍 Track New Properties: Find properties newly added to our database since your last query using Property Search endpoint's new record_added_date filtering
  • 🔄 Efficient Data Sync: Only pull new or updated records using Property Events endpoint's new record_updated_date filtering

Added

Property Search Endpoint

New Query Parameters

  • record_added_date_start: Specifies the beginning of the query period for when properties were added to the property record tracking system, inclusive, in ISO 8601 format (YYYY-MM-DD). Properties existing before tracking implementation are marked as 2024-12-13. Defaults to 2024-12-13.
  • record_added_date_end: Specifies the end of the query period for when properties were added to the property record tracking system, inclusive, in ISO 8601 format (YYYY-MM-DD). Properties existing before tracking implementation are marked as 2024-12-13. Defaults to NULL.

New Response Field

  • record_added_date: Date when property (parcl_property_id) was added to the property record tracking system. Properties that existed before tracking implementation are marked as 2024-12-13. Properties added after this date (such as new construction) will show their actual date of addition to the index.

Example Response

{
  "items": [
    {
      "parcl_property_id": 0,
      "address": "string",
      "unit": "string",
      "city": "string",
      "zip_code": "string",
      "state_abbreviation": "string",
      "county": "string",
      "cbsa": "string",
      "latitude": 0,
      "longitude": 0,
      "property_type": "string",
      "bedrooms": 0,
      "bathrooms": 0,
      "square_footage": 0,
      "year_built": 0,
      "cbsa_parcl_id": 0,
      "county_parcl_id": 0,
      "city_parcl_id": 0,
      "zip_parcl_id": 0,
      "event_count": 0,
      "event_history_sale_flag": 0,
      "event_history_rental_flag": 0,
      "event_history_listing_flag": 0,
      "current_new_construction_flag": 0,
      "current_owner_occupied_flag": 0,
      "current_investor_owned_flag": 0,
      "current_entity_owner_name": "string",
      "record_added_date": "2025-01-24"
    }
  ],
  "account": {
    "est_credits_used": 250,
    "est_remaining_credits": 9750
  }
}

Property Events Endpoint

New Query Parameters

  • record_updated_date_start: Specifies the beginning of the query period for when property event metadata was last modified in the property record tracking system, inclusive, in ISO 8601 format (YYYY-MM-DD). Events existing before tracking implementation are marked as 2024-12-13. Defaults to 2024-12-13.
  • record_updated_date_end: Specifies the end of the query period for when property event metadata was last modified in the property record tracking system, inclusive, in ISO 8601 format (YYYY-MM-DD). Events existing before tracking implementation are marked as 2024-12-13. Defaults to NULL.

New Response Field

  • record_updated_date: Date when property (parcl_property_id) event metadata was last modified in the property record tracking system. Events that existed before tracking implementation are marked as 2024-12-13. Events modified after this date (such as sale index updates or ownership changes) will show their actual date of modification in the index.

Example Response

{
  "items": [
    {
      "parcl_property_id": 0,
      "event_date": "2025-01-24",
      "event_type": "string",
      "event_name": "string",
      "price": 0,
      "owner_occupied_flag": 0,
      "new_construction_flag": 0,
      "investor_flag": 0,
      "entity_owner_name": "string",
      "current_owner_flag": 0,
      "transfer_index": 0,
      "true_sale_index": 0,
      "record_updated_date": "2025-01-24"
    }
  ],
  "account": {
    "est_credits_used": 250,
    "est_remaining_credits": 9750
  }
}

Example Use Cases

Tracking New Properties Added to Database

To identify any new properties added to the database (could include new construction, newly discovered properties, or data improvements):

# Get all properties added in the last week
new_properties = client.property.search.retrieve(
    record_added_date_start='2025-01-17',
    record_added_date_end='2025-01-24'
)

print(f"Found {len(new_properties)} new properties added to the database")

Monitoring Recent Events

To track properties with new or updated sale events:

# Get all sale events that were recorded or updated in the last week
recent_sales = client.property.events.retrieve(
    parcl_property_ids=[...],
    event_type='SALE',
    record_updated_date_start='2025-01-17',
    record_updated_date_end='2025-01-24'
)

# These could include:
# - Newly recorded sales
# - Updated sale events (e.g., transfer index changes)
# - Backfilled historical sales
print(f"Found {len(recent_sales)} new or updated sale events")

Note: Property record tracking began on December 13, 2024. All properties and events that existed in our database before this date are marked with "2024-12-13" as their record_added_date or record_updated_date. This provides a clear demarcation between historical data and new/modified records.

v0.25.1 — Fix credit check for property search Endpoints

v0.25.1

Fixed a bug in credit check that restricted users in the Basic tier from using the property search endpoints.

v0.25.0 — Refreshed App

v0.25.0

v0.25.0 is our biggest API upgrade yet - a top-to-bottom refresh deeply informed by your feedback. We've focused on what matters most: more data, simpler experience, and easier access to tools to build with.

TL;DR - What's New:

🚀 New API dashboard with personalized resource hub

🚀 Basic tier: Now 1,000 free monthly credits + access to property data

🚀 Pro tier: Now 1M monthly credits (50x more!) + credit rollover + annual option

🚀 Streamlined credit management across all endpoints

⚠️ Note: Breaking changes in property endpoints - SDK update required.

Here’s what you need to know:

New API Application Experience

What's new:

  • Clean, modern interface
  • Streamlined onboarding
  • Smart profiles that customize your experience:
    • Select "Lab Technician" if you're a developer - we'll prioritize technical resources
    • Choose "Market Explorer" if you're focused on housing research
  • New market intelligence hub with personalized resources and research
  • Enhanced API dashboard with improved credit management

Better Credits Plans

What's new:

  • Basic plan (free)
    • 1,000 free credits/month (5x more data!)
    • Full access to all endpoints, including property data - previously a premium-only feature
  • Pro plan ($99/month or $999/year)
    • 1M monthly credits (50x more data at the same price!)
    • New credit rollover - bank any unused credits and accumulate across cycles, giving you flexibility to access credits as you need
    • Annual option: Get all 12M credits upfront to use throughout the year and save two months off the price

These plans offer the best value in housing data - upgrade here to get immediate access.

Cross API Updates

What's new:

  • All endpoints now include credit management fields in all responses to help you track usage:
"account": {
    "est_credits_used": 1,
    "est_remaining_credits": 999
}

Definitions:

  • est_credits_used: Estimated number of credits used for this request
  • est_remaining_credits: Estimated remaining credits after this request

Property Endpoint Updates

What's new:

  • Easier credit management for properties
    • New credit management fields are especially valuable for property endpoints, where data volume can vary by request
    • In addition to the new credit management fields, we've introduced a simplified credit calculation:
      • Now 1 property = 1 credit, regardless of events returned
      • Significantly increases the value per credit
      • Makes credit usage more predictable
  • Enhanced Address Search endpoint
    • Now returns clean, validated address information for every provided property
    • Response format:
{
  "items": [
	  {
	    "address": "123 Main St",
	    "unit": "string",
	    "city": "Los Angeles",
	    "state_abbreviation": "AK",
	    "zip_code": "90001",
	    "source_id": "123"
	  }
  ],
  "account": {
    "est_credits_used": 1,
    "est_remaining_credits": 999
  }
}

Pro tip: Use Address Search for address verification and database cleansing - our AI/ML matching system standardizes messy input data into clean property indexes and addresses. Learn more about Address Search here.

⚠️ Breaking Change: Property endpoint updates require SDK updates. Please upgrade your SDK to access these new features.

v0.24.0 — 3 New Institutional True Owner Entities

v0.24.0

Shipped three new owner entity names.

New True Owner Entities

Added support for these institutional owners:

  • MAYMONT_HOMES
  • SFR3
  • VINEBROOK_HOMES

Use these entities in:

  • property/search
  • property/event_history

Learn more about out our true owner methodology here.

v0.23.0 — Docs Refactor and General Performance Improvements

v0.23.0

  • Docs Refactor: Refactor README docs to have 3 separate sections: Price Feed, Property, and Housing Metrics. Each section will encompass relevant endpoints.

  • General Performance Improvements: Internal improvements to the API infrastructure have been made to enhance performance and reliability. These changes are not expected to impact the functionality or behavior of the API endpoints.

v0.22.0 — Enhanced Market Metrics: New Transaction Types for Improved Market Analysis

0.22.0

We're introducing enhanced transaction classifications across our metrics endpoints, bringing the granular insights from our property-level data to our aggregated metrics. These changes bring powerful new capabilities to your market analysis:

  • Greater precision and visibility in distinguishing between market-rate sales and other transfers
  • Consistent transaction classification across property-level and aggregated metrics
  • Enhanced ability to track institutional investor activity via integration of SOLD_INTER_PORTFOLIO_TRANSFER and NON_ARMS_LENGTH_INTRA_PORTFOLIO_TRANSFER

Transaction Classifications

Our metrics now distinguish between different types of property transfers:

Sales (Arms-Length Transactions)

  • SOLD: Transactions conducted at fair market value between unrelated parties.
  • SOLD_INTER_PORTFOLIO_TRANSFER: Transactions between two distinct entities.

Transfers (Non Arms Length Transactions)

  • NON_ARMS_LENGTH_TRANSFER: Transfers where the buyer and seller have a pre-existing relationship (e.g., identical last names) or the transaction isn't at fair market value (price is $0 and not in a Non-Disclosure state).
  • NON_ARMS_LENGTH_INTRA_PORTFOLIO_TRANSFER: Transfers within the same entity portfolio.

Key Changes and Technical Details

Market Metrics

All Cash /v1/market_metrics/{parcl_id}/all_cash

{
  "date": "2024-01-01",
  "count_sales": 800,
  "pct_sales": 25.5,
  "count_transfers": 1000,
  "pct_transfers": 30.0
}
  • count_sales: Count of all cash arms-length sales (SOLD and SOLD_INTER_PORTFOLIO_TRANSFER)
  • pct_sales: Percentage of arms-length sales (SOLD and SOLD_INTER_PORTFOLIO_TRANSFER) within the specified <parcl_id> completed as all cash transactions
  • count_transfers: Count of all cash transfers across all SALE types (arms-length and non-arms-length)
  • pct_transfers: Percentage of transfers across all SALE types (arms-length and non-arms-length) within the specified <parcl_id> completed as all cash transactions

Housing Event Counts /v1/market_metrics/{parcl_id}/housing_event_counts

{
  "date": "2024-01-01",
  "sales": 500,
  "new_listings_for_sale": 800,
  "new_rental_listings": 400,
  "transfers": 750
}
  • sales: Completed arms-length sales (SOLD and SOLD_INTER_PORTFOLIO_TRANSFER) for the specified <parcl_id> within the given month
  • new_listings_for_sale: Properties newly listed for sale for the specified <parcl_id> within the given month
  • new_rental_listings: Properties newly listed for rent for the specified <parcl_id> within the given month
  • transfers: Completed transfers across all SALE types (arms-length and non-arms-length) for the specified <parcl_id> within the given month

Investor Metrics

Housing Event Counts /v1/investor_metrics/{parcl_id}/housing_event_counts

{
  "date": "2024-01-01",
  "acquisitions": 150,
  "dispositions": 75,
  "new_listings_for_sale": 200,
  "new_rental_listings": 300,
  "transfers": 250
}
  • acquisitions: Total number of investor arms-length acquisitions (SOLD and SOLD_INTER_PORTFOLIO_TRANSFER) for the specified <parcl_id> within the given month
  • dispositions: Total number of investor arms-length dispositions (SOLD and SOLD_INTER_PORTFOLIO_TRANSFER) for the specified <parcl_id> within the given month
  • new_listings_for_sale: Total number of investor-owned properties newly listed for sale for the specified <parcl_id> within the given month
  • new_rental_listings: Total number of investor-owned properties newly listed for rent for the specified <parcl_id> within the given month
  • transfers: Total number of investor transfers across all SALE types (arms-length and non-arms-length) for the specified <parcl_id> within the given month

Purchase to Sale Ratio /v1/investor_metrics/{parcl_id}/purchase_to_sale_ratio

{
  "date": "2024-01-01",
  "purchase_to_sale_ratio": 1.5
}
  • purchase_to_sale_ratio: Investor purchase to sale ratio within a given month, calculated by dividing the number of investor purchases (acquisitions) by the number of investor sales (dispositions)
    • 1.00: Equal numbers of purchases and sales, achieving a 1:1 balance
    • 1.00: More purchases than sales
    • <1.00: More sales than purchases
    • 0: No purchases (numerator = 0)
    • NULL: No sales (denominator = 0)

Portfolio Metrics

SF Housing Event Counts /v1/portfolio_metrics/{parcl_id}/sf_housing_event_counts

{
  "date": "2024-01-01",
  "acquisitions": 150,
  "dispositions": 75,
  "new_listings_for_sale": 200,
  "new_rental_listings": 300,
  "transfers": 250
}
  • acquisitions: Total number of investor arms-length acquisitions (SOLD and SOLD_INTER_PORTFOLIO_TRANSFER) of single family properties, segmented by portfolio size, for the specified <parcl_id> within the given month
  • dispositions: Total number of investor arms-length dispositions (SOLD and SOLD_INTER_PORTFOLIO_TRANSFER) of single family properties, segmented by portfolio size, for the specified <parcl_id> within the given month
  • new_listings_for_sale: Total number of investor-owned, newly listed for sale single family properties, segmented by portfolio size, for the specified <parcl_id> within the given month
  • new_rental_listings: Total number of investor-owned, newly listed for rent single family properties, segmented by portfolio size, for the specified <parcl_id> within the given month
  • transfers: Total number of investor transfers across all SALE types (arms-length and non-arms-length) of single family properties, segmented by portfolio size, for the specified <parcl_id> within the given month

New Construction Metrics

Housing Event Counts /v1/new_construction_metrics/{parcl_id}/housing_event_counts

{
  "date": "2024-01-01",
  "sales": 100,
  "new_listings_for_sale": 300,
  "new_rental_listings": 150,
  "transfers": 125
}
  • sales: Total number of arms-length sales (SOLD and SOLD_INTER_PORTFOLIO_TRANSFER) of new construction properties for the specified <parcl_id> within the given month
  • new_listings_for_sale: Total number of new construction properties newly listed for sale for the specified <parcl_id> within the given month
  • new_rental_listings: Total number of new construction properties newly listed for rent for the specified <parcl_id> within the given month
  • transfers: Total number of transfers across all SALE types (arms-length and non-arms-length) of new construction properties for the specified <parcl_id> within the given month

Developer Notes

  • New sales, acquisitions, and dispositions fields specifically track arms-length transactions (SOLD and SOLD_INTER_PORTFOLIO_TRANSFER)
  • New transfers field captures all transaction types, providing a complete view of property movement
  • For genuine market-rate transaction analysis, use the sales/acquisitions/dispositions fields
  • For total transaction volume, use the transfers field
  • All cash metrics now provide both market-rate (count_sales/pct_sales) and total transaction (count_transfers/pct_transfers) views
  • Pricing endpoints across API now explicitly include only arms-length sales (SOLD and SOLD_INTER_PORTFOLIO_TRANSFER). Data and JSON structure remain unchanged.

We welcome your feedback on these enhancements and look forward to seeing how they improve your housing market analysis workflows.

v0.21.0 — New Address Search Endpoint: Precise Property Identification

0.21.0

We're excited to introduce a key addition to our API that enhances property-level data access:

New Endpoint: /v1/property/search_address (POST)

Search for a specific address and retrieve the corresponding for the property. The is key for navigating the Parcl Labs API, serving as the core mechanism for retrieving detailed property-level information in other property endpoints.

Key Features and Technical Details

  • Flexible Address Lookup
    • Request payload (JSON):
      • Required: address, city, state_abbreviation, zip_code
      • Optional: unit, source_id
    • Response: parcl_property_id and source_id (if provided)
  • Efficient Batch Processing
    • Support for up to 100 address lookups per request
    • Optimized for rapid response times

Developer Notes

  • parcl_property_id is the key to accessing detailed property data, especially in /v1/property/event_history. Use this endpoint to obtain parcl_property_id values for subsequent API calls
  • Complements /v1/property/search by allowing lookups of specific addresses
  • Ensure precise formatting of address components
  • source_id can be used to maintain mappings between your system's identifiers and our parcl_property_id

We welcome your feedback on this new capability and look forward to seeing how it streamlines your property data workflows.

v0.20.1 — Fix Bug in /property/search Endpoint

v0.20.1

  • Fix Bug in property/search endpoint: Fix a small bug in /property/search endpoint that was causing a validation error when searching for properties in the USA Parcl Id (5826765). The currenty_entity_owner_name field was not being properly validated and was causing the error. This has been fixed and the endpoint is now working as expected.

v0.20.0 — Enhanced Sale Event Insights, Improved Performance, and Data Standardization

v0.20.0

We’re excited to announce several major updates that enhance the functionality and performance of our API:

  1. Enhanced Property Event History: New event types and fields for richer transaction context, including inter/intra-portfolio transfers and improved sale indexing.
  2. Optimized Performance: Faster response times for property/search and property/event_history endpoints.
  3. Standardized ZIP Codes: Streamlined data structure using Census-based ZIP codes for more robust historical comparisons.

1. Additional Context for Housing Events in Property/Event_history

We've added new event types and fields to provide richer context around property transactions. These additions leverage our comprehensive data sources to create our own event indexing based on the actual transaction details, including deal value and involved parties. This approach eliminates single-source risk where transactions might be misreported.

Our intra and inter portfolio sale events are highly differentiated, specialized fields. Our true owner, portfolio-level indexing allows us to distinguish between units being transferred within portfolios (such as for tax purposes) and those changing hands to new entities (like in portfolio sales, mergers, or bulk purchases of BTR communities). This granular insight provides a more accurate picture of real estate market dynamics.

New Event Types

Sale Events:

SOLD: Transactions conducted at fair market value between unrelated parties.

Example: A individual purchases a home from a seller they have no prior relationship with for $350,000, which aligns with current market values in the area. This transaction represents a genuine market sale and can be used in analyses to determine true property values and market trends.

NON_ARMS_LENGTH_TRANSFER: Transfers where the buyer and seller have a pre-existing relationship (e.g., identical last names) or the transaction isn’t at fair market value (price is $0 and not in a Non-Disclosure state).

Example: A homeowner transfers their property to their child for $1. This transaction doesn't reflect market value and involves related parties, allowing analysts to exclude it from fair market value calculations and trend analyses.

SOLD_INTER_PORTFOLIO_TRANSFER: Transactions between two distinct entities.

Example: Invitation_Homes purchases a bulk set of properties from a large homebuilder. This represents a genuine transfer of assets between separate companies.

NON_ARMS_LENGTH_INTRA_PORTFOLIO_TRANSFER: Transfers within the same entity portfolio.

Example: Tricon updates its LLC associated with a property for a new tax year. This is not a true sale event / acquisition and can now be tracked/filtered as such.

New Fields for Sales History Context

current_owner_flag: Indicates if the listed owner is the current owner at the time of the event.

transfer_index: Counts the number of transfers (any SALE event) a property has undergone up to the event date.

true_sale_index: Counts genuine property sales resulting in ownership changes under fair market conditions (SOLD) up to the event date.

We believe these updates will significantly improve your experience and analytical capabilities with our property level data. Thank you for your continued support and feedback!

2. Enhanced Performance for Property-Level Endpoints

Improved Backend Performance: We’ve optimized the backend for the property/search and property/event_history endpoints. You can expect faster response times and more efficient data retrieval.

3. Reformatted ZIP Columns in Property/Search

Streamlined Data: We have reformatted the ZIP code columns in our responses, removing the USPS fields and standardizing on Census-based ZIP codes. This change simplifies data structures, reduces clutter, and enhances data processing efficiency. This version of the ZIP code endpoint enables more robust historical comparisons, as Census-based ZIP codes provide greater stability over time compared to those from the USPS.

Breaking Change: Please note that this is a breaking change requiring an SDK update. Ensure you update your SDK to the latest version to accommodate these changes.

v0.19.0 — deprecate search_markets endpoint and performance improvements

v0.19.0

v0.19.0 brings the deprecation of the property_search endpoint and performance improvements.

Deprecation of Property Search Endpoint

  • Search Markets Endpoint Deprecation: The property/search_markets endpoint has been deprecated. Please use the property/search endpoint moving forward.

Performance Improvements

  • Property Search Backend Optimizations: We’ve implemented additional backend optimizations to improve the performance of the property/search endpoint.

v0.18.0 — 3 New Entity Names, Event History Redesign, and Performance Updates

v0.18.0

v0.18.0 brings 3 new entity names, performance improvements, and event history redesign.

New Entity Names

Building on our true ownership work from v0.16.0, see changelog, we are introducing three additional owner names:

  • PROGRESS_RESIDENTIAL
  • FIRSTKEY_HOMES
  • AMHERST These are available to use as parameters in both the property/search and property/event_history endpoints.

Redesigned Property Events

  • Property Metadata Removal: The /property/event_history endpoint does not include property metadata as this is now available in the new property/search endpoint.

Sample Output:

{
  "parcl_property_id": 12345,
  "event_date": "2024-08-29",
  "event_type": "string",
  "event_name": "string",
  "price": 0,
  "owner_occupied_flag": 0,
  "new_construction_flag": 0,
  "sale_index": 0,
  "investor_flag": 0,
  "entity_owner_name": "string"
}

Performance Enhancements and Bug Fixes

  • Backend Optimization: We’ve implemented substantial backend optimizations to ensure efficient bulk data retrieval.
  • Investor Flag Bug Fix: Resolved issue that was causing the investor_flag field to not populate for properties that are not currently owned or have not been owned by a named entity.

v0.17.0 — 12 New Bulk Data POST Endpoints, Investor Insights, Enhanced Property Search, and Performance Boost

v0.17.0

v0.17.0 brings powerful new tools for bulk data retrieval, deeper insights into property ownership, and substantial performance improvements.

What’s new:

  • 💪 12 new POST endpoints for bulk data retrieval across Rental, Investor, and Portfolio metrics
  • 💰 Added investor_flag and entity_owner_name fields to all property events
  • 🚀 Redesigned property search with optimized performance for bulk property data pulls
  • 🛠️ Significant performance enhancements and bug fixes across the API and SDK

Read on for full details:

12 New POST Endpoints for Bulk Data Retrieval

We've added 12 new POST endpoints across Rental Market Metrics, Investor Metrics, and Portfolio Metrics categories. These endpoints allow you to retrieve data for up to 1000 parcl_ids in a single request, enabling efficient bulk data collection across multiple markets.

Rental Market Metrics (3 new endpoints):

  • Gross Yield: Get percent gross yield for specified parcl_ids.
  • New Listings For Rent Rolling Counts: Get weekly updated rolling counts of newly listed rental properties.
  • Rental Units Concentration: Get rental unit counts, total units, and rental concentration percentages.

Investor Metrics (5 new endpoints):

  • Housing Event Counts: Get monthly counts of investor housing events.
  • Housing Event Prices: Get monthly median prices for investor housing events.
  • Housing Stock Ownership: Get counts and percentages of investor-owned properties.
  • New Listings For Sale Rolling Counts: Get weekly updated rolling counts of investor-owned properties newly listed for sale.
  • Purchase To Sale Ratio: Get monthly investor purchase-to-sale ratios.

Portfolio Metrics (4 new endpoints):

  • SF Housing Event Counts: Get monthly counts of investor-owned single-family property events, segmented by portfolio size.
  • SF Housing Stock Ownership: Get counts and percentages of investor-owned single-family properties, segmented by portfolio size.
  • SF New Listings For Rent Rolling Counts: Get weekly updated rolling counts of investor-owned single-family properties newly listed for rent, segmented by portfolio size.
  • SF New Listings For Sale Rolling Counts: Get weekly updated rolling counts of investor-owned single-family properties newly listed for sale, segmented by portfolio size.

Enhanced Property Events

We've added two new fields to property events, providing deeper insights into involved owners for every event across sales, listings, and rentals:

  • investor_flag: A boolean flag indicating if the property is owned by an investor at the time of the event.
    • 0: Not investor-owned
    • 1: Investor-owned
    • NULL: Unknown status
  • entity_owner_name: The name of the entity that owns the property at the time of the event, if owned by a named large-scale operator. Possible values: AMH, TRICON, INVITATION_HOMES, HOME_PARTNERS_OF_AMERICA, NULL

Redesigned Property Search

We have introduced major enhancements to our property search API:

  • Pagination Removal: The /property/search endpoint now returns all properties matching the search parameters in a single request, eliminating pagination. Some queries may return over a million records at once.
  • Backend Optimization: We’ve implemented substantial backend optimizations to ensure efficient bulk data retrieval.
  • SDK Updates: The SDK has been refactored to align with these changes. Tutorials will be provided to guide users in handling large data pulls when querying the API directly.

Performance Enhancements and Bug Fixes

  • For the /property/event_history endpoint:
    • The endpoint can now support 10,000 parcl_property_ids in one request. Previously it was limited to 1,000
    • Fixed an issue where properties with null events for a given query were incorrectly exposed in the endpoint
  • Corrected the price_feed category POST endpoints to accept dates prior to January 01, 2019
  • Resolved an SDK bug to ensure accurate listing of units for bulk pulls (many markets)

As always, we welcome your feedback. Happy building!

v0.16.2 — General Performance Improvements

v0.16.2

  • General Performance Improvements: Internal improvements to the API infrastructure have been made to enhance performance and reliability. These changes are not expected to impact the functionality or behavior of the API endpoints.

v0.16.1 — Property Location Metadata Bug Fix

v0.16.1

  • Property Location Metadata Bug Fix: Units that do not fall within a proper location like city were throwing errors due to strict null handling. Nulls are now an acceptable return type for all unit location metadata.

v0.16.0 — True Entity Ownership, Investor Flag, and Enhanced Property Search

v0.16.0

Parcl Labs has launched a new, enhanced property search endpoint. We've also added new true entity mapping accessibility via both the new property search and events endpoints.

True Entity Owner and Investor Flag Update

Parcl Labs introduces industry-leading True Entity Ownership tracking in real estate. Our technology maps corporate entities to their LLCs and individual properties, revealing true ownership structures. Additionally, we've implemented a broader investor identification system at the property-level that goes beyond just the tracked entities.

Initial entity launch includes:

  • Top Public REITs: Invitation Homes (INVH), American Homes 4 Rent (AMH)
  • Blackstone portfolio: Tricon Residential, Home Partners of America

Integration in New Property Search Endpoint

  • New search parameter: Filter properties by current ownership of specific operator entities (AMH, TRICON, INVITATION_HOMES, HOME_PARTNERS_OF_AMERICA)
  • Additional parameter to filter for all investor-owned properties, regardless of specific entity
  • Response includes current ownership insights for each property

Integration in Property Events Endpoint

New Investor Fields in Property Events:

  1. investor_flag: Boolean flag indicating if the property is owned by any type of investor at the time of the event. This flag identifies all investor-owned properties, not just those owned by tracked entities. Please reference our investor methodology here: https://docs.parcllabs.com/reference/investor-metrics-1
  2. entity_owner_name: The name of the entity that owns the property at the time of the event, if owned by a named large-scale operator.
    • Name of true corporate owner if tracked and available (AMH, TRICON, INVITATION_HOMES, HOME_PARTNERS_OF_AMERICA)
    • NULL if not a tracked entity or not investor-owned

While the investor_flag identifies all investor-owned properties, the entity_owner_name specifically identifies ownership by the tracked large-scale operators.

Impact:

  • Reveals true corporate ownership at each property event
  • Enables tracking of institutional investor activities
  • Facilitates analysis of corporate ownership impact on real estate markets
  • Provides broader insights into investor activity beyond just tracked entities

Note: Entity coverage will expand over time. Other top institutional SFR operators are on the immediate roadmap.

New Property Search Endpoint

After a month in beta, our property-level data API has evolved significantly based on valuable user feedback. We're excited to introduce a new, much more powerful property search endpoint that addresses key user needs and provides unprecedented flexibility and depth in property data retrieval.

What’s New

  • Flexibility: Search across more market types (not just ZIP) with greater precision, allowing for both broad market analysis and pinpoint property identification.
  • Complete Results: Get information on all units within a market boundary, not just those with recent events.
  • Insights at a Glance: Receive analytics and location data for each unit, enabling informed decisions before retrieving full event histories.

Detailed Improvements:

  1. Expanded Search Capabilities
    • Search all properties within any of the API's 70,000 market boundaries via parcl_id
      • This includes zip codes, cities, counties, metros, etc.
    • Implement precise property parameters for targeted results:
      • Physical attributes (e.g., bedrooms, bathrooms, age, square footage, property type)
      • Event history flags (sale, rental, listing)
      • New construction status
      • Owner occupancy status
      • Investor ownership status
      • Current ownership by specific operator entities: AMH, TRICON, INVITATION_HOMES, HOME_PARTNERS_OF_AMERICA
    • Combine multiple parameters for highly specific searches
  2. Enhanced Response
    • Receive full information for ALL units matching criteria within the parcl_id boundary
      • This includes units without recorded events from 2010 to present, significantly expanding coverage
    • Each unit in the response includes:
      • Detailed property physical characteristics
      • Precise geolocation
      • Complete address information
      • Full location hierarchy
      • Property analytics:
        • Event count within current API history (2010-current)
        • Presence of sale/listing/rental events in 2010-current history
        • Current ownership status insights (owner-occupied, investor-owned, specific entity ownership)
  3. Streamlined Workflow
    • Use returned data to efficiently refine units for subsequent event history retrieval
    • More effectively calibrate results based on event types before querying full histories
    • Estimate API credit usage before querying the events endpoint

Important Notes

  • The existing endpoint (https://api.parcllabs.com/v1/property/search_markets) will be deprecated in 3-4 weeks. We recommend transitioning to the new endpoint as soon as possible.
  • Property information (physical attributes) will be removed from the events endpoint after the transition period. This change creates a more focused experience across endpoints. Reach out if you have any questions or need help during this transition.

v0.15.0 — POST Endpoints for Price Feed and New Construction Market Metrics

v0.15.0

v0.15.0 continues major upgrades to developer experience through the addition of more POST endpoints.

What you need to know:

🙌 5 new POST endpoints across Price Feed and New Construction Metrics categories. These new endpoints allow users to pull market data for up to 1000 locations in one request.

More POST Endpoints for Market Data Pulls at Scale

Three new POST endpoints for Price Feed metrics:

  • Price Feed (/v1/price_feed/price_feed): Gets the daily updated Parcl Labs Price Feed for specified parcl_ids.
  • Rental Price Feed (/v1/price_feed/rental_price_feed): Gets the daily updated Parcl Labs Rental Price Feed for specified parcl_ids.
  • Price Feed Volatility (/v1/price_feed/volatility): Gets the daily updated Parcl Labs Price Feed volatility, expressed as a percentage, for specified parcl_ids.

Two new POST endpoints for New Construction Metrics:

  • Housing Event Prices (/v1/new_construction/housing_event_prices): Gets monthly median prices for new construction housing events, including sales, new for sale listings, and new rental listings, based on specified parcl_ids.
  • Housing Event Counts (/v1/new_construction/housing_event_counts): Gets monthly counts of new construction housing events, including sales, new for sale listings, and new rental listings, based on specified parcl_ids.

These POST endpoints allow for data retrieval across up to 1000 parcl_ids in a single request, enabling efficient bulk data collection for multiple markets simultaneously.

v0.14.1 — POST Endpoints Parcl Id List Bugfix

v0.14.1

Fixed a bug in POST endpoints that restricted the maximum number of parcl_ids in a POST request to 100, instead of 1000. POST requests now can accommodate the full 1000 ids per request.

v0.14.0 — 8 New POST Endpoints for Bulk Data Analysis and Optimized Event History

v0.14.0

v0.14.0 brings huge upgrades to developer experience based on our power user feedback.

What you need to know:

💪 Added new 8 POST endpoints (🤯) to pull market data for up to 1000 locations in one request, significantly improving data retrieval efficiency across both Market Metrics and For Sale Market Metrics categories. 🔎 Enhanced our property event tracking, providing cleaner and more accurate data on sales, listings, and rentals.

New POST Endpoints for Market Data Pulls at Scale

The Market Metrics category introduces five new POST endpoints:

  • All Cash (/v1/market_metrics/all_cash): Gets monthly counts of all cash transactions and their percentage share of total sales, based on specified parcl_ids.
  • Housing Event Counts (/v1/market_metrics/housing_event_counts): Gets monthly counts of housing events, including sales, new for sale listings, and new rental listings, based on specified parcl_ids.
  • Housing Event Prices (/v1/market_metrics/housing_event_prices): Gets monthly statistics on prices for housing events, including sales, new for sale listings, and new rental listings, based on specified parcl_ids.
  • Housing Event Property Attributes (/v1/market_metrics/housing_event_property_attributes): Gets monthly statistics on the physical attributes of properties involved in housing events, including sales, new for sale listings, and new rental listings, based on specified parcl_ids.
  • Housing Stock (/v1/market_metrics/housing_stock): Gets housing stock for specified parcl_ids. Housing stock represents the total number of properties, broken out by single family homes, townhouses, and condos.

The For Sale Market Metrics category adds three new POST endpoints:

  • For Sale Inventory: Gets the weekly updated current count of total inventory listed on market for sale, based on specified parcl_ids.
  • For Sale Inventory Price Changes: Gets weekly updated metrics on the price behavior of current for sale inventory, based on specified parcl_ids.
  • New Listings Rolling Counts: Gets weekly updated rolling counts of newly listed for sale properties, segmented into 7, 30, 60, and 90 day periods ending on a specified date, based on given parcl_ids.

These POST endpoints allow for data retrieval across up to 1000 parcl_ids in a single request, enabling efficient bulk data collection for multiple markets simultaneously.

Major Upgrades to Property Events

We've also made significant improvements to our property events data:

  • Enhanced Data Accuracy: Implemented advanced algorithms to remove 99% of noise from property event histories, providing a cleaner and more reliable dataset.
  • Comprehensive Event Tracking: Improved event classification to ensure accurate categorization of sales, listings, and rental events across all property types.
  • Refined Property Attributes: Upgraded the tracking of key property characteristics, including new construction status and owner occupancy, for more precise market analysis.

These upgrades deliver a true, clean perspective of event history across homes, empowering users with more accurate and comprehensive property data

v0.13.0 — 3 New Property Event Fields and Extended History Back to 2010

v0.13.0

3 Fields Added to Property Events Endpoint:

  • sale_index: Number of sales that have occurred over the lifetime of a property at the time of the event.
  • owner_occupied_flag: Boolean flag indicating if the property is owner-occupied (i.e., not owned by an investor) at the time of the housing event.
  • new_construction_flag: Boolean flag indicating if the property is new construction at the time of the housing event.

Extended Historical Data for Property Events:

  • Historical data extended back to January 2010, capturing sales, listing, and rental events, providing more complete insights into unit-level property events and trends over time.

v0.12.0 — Property Search Enhancements

v0.12.0

  • Optimized Property Search: Improved performance to enable faster bulk searches and data pulls.

v0.11.2 — Credit Limit Check

v0.11.2

  • Credit Limit Check: Throws exception if user is about to exceed credit limit with current request.
  • Search Throttle Update: Scope search rate limit to basic users only.

v0.11.1 — General Performance Improvements

v0.11.1

  • General Performance Improvements: Internal improvements to the API infrastructure have been made to enhance performance and reliability. These changes are not expected to impact the functionality or behavior of the API endpoints.

v0.11.0 — Property Data API Beta

v0.11.0

Property Market Search (GET)

Property Market Search: Gets a list of unique identifiers (parcl_property_id) for units that correspond to specific markets or parameters defined by the user. The parcl_property_id is key to navigating the Parcl Labs API, serving as the core mechanism for retrieving unit-level information.

The beta version of this endpoint is limited to zip code level searches. The full version of this endpoint will enable:

  1. Market searches at any level of granularity
  2. Full integration of our parcl_id system

Property Event History (POST)

Property Event History: Gets unit-level properties and their housing event history, including sales, listings, and rentals. The response includes detailed property information and historical event data for each specified property. A maximum of 1000 parcl_property_ids can be requested in a single POST request.

v0.10.0 — New Construction Endpoints and Price Change Methodology Update

v0.10.0

🚀 Launched: New Construction API Category with two new endpoints:

  • New Construction Housing Event Counts: Gets monthly counts of new construction housing events, including sales, new for sale listings, and new rental listings, based on a specified .
  • New Construction Housing Event Prices: Gets monthly median prices for new construction housing events, including sales, new for sale listings, and new rental listings, based on a specified .

🛠️ Refactored: New methodology for housing event price changes and timeframe updates for for sale and rental listings data points:

  • Housing Event Price Changes: Refined beta methodology to better correct for listing events with missing or inaccurate price change data.
  • For Sale and Rental Listing Endpoints: Series start date has been shifted to 2022-09-01. This change impacts the following endpoints:
    • rental_market_metrics/{parcl_id}/new_listings_for_rent_rolling_counts
    • for_sale_market_metrics/{parcl_id}/new_listings_rolling_counts
    • investor_metrics/{parcl_id}/new_listings_for_sale_rolling_counts

v0.9.0 — General Performance Improvements

v0.9.0

  • General Performance Improvements: Internal improvements to the API infrastructure have been made to enhance performance and reliability. These changes are not expected to impact the functionality or behavior of the API endpoints.

v0.8.0 — New For Sale Inventory Prices and Housing Event Property Attributes Endpoint

v0.8.0

Two new endpoint available in the Market Metrics and For Sale Metrics categories:

Market Metrics:

  • Housing Event Property Attributes: Gets monthly statistics on the physical attributes of properties involved in housing events, including sales, new for sale listings, and new rental listings, based on a specified <parcl_id>.

For Sale Market Metrics:

  • For Sale Inventory Price Metrics: Gets weekly updated metrics on the price behavior of current for sale inventory, based on a specified <parcl_id>. Available metrics include the count of price changes, count of price drops, median days between price changes, median price change, and the percentage of inventory with price changes. The data series for the for sale inventory metrics begins on September 1, 2022 (2022-09-01).

v0.7.0 — New For Sale Inventory Endpoint

v0.7.0

One new endpoint available in the For Sale Market Metrics category:

For Sale Market Metrics:

  • For Sale Inventory: Gets the weekly updated current count of total inventory listed on market for sale, based on a specified <parcl_id>.

v0.6.0 — New Rental Price Feed

v0.6.0

New endpoint available in the Price Feed category:

Price Feeds:

v0.5.0 — New Price Feed, Price Feed Volatility, and All Cash Endpoints

v0.5.0

Three new endpoints are available in the Market Metrics and new Price Feed categories:

Market Metrics:

  • All Cash Endpoint: Gets monthly counts of all cash transactions and their percentage share of total sales, based on a specified <parcl_id>.

Price Feeds:

  • Price Feed Endpoint: Gets the daily updated Parcl Labs Price Feed for a given <parcl_id>.
  • Price Feed Volatility: Gets the daily updated Parcl Labs Price Feed volatility, expressed as a percentage, for a specified <parcl_id>.

v0.4.0 — New Investor Pricing, Portfolio Housing Events, and Portfolio Rental Listing Endpoints

v0.4.0

Three new endpoints are now available in the Investor Metrics and Portfolio Metrics categories:

Investor Metrics:

  • Housing Event Prices: Gets monthly median prices for investor housing events, including acquisitions, dispositions, new sale listings, and new rental listings, based on a specified <parcl_id>.

Portfolio Metrics:

  • SF Housing Event Counts: Gets monthly counts of investor-owned single family property housing events, segmented by portfolio size, for a specified <parcl_id>. Housing events include acquisitions, dispositions, new for sale listings, and new rental listings.
  • SF New Listings For Rent Rolling Counts: Gets weekly updated rolling counts of investor-owned single family properties newly listed for rent, segmented by portfolio size, and their corresponding percentage share of the total single family for rent listings market. These metrics are divided into 7, 30, 60, and 90 day periods ending on a specified date, based on a given <parcl_id>. The data series for portfolio metrics begins on April 22, 2024 (2024-04-22).

v0.3.0 — API Live 🚀

The Parcl Labs API is now live 🚀. Data and endpoints available from day 1 of the new API (May 8, 2024) are detailed below. We'll be regularly shipping new features—please check back on the changelog to see what's new.

Data Coverage

[block:parameters] { "data": { "h-0": "Category", "h-1": "Coverage", "0-0": "Property Types", "0-1": "🏘️ All Residential Assets: \n✅ Single Family \n✅ Townhouses \n✅ Condos \n✅ Other", "1-0": "Markets", "1-1": "🇺🇸 Complete National Coverage, 70k+ Unique Markets at Any Level of Granularity: \n✅ Regions \n✅ States \n✅ Metros \n✅ Cities \n✅ Counties \n✅ Towns \n✅ Zips \n✅ Census Places", "2-0": "Housing Events", "2-1": "🔄 The Full Property Lifecycle: \n✅ Sales \n✅ For Sale Listings \n✅ Rentals" }, "cols": 2, "rows": 3, "align": [ "left", "left" ] } [/block]


New Endpoints

We’re launching with 14 insight-packed endpoints across six categories:


Search Category: Search markets by keywords, geographic identifiers, or boundary types to retrieve market IDs (parcl_id). Endpoints:

  • Search Markets: Gets a list of unique identifiers (<parcl_id>) for markets that correspond to specific keywords or parameters defined by the user. The <parcl_id> is key to navigating the Parcl Labs API, serving as the core mechanism for retrieving market-level information.

Market Metrics Category: Get overall housing stock information, and analyze supply and price trends across sales, listings, and rentals for markets (parcl_id). Endpoints:

  • Housing Event Counts: Gets monthly counts of housing events, including sales, new for sale listings, and new rental listings, based on a specified <parcl_id>.
  • Housing Event Prices: Gets monthly statistics on prices for housing events, including sales, new for sale listings, and new rental listings, based on a specified <parcl_id>.
  • Housing Stock: Gets housing stock for a specified <parcl_id>. Housing stock represents the total number of properties, broken out by single family homes, townhouses, and condos.

Rental Market Metrics: Get rental market analytics for markets (parcl_id). Endpoints:

  • Gross Yield: Gets the percent gross yield for a specified <parcl_id>. At the market level, identified by <parcl_id>, gross yield is calculated by dividing the annual median rental income—derived from multiplying the monthly median new rental listing price by 12—by its median new listings for sale price.
  • New Listings For Rent Rolling Counts: Gets weekly updated rolling counts of newly listed for rent properties, segmented into 7, 30, 60, and 90 day periods ending on a specified date, based on a given <parcl_id>.
  • Rental Units Concentration: Gets the number of rental units, total units, and percent rental unit concentration for a specified <parcl_id>.

For Sale Market Metrics: Get for sale listing analytics for markets (parcl_id). Endpoints:

  • New Listings Rolling Counts: Gets weekly updated rolling counts of newly listed for sale properties, segmented into 7, 30, 60, and 90 day periods ending on a specified date, based on a given <parcl_id>.

Investor Metrics: Get analytics on overall investor ownership and transaction activity for markets (parcl_id). Endpoints:

  • Housing Event Counts: Gets monthly counts of investor housing events, including acquisitions, dispositions, new for sale listings, and new rental listings, based on a specified <parcl_id>.
  • Housing Stock Ownership: Gets counts of investor-owned properties and their corresponding percentage ownership share of the total housing stock, for a specified <parcl_id>.
  • New Listings For Sale Rolling Counts: Gets weekly updated rolling counts of investor-owned properties newly listed for sale, and their corresponding percentage share of the total for sale listings market. These metrics are segmented into 7, 30, 60, and 90 day periods ending on a specified date, based on a given <parcl_id>.
  • Purchase To Sale Ratio: Gets the monthly investor purchase to sale ratio for a specified <parcl_id>.

Portfolio Metrics: Get analytics on investor ownership and transaction activity for single family homes in markets (parcl_id), segmented by the unit size of the investor's portfolio. Endpoints:

  • Sf Housing Stock Ownership: Gets counts of investor-owned single family properties and their corresponding percentage of the total single family housing stock, segmented by portfolio size, for a specified <parcl_id>. The data series for portfolio metrics begins on March 1, 2024 (2024-03-01).
  • Sf New Listings For Sale Rolling Counts: Gets counts of investor-owned single family properties and their corresponding percentage of the total single family housing stock, segmented by portfolio size, for a specified <parcl_id>. The data series for portfolio metrics begins on April 15, 2024 (2024-04-15).


Developer Resources

v0.35.1 — Patch AMH in V2 and add Blackstone to V1

v0.35.1

Patch AMH in V2 and add Blackstone to V1

Fixed a bug to allow search of AMH props in the v2 endpoint and added Blackstone as a valid value in v1 in order to have parity with v2.