Skip to main content

crewai-zillapi

CrewAI tools for Zillapi, a REST API for Zillow property data.

Give a CrewAI agent the ability to look up a property by address, zpid or Zillow URL, pull valuations, price history, tax history, schools, photos and comparable homes, and search for sale, for rent or sold listings inside a geographic area.

Install

pip install crewai-zillapi

Get an API key

Create a key at zillapi.com. You get 100 credits at signup, no card, one time. Paid plans start at $5 per month. See pricing.

Set the key in your environment:

export ZILLAPI_KEY="zk_your_key_here"

Quick start

from crewai import Agent
from crewai_zillapi import (
    ZillapiPropertyByAddressTool,
    ZillapiPropertyDetailTool,
    ZillapiListingSearchTool,
)

analyst = Agent(
    role="Real estate analyst",
    goal="Answer questions about properties and local markets with real data",
    backstory="You research homes and neighborhoods using live Zillow data.",
    tools=[
        ZillapiPropertyByAddressTool(),
        ZillapiPropertyDetailTool(),
        ZillapiListingSearchTool(),
    ],
)

Use a single tool directly:

import json
from crewai_zillapi import ZillapiPropertyByAddressTool

result = json.loads(
    ZillapiPropertyByAddressTool().run(address="350 5th Ave, New York NY 10118")
)
print(result["data"]["zpid"])

Tools

Tool What it does Credit cost
ZillapiPropertyByAddressTool Resolve a street address to a full property record 3 per successful call
ZillapiPropertyByZpidTool Full property record for a known zpid 1 per successful call
ZillapiPropertyDetailTool One detail section for a zpid 1 per successful call
ZillapiPropertyByUrlTool Resolve a Zillow URL to a property or building 1 per record returned
ZillapiListingSearchTool Search listings inside a bounding box 1 per listing returned
ZillapiJobTool Poll an async job and read its results 0, free
ZillapiAccountTool Plan, remaining credit balance, recent usage 0, free

Failed calls are never charged.

ZillapiPropertyDetailTool sections: zestimate, price-history, tax-history, schools, photos, agent, nearby, open-houses, facts.

Searching an area

A listing search needs a real bounding box in decimal degrees. A place name on its own is not accepted, so convert the place to coordinates first.

import json
from crewai_zillapi import ZillapiListingSearchTool

result = json.loads(
    ZillapiListingSearchTool().run(
        west=-73.99, south=40.74, east=-73.98, north=40.75,
        status="for_sale", beds_min=2, price_max=2_000_000, max_items=25,
    )
)

Because a search costs 1 credit per listing returned, keep max_items tight. Asking for more than 50 listings runs the search asynchronously and returns a job_id, which you poll with ZillapiJobTool until its status is succeeded, then read with action="results".

Response shape

Every tool returns a JSON string with a stable envelope, and the tools never raise from execution. An agent can always parse the result.

{
  "success": true,
  "data": { "zpid": "1234567", "price": 1250000 },
  "request_id": "req_abc123"
}
{ "success": false, "error": { "code": "invalid_filters", "message": "..." } }

data is the payload itself, so you never have to reach through a second wrapper. request_id is worth logging if you need to ask about a specific call. List endpoints also return a meta object alongside data.

Match on code, never on message.

Code Meaning
missing_api_key ZILLAPI_KEY is not set
invalid_api_key The key was rejected
out_of_credits No credits left, top up to continue
invalid_filters A search was sent without a bounding box
invalid_search_url The Zillow search URL was not usable
missing_input A required argument was absent
not_found Nothing matched the address, zpid or URL
job_not_ready The async job has not finished yet
rate_limited Too many requests, respect Retry-After
service_unavailable The data provider is temporarily unavailable
timeout The request timed out
network The API could not be reached

Coverage

These tools cover the synchronous, agent friendly surface of the API. The full REST API also offers batch property jobs, chained search with details, building unit extraction and outbound webhooks. See the API documentation and the OpenAPI spec.

Zillapi is also available as an MCP server for MCP compatible clients.

Notes

Zillapi is an independent service and is not affiliated with, endorsed by, or sponsored by Zillow, Inc. Zillow is a trademark of its respective owner. Use of the data is subject to the Zillapi terms.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crewai_zillapi-0.1.1.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crewai_zillapi-0.1.1-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file crewai_zillapi-0.1.1.tar.gz.

File metadata

  • Download URL: crewai_zillapi-0.1.1.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for crewai_zillapi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4df9dcd1ce08986667e024c0284152a2ee51a421989a67f3632dcef2f0ef6957
MD5 6755c8d8e7f65be2f9c96fcab0e2e15a
BLAKE2b-256 bb08c6e76d511008695f8176a4bb0b81be9a2bf4d27cb7d2f8ffacaf144bb0ff

See more details on using hashes here.

File details

Details for the file crewai_zillapi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: crewai_zillapi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for crewai_zillapi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 67856712c712a9a975b253010df09e4b65f1b42f5e88877129876e62f87062c3
MD5 a412c94e2e954e263f3158271c7be4e0
BLAKE2b-256 ada7086e8eddbd0c3054f63247f1aa191fb9cd263414cb25a1a7763d15952a46

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page