- Add support for
property_address.search
endpoint. This endpoint allows users to pass in a list of addresses and get the correspondingparcl_property_id
back.
addresses = client.property_address.search.retrieve(
addresses=[
{
"address": "123 Main St",
"city": "New York",
"state_abbreviation": "NY",
"zip_code": "10001",
"source_id": "123",
},
{
"address": "6251 coldwater canyon ave",
"unit": "unit 311",
"city": "north hollywood",
"state_abbreviation": "CA",
"zip_code": "91606",
"source_id": "456",
},
]
)
- Performance improvements to property endpoints
- Fix bug to enforce linting throughout the repository.
- Minor code improvements
- Fix bug where
limit
parameter was not being applied whenturbo_mode
was enabled. - Update handingling of
limit
parameter. If thelimit
parameter is greater than maximum allowed limit on the particular endpoint, thelimit
will automatically default to the maximum allowed value instead of throwing an error. - Refactor
ParclLabsClient
so thatlimit
is not set during client instantiation. Limit should be set when calling specificretrieve
methods.
- Bug fix for handling of 422 validation errors.
- Introduce
turbo_mode
- smart routing for premium api users to reduce latency for bulk data pulls. - Bux fix on output dataframes - inconsistent column order.
- Improved handling of 422 data validation errors. Explicit error messages for invalid query parameters.
- Update
property.events
to accomodate apiv0.18.0
streaming changes. - Bug fix on property.search - incorrect validation property types. Included
OTHER
- Introduce 3 new entity types to search both
property.search
andproperty.events
:HOME_PARTNERS_OF_AMERICA
,PROGRESS_RESIDENTIAL
,AMHERST
- Performance improvement related to data processing and memory usage for
property.search
. property.events
now supports concurrent requests.- Introduce client parameter
num_workers
to control the number of concurrent requests. Default is None, which translates tomax_workers = min(32, (os.cpu_count() or 1) + 4)
. See docs for more details.
- Introduced
property.search_units
. See Parcl Labs Changelog for more details.
Refactored property.search
to point to endpoint /v1/property/search
. This is a breaking change. property.search
used to point to an endpoint that is retiring, /v1/property/search_markets
.
Fixed a bug in property.events
where records were dropping.
More flexible query dynamics for unit search. See examples:
homes = client.property.search.retrieve(
parcl_ids=[pid],
property_type='SINGLE_FAMILY',
# square_footage_min=1000,
# square_footage_max=2500,
# bedrooms_min=3,
# bedrooms_max=4,
# bathrooms_min=2,
# bathrooms_max=3,
# year_built_min=2010,
# year_built_max=2023,
current_entity_owner_name='invitation_homes',
# current_history_sale_flag=True,
# current_history_rental_flag=True,
# current_history_listing_flag=True,
# current_new_oncstruciton_flag=True,
# current_owner_occupied_flag=True,
# current_investor_owned_flag=True,
)
- Introduced
property.search_units
. See Parcl Labs Changelog for more details.
More flexible query dynamics for unit search. See examples:
tricon_tampa_units = client.property.search_units.retrieve(
parcl_id=2900417,
property_type='single_family',
current_entity_owner_name='tricon',
limit=100
)
amh_tampa_units = client.property.search_units.retrieve(
parcl_id=2900417,
property_type='single_family',
current_entity_owner_name='amh',
limit=100
)
- Introduce
property.search
andproperty.events
. See Parcl Labs Changelog for more details.
- Minor code formatting updates to improve readability
- Introduce
new_construction_metrics.housing_event_counts
andnew_construction_metrics.housing_event_prices
. See Parcl Labs Changelog for more details. - Add beta features, including charting, technical analysis, and utilities for data analysis.
- Bugfix on nested loops within jupyter notebook environments
Note: This release includes breaking changes.
- Asynchronous support for all endpoints (retrieve)
- Refactor
retrieve_many
into oneretrieve
method to support 1 to n parcl_ids - Add utility method
client.estimated_session_credit_usage
to estimate session credit usage
- Introduce
for_sale_inventory_price_changes
andhousing_event_property_attributes
. See Parcl Labs Changelog for more details.
- Add
auto_paginate
support for all endpoints (retrieve & retrieve_many)
- Backend Parcl Labs Services refactor
- Introduce
for_sale_inventory
. See Parcl Labs Changelog for more details.
- Introduce
price_feed_rentals
. See Parcl Labs Changelog for more details.
- Add explicit throttling error message for search.
- Add
auto_paginate
to price_feed, price_feed_volatility given max limit on API is less than all observations
- Introduce
market_metrics_all_cash
,price_feed
,price_feed_volatiltiy
. See Parcl Labs Changelog for more details.
- Bugfix on parsing for
new_rental_listings
metrics inv1/investor_metrics/{parcl_id}/housing_event_prices
- Gracefully handle no data found in retrieve_many methods
- Include progress bar for
retrieve_many
methods
- Update
portfolio_metrics
endpoint name fromnew_listings_for_sale_rolling_counts
tosf_new_listings_for_sale_rolling_counts
to reflect the new endpoint name.
- bug fix: valid portfolio parameter values.
Valid portfolio size parameter values include:
- PORTFOLIO_2_TO_9
- PORTFOLIO_10_TO_99
- PORTFOLIO_100_TO_999
- PORTFOLIO_1000_PLUS
- ALL_PORTFOLIOS
- bug fix: dataframe index's on
retrieve_many
methods - Update readme examples
- Update
search
to accomodatesort_order
,sort_by
sort_by
valid values includeTOTAL_POPULATION
,MEDIAN_INCOME
,CASE_SHILLER_20_MARKET
,CASE_SHILLER_10_MARKET
,PRICEFEED_MARKET
,PARCL_EXCHANGE_MARKET
- include endpoint
/v1/portfolio_metrics/{parcl_id}/new_listings_for_sale_rolling_counts
- include endpoint
/v1/rental_market_metrics/{parcl_id}/new_listings_for_rent_rolling_counts