agentsclimarketplace

Realtyapi api

Skill realtyapi/realtyapi-skills/skills/realtyapi-api

Real estate research skills for AI agents — property briefs, listing search, rentals, CMAs, investment deal screening, and agent finders, powered by RealtyAPI

Install
npx -y skills add realtyapi/realtyapi-skills --skill realtyapi-api

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Fetch real estate data from 30+ property portals worldwide using the RealtyAPI REST API. Covers Redfin, Realtor.com, Zillow, Trulia, Homes.com, Apartments.com, HotPads, Auction.com, StreetEasy (US), Centris (Canada), Rightmove, Zoopla (UK), Idealista, SeLoger, Immobiliare, Immowelt, ImmoScout24, Funda, Otodom, Cian (Europe), Bayut, Dubizzle, Property Finder (Middle East), 99.co (Asia), Domain, Flatmates (Australia), and Airbnb, Vrbo, Agoda, Trip.com, Tripadvisor (short-term/vacation). Use when the user asks to look up, search, fetch, or extract property listings, home/rental details, price or tax history, valuations and estimates, comparables, market and rent trends, agents, foreclosures/auctions, or any real estate data for an address, area, or portal. Also use when the user mentions RealtyAPI, a real estate API, MLS data, or a specific property portal.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

9.0 KB, as published. Nobody here has run it

RealtyAPI

Fetch real estate data from 30+ property portals worldwide through one REST API and one API key — listings, property and rental details, price/tax history, valuations, comparables, market trends, and agents, across the US, Canada, UK, Europe, the Middle East, Asia, and Australia (~400 endpoints).

Get an API key: https://www.realtyapi.io — pass it in the x-realtyapi-key header.

How to Call

Every provider has its own subdomain. The base URL is https://<provider>.realtyapi.io and you append the endpoint path. All endpoints are JSON; most are GET.

curl -s "https://redfin.realtyapi.io/detailsbyaddress" \
  -H "x-realtyapi-key: $REALTYAPI_API_KEY" \
  --data-urlencode "property_address=166 W 22nd St Unit 1D, New York, NY 10011" -G

Or with fetch:

const url = new URL("https://redfin.realtyapi.io/detailsbyaddress");
url.searchParams.set("property_address", "166 W 22nd St Unit 1D, New York, NY 10011");
const res = await fetch(url, {
  headers: { "x-realtyapi-key": process.env.REALTYAPI_API_KEY },
});
const data = await res.json();

Without a valid key every data endpoint returns 401.

Endpoint Discovery (do this first)

Do not guess endpoint paths or parameters. There are ~400 endpoints, so route in two cheap, keyless steps before spending a request credit:

  1. Find the endpoint — fetch the full machine-readable index and search it for the provider + capability you need:

    https://www.realtyapi.io/llms.txt
    

    It lists every provider, its base URL, and every endpoint as - [Name](docpage): METHOD /path``. Pick the provider and endpoint that match the user's intent (use the Provider Catalog and Intent Routing below to narrow down).

  2. Get the exact parameters — fetch that provider's OpenAPI 3.1 spec (public, no key required) for parameter names, types, requiredness, and an example response:

    https://<provider>.realtyapi.io/openapi.json
    

    e.g. https://redfin.realtyapi.io/openapi.json. Read the spec for the chosen path, then make the real call. This avoids 400s from wrong/misspelled params.

Both llms.txt and openapi.json are free to fetch and do not consume credits.

Provider Catalog

Pick by region and data type. Sale + rental unless noted.

RegionProviders (subdomain)Notes
🇺🇸 USredfin, realtor, zillow, trulia, homesListings, full property details, price/tax history, valuations, market trends, agents
🇺🇸 US rentalsapartments, hotpadsApartment & rental listings
🇺🇸 US nichestreeteasy (NYC), auction (foreclosures/auctions)
🇨🇦 CanadacentrisQuebec/Canada listings
🇬🇧 UKrightmove, zooplaListings, sold prices, estimates, market data
🇪🇺 Europeidealista (ES/IT/PT), seloger (FR), immobiliare (IT), immowelt (DE), immoscout (DE), funda (NL), otodom (PL), cian (RU)
🕌 Middle Eastbayut, dubizzle, propertyfinder (UAE/GCC)
🌏 Asia99co (Singapore)
🇦🇺 Australiadomain, flatmates (shared housing)
🏖️ Short-term / vacationairbnb, vrbo, agoda, trip, tripadvisorStays, hotels, travel

The catalog changes as portals are added. llms.txt is the source of truth — if a provider or endpoint isn't there, it isn't live.

Intent Routing

Map the user's goal to the right kind of endpoint, then confirm the exact path/params via llms.txt + the provider openapi.json.

User wants…Endpoint pattern (typical names)Notes
Full details for one property…byaddress / …byurl / …detailsbyaddress / …by-zpidPass the street address or the portal listing URL
Search listings in an areasearch/byaddress, search/bycoordinates, search/bypolygon, search/bymapboundsSupports filters: price, beds, baths, home type, status (for-sale/sold/rent)
Autocomplete / resolve a place or addressautocomplete, locationsUse first to get IDs/slugs other endpoints need
Price / tax / sold historypricehistory, taxinfo*, sold-prices
Valuation / estimatezestimate*, estimates, graph/chart endpoints"How much is it worth"
Comparables (comps)comparable_homes, similar*, nearby*Pair with valuation for a CMA
Market / rent trendshousing_market, rental_market*, market*, housingMarketTrendsArea-level analytics
Schools / climate / walkabilityschools, climate, walk_transit_bikeContext for a listing
Find / evaluate an agentagent/search, agentInfo, agentdetails, agentreviews
Rentals (long-term)apartments, hotpads, zillow rentals, regional portals
Short-term / vacation staysairbnb, vrbo, agoda, trip search + details
Foreclosures / auctionsauction search + detailsInvestment use cases

Credit Costs

  • Most endpoints cost 1 request credit per successful call.
  • A small number of heavier endpoints cost more (e.g. 2× or 6×). The exact cost is shown per endpoint in the dashboard playground and on each endpoint's doc page. Warn the user before calling an endpoint that costs more than 1 credit, and before running a loop that makes many calls.
  • See https://www.realtyapi.io/docs/api-credits for how credits work.

Pagination

Search and list endpoints are paginated. The convention varies by endpoint — check the openapi.json parameters:

ParamMeaning
pageMost common — 1-based page number (often with pageSize / resultCount / hitsPerPage)
nextPageCursorCursor returned in the response; pass it back for the next page
offset / limitOffset-based windows on some endpoints

To gather many results, increment page (or follow nextPageCursor) until the results run out — and respect credit cost, since each page is a separate request.

Conventions & Tips

  • Two ways to identify a property: a street address (e.g. property_address, address, propertyaddress) or the portal's listing URL (url). Prefer the URL when the user pastes one; otherwise use the address.
  • Resolve first when needed: some endpoints need an internal id (ZPID, listing id, location slug). Use the provider's autocomplete / locations endpoint to get it.
  • Match the portal to the country. A UK address won't resolve on a US portal — route Spain to idealista, France to seloger, UAE to propertyfinder, etc.
  • Status filters distinguish for-sale vs sold vs for-rent — set them explicitly when the user's intent is specific.
  • Handle errors: 401 = missing/invalid key; 400 = bad/missing params (re-read the openapi.json); 404 = property/listing not found or not yet indexed.
  • Cite sources. Include the portal listing URL (and the RealtyAPI doc page) in outputs so results are verifiable.

Known Limitations

  • Coverage is per-portal and public-data only — a field present on one portal may be absent on another. Cross-reference portals when a value is critical.
  • A portal indexes its own market; there is no single global search. To compare across portals, query each relevant portal and merge results yourself.
  • Newly listed or off-market properties may not be indexed yet (404).
  • llms.txt and the per-provider openapi.json always reflect the live endpoint set; trust them over any hardcoded list, including this one.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.