Real estate data API

These records come from Zillow, Realtor.com, Rightmove, Zoopla, and LoopNet. Each item comes back as one JSON record, with the field names its source uses. Together they return property, listing, and agent records. The records are listings as each portal shows them. They are not county public records.

Sources
5
Record types
3
From
$0.90 per 1,000 records
The fields real estate records carry, over a real estate scene. The photograph is illustrative.

On every source here: price address photoCount photos status

Which source returns which field: 10 field names across 5 sources
Which source returns which field, read from the records documented for each. A field shown as present can still be null on an item it does not apply to.
FieldZillowRealtor.comRightmoveZooplaLoopNet
priceprice price price price price
bedsbeds beds bedrooms bedrooms not on these records
bathsbaths baths bathrooms bathrooms not on these records
addressaddress address address address address
photoCountphotoCount photoCount photoCount photoCount photoCount
photosphotos photos photos photos photos
statusstatus status status status status
coordinatesnot on these recordscoordinates coordinates coordinates coordinates
descriptiondescription not on these recordsdescription description description
priceTextpriceText not on these recordspriceText priceText priceText

Sources

  • Zillow

    Listings, property facts, agent directories and agent profiles, as JSON records.

    • property
    • agent

    163 documented fields. From $2.40 per 1,000 records.

    Dataset pages: Agents

  • Realtor.com

    Home listings, property detail and agent directories, as JSON records.

    • property

    57 documented fields. From $0.90 per 1,000 records.

  • Rightmove

    UK property listings and property detail from Rightmove, as JSON records.

    • property

    58 documented fields. From $1.40 per 1,000 records.

  • Zoopla

    UK property listings and property detail from Zoopla, as JSON records.

    • property

    46 documented fields. From $1.40 per 1,000 records.

  • LoopNet

    Commercial property listings from LoopNet and Crexi, as JSON records.

    • listing

    45 documented fields. From $2.00 per 1,000 records.

Record types by source

Each cell links to the field table for that record type on that source.

Record typeZillowRealtor.comRightmoveZooplaLoopNet
property123 fields57 fields58 fields46 fieldsNot returned
listingNot returnedNot returnedNot returnedNot returned45 fields
agent42 fieldsNot returnedNot returnedNot returnedNot returned

Shared field names

Five field names are returned by all five sources. Field names that at least two sources return are below. The table shows the 12 most shared of 51. A shared name does not mean the same content: each source page says what its field holds. Every other field belongs to one source only.

FieldZillowRealtor.comRightmoveZooplaLoopNet
addressYesYesYesYesYes
photoCountYesYesYesYesYes
photosYesYesYesYesYes
priceYesYesYesYesYes
statusYesYesYesYesYes
coordinatesNoYesYesYesYes
descriptionYesNoYesYesYes
priceTextYesNoYesYesYes
agentNoYesYesYesNo
currencyYesNoYesYesNo
isAuctionYesNoYesYesNo
isPremiumYesNoYesYesNo

Prices by record type

The lowest and highest price per 1,000 records for each record type across these sources. Each source page lists every billed event.

Record typeSourcesPer 1,000 records
propertyZillow, Realtor.com, Rightmove, Zoopla$1.00 to $54.00
listingLoopNet$2.00 to $6.00
agentZillow$2.60 to $72.00

Example request

A request to Zillow. The Zillow page shows the record it returns.

curl

curl -X POST https://api.urakimon.com/records/zillow \
  -H "x-api-key: $URAKIMON_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "mode": "fullProperty",
    "propertyUrls": ["19947712", "19935286", "20779037"]
  }'

Python

import os
import requests

res = requests.post(
    "https://api.urakimon.com/records/zillow",
    headers={"x-api-key": os.environ["URAKIMON_API_KEY"]},
    json={
        "mode": "fullProperty",
        "propertyUrls": [
            "19947712",
            "19935286",
            "20779037"
        ]
    },
)
res.raise_for_status()
records = res.json()["records"]

Node

const res = await fetch("https://api.urakimon.com/records/zillow", {
  method: "POST",
  headers: {
    "x-api-key": process.env.URAKIMON_API_KEY,
    "content-type": "application/json",
  },
  body: JSON.stringify({
    "mode": "fullProperty",
    "propertyUrls": ["19947712", "19935286", "20779037"]
  }),
});
const { records } = await res.json();

More data