- What is yajra/zillow and what does it actually do?
- It is a Laravel wrapper around Zillow's legacy public API, packaged in the canonical Laravel integration shape: a service provider registers a singleton client, a publishable config file carries the API key, a facade exposes a fluent query surface, and a thin client maps Zillow's XML into objects. It was intended to let you pull property data, Zestimates, and listing details with minimal setup. The code itself is a few hundred lines of configuration and response mapping, so its real value today is as a reference pattern rather than a working dependency.
- Does the Zillow API still work, or is yajra/zillow abandoned?
- Zillow retired public access to the legacy endpoints this wrapper targets, including GetSearchResults, GetDeepSearchResults, GetZestimate, and GetChart, so every call path resolves to a route that no longer exists. Live access now runs through a Zillow Group partner agreement such as Bridge Interactive or Data Connect, which is a commercial negotiation rather than an engineering task. The package also shows no maintenance signal: around 15 stars, zero dependents, no release cadence, and no issue triage. Treat it as non-operable rather than merely unmaintained.
- How do I install yajra/zillow in a Laravel application?
- Installation follows the usual Composer flow: require the package, publish the config file, and set your Zillow API key before resolving the facade. In practice, Composer resolution is likely to fail on a modern app because the package carries Laravel 5.x-era illuminate/* pins and older Guzzle constraints that collide with a current composer.json. Even a successful install would create false confidence, since runtime correctness still depends on endpoints that return 404 or 410.
- Which Laravel and PHP versions does yajra/zillow support?
- The package was built for the Laravel 5.x era, with illuminate/* constraints and Guzzle pins from that period. There is no release cadence, no dependency bumps, and no maintainer activity indicating support for Laravel 9, 10, 11, or current PHP versions. Confirm with a short Composer resolution spike against your own matrix rather than assuming compatibility.
- How do I configure the Zillow API key for this package?
- The key lives in the publishable config file, typically sourced from an environment variable so it stays out of version control. The service provider registers the client as a singleton using that config, and the facade resolves it at the controller or service boundary. This env-driven, config-backed binding is exactly the shape you want for a property-data dependency, which is why the pattern is worth copying even though the vendor behind it is gone.
- Can I use yajra/zillow in production?
- No. Three independent risks each disqualify it: the upstream is dead without a Zillow Group partner agreement, the dependency rot is likely unresolvable against a modern Laravel and PHP matrix, and there is no maintenance community to absorb ownership. It also ships no queueing, caching, retry or backoff, circuit-breaking, or observability hooks, and there is no live upstream to observe anyway. Reframe the question internally: this is a data-access and licensing decision the package cannot influence.
- How do I test yajra/zillow without live Zillow credentials?
- You can mock the HTTP client and assert your own response mapping, but that only proves your fixtures work, not that the integration does. There is no live contract to test against, so an end-to-end test would simply confirm the endpoints are gone. Budget a half-day spike to check whether Composer resolves the package at all, and treat that as the definitive answer.
- What are the best alternatives to yajra/zillow for property data?
- Evaluate maintained providers that cover your actual field-level spec: ATTOM, CoreLogic or HouseCanary, RentCast, Estated, and MLS or RESO feeds, plus Zillow Group's Bridge Interactive if a partner agreement is realistic. Compare coverage, data freshness, AVM accuracy, per-record pricing, and SLA against requirements you write first. Write the spec before talking to vendors, because it is the input to every subsequent decision and lets legal and procurement work in parallel with engineering.
- Is the MIT license enough to display Zestimate and listing data?
- No. The MIT license covers the PHP code only, never the data behind it, so attribution and terms-of-service obligations for Zestimates and listing records are a completely separate risk. Before building on any provider, confirm with legal that display and redistribution are permitted for your use case. Record the finding so the same question is not re-litigated later.
- Is there any reusable value in the package's architecture?
- Yes, as a pattern rather than a dependency. It demonstrates precisely where a property-data dependency belongs in a Laravel stack: a bound singleton service, an env and config surface for credentials, a facade call at the controller or service boundary, and response DTOs mapped from the vendor payload. Copy that shape into a first-party PropertyData service bound to a live vendor, and add the resilience layers the original lacks, including caching, retries with backoff, circuit-breaking, and observability.