# Realtor.com Property Details (`alol/realtor-property-details`) Actor

Enrich Realtor.com property IDs or URLs in a shared Zillow/Realtor detail format. Get available lot size, photos, attribution, schools, and history, with correlation IDs and explicit completeness status.

- **URL**: https://apify.com/alol/realtor-property-details.md
- **Developed by:** [Al Ol](https://apify.com/alol) (community)
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.85 / 1,000 complete property detail — usd 1.70 to usd 0.85 per 1,000s

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Realtor.com Property Details Scraper: Property ID or URL

**Scrape Realtor.com property details by property ID or listing URL.** Extract available home facts, descriptions, photos, agent and broker attribution, schools, financing, and price or tax history. Use the same normalized detail format as our Zillow Property Details Actor to combine property data from both sources.

Successfully fetched target records are returned even if another target fails. The run still reports the upstream failure; completed requests are drained and returned in input order, with normal status and billing rules.

- **Start from IDs or URLs:** process up to 100 property targets with concurrent retrieval and input deduplication; set `maxResults` to the number you want to process (default 1).
- **Keep useful property context:** retrieve available lot size with explicit units, sale dates, descriptions, photos, and price or tax history.
- **Make integrations predictable:** versioned records preserve caller correlation IDs and distinguish complete, partial, and not-found results, with unavailable values kept as null.

Use these property records for CRM enrichment, listing research, and comparison with Zillow data. Complete, partial, and not-found statuses make data gaps visible.

### Input examples

```json
{
  "propertyTargets": [
    "5747576732",
    "https://www.realtor.com/realestateandhomes-detail/example_M12345-67890"
  ],
  "maxResults": 2,
  "maxConcurrency": 5
}
```

### Output examples

These synthetic examples illustrate the schema; they are not current property records. Availability varies by property. `complete` means the requested source sections passed validation, not that every optional field is populated.

#### Property-detail row

A complete record with populated facts, pricing, media and history.

```json
{
  "schemaVersion": 1,
  "recordType": "propertyDetail",
  "status": "complete",
  "externalId": null,
  "correlationId": null,
  "propertyId": "1111100000",
  "listingId": "3000036728",
  "url": "https://www.realtor.com/realestateandhomes-detail/example_M57475-76732",
  "listingStatus": "for_sale",
  "listingDates": {
    "listedAt": "2025-01-01T00:00:00Z",
    "updatedAt": "2025-01-02T00:00:00Z",
    "postedOn": null,
    "onMarketAt": null,
    "soldOn": "2022-06-15"
  },
  "pricing": {
    "list": 420000,
    "min": 410000,
    "max": 430000,
    "currency": "USD",
    "perSqft": 233,
    "lastSold": 350000,
    "lastSoldDate": "2022-06-15",
    "change": null
  },
  "location": {
    "address": {
      "line": "1418 Cambridge Rd",
      "unit": null,
      "city": "Charlotte",
      "stateCode": "NC",
      "postalCode": "28209",
      "county": {
        "name": "Mecklenburg",
        "fipsCode": "37119"
      },
      "country": null,
      "neighborhood": "Myers Park",
      "subdivision": null,
      "community": null,
      "timeZone": null,
      "full": "1418 Cambridge Rd, Charlotte, NC, 28209"
    },
    "coordinates": {
      "latitude": 35.2,
      "longitude": -80.8
    }
  },
  "description": "Renovated home near the city center.",
  "facts": {
    "beds": 3,
    "baths": 2.5,
    "bathsFull": 2,
    "bathsHalf": 1,
    "bathsQuarter": 0,
    "bathsThreeQuarter": 0,
    "sqft": 1800,
    "lot": {
      "value": 7500,
      "unit": "sqft"
    },
    "yearBuilt": 1992,
    "stories": 2,
    "type": "single_family",
    "subType": "detached",
    "units": 1,
    "zoning": "R5",
    "garage": {
      "spaces": 2,
      "maxSpaces": 2,
      "hasGarage": true,
      "hasAttachedGarage": null
    }
  },
  "media": {
    "primaryPhoto": {
      "thumbnailUrl": null,
      "mediumUrl": null,
      "highResolutionUrl": "https://ap.rdcpix.com/primary.jpg",
      "type": "JPG",
      "caption": null,
      "description": null,
      "tags": [
        {
          "label": "house_view",
          "probability": 0.99
        }
      ]
    },
    "photoCount": 1,
    "photos": [
      {
        "url": "https://ap.rdcpix.com/photo-1.jpg",
        "type": "JPG",
        "caption": "Front exterior",
        "description": "Street view",
        "tags": [
          {
            "label": "house_view",
            "probability": 0.99
          }
        ]
      }
    ],
    "virtualTours": [
      {
        "url": "https://example.com/tour",
        "type": "virtual_tour"
      }
    ]
  },
  "attribution": {
    "agents": [
      {
        "name": null,
        "email": null,
        "phone": null,
        "url": null,
        "type": "listingAgent",
        "licenseNumber": "nrds-1",
        "brokerName": "Example Realty",
        "photoUrl": null
      }
    ],
    "advertisers": [
      {
        "name": "Jamie Agent",
        "email": "agent@example.com",
        "phone": null,
        "url": "https://www.realtor.com/realestateagents/example",
        "type": "seller",
        "licenseNumber": "12345",
        "brokerName": "Example Realty",
        "photoUrl": "https://ap.rdcpix.com/agent.jpg"
      }
    ],
    "branding": [
      {
        "name": "Example Realty",
        "type": "Office",
        "logoUrl": "https://ap.rdcpix.com/brand.jpg",
        "accentColor": "#123456"
      }
    ],
    "source": {
      "id": "CANOPY",
      "type": "mls",
      "name": "Canopy MLS",
      "listingId": "CAR123456",
      "lastUpdatedAt": "2025-01-02T00:00:00Z",
      "disclaimerText": "Based on information submitted to the MLS.",
      "disclaimerUrl": "https://example.com/mls"
    }
  },
  "openHouses": [
    {
      "startAt": "2025-02-01T14:00:00Z",
      "endAt": "2025-02-01T16:00:00Z",
      "description": "Public open house",
      "methods": [
        "in_person"
      ],
      "timeZone": "America/New_York",
      "url": "https://www.realtor.com/open-house"
    }
  ],
  "features": {
    "sections": [
      {
        "category": "Interior",
        "items": [
          "Bedrooms: 3",
          "Bathrooms: 2.5"
        ]
      }
    ],
    "appliances": [],
    "construction": [
      "Brick"
    ],
    "heating": [
      "Forced air"
    ],
    "cooling": [
      "Central air"
    ],
    "interior": [],
    "parking": [],
    "exterior": [],
    "flooring": [],
    "utilities": [],
    "view": [],
    "waterSource": [],
    "sewer": [],
    "roof": "Composition",
    "basement": null,
    "architecturalStyle": null,
    "levels": null,
    "fireplace": true,
    "pool": false,
    "contingencyType": null,
    "flags": {
      "isNewListing": true,
      "isPriceReduced": false,
      "isForeclosure": false,
      "isNewConstruction": false,
      "isPending": false,
      "isContingent": false,
      "isComingSoon": false,
      "isGaragePresent": true,
      "isSeniorCommunity": false,
      "isShortSale": false
    }
  },
  "schools": {
    "total": 1,
    "items": [
      {
        "name": "Example Elementary",
        "type": null,
        "level": "elementary",
        "rating": 8,
        "grades": [
          "K",
          "1",
          "2",
          "3",
          "4",
          "5"
        ],
        "distance": null,
        "district": null,
        "studentCount": 450,
        "parentRating": 4,
        "reviewCount": 12,
        "url": null
      }
    ]
  },
  "nearbySchools": {
    "total": 1,
    "items": [
      {
        "name": "Nearby High",
        "type": null,
        "level": "high",
        "rating": 7,
        "grades": [
          "9",
          "10",
          "11",
          "12"
        ],
        "distance": null,
        "district": null,
        "studentCount": 900,
        "parentRating": 4,
        "reviewCount": 8,
        "url": null
      }
    ]
  },
  "hoa": {
    "fee": 200,
    "details": null
  },
  "mortgage": {
    "loanAmount": 336000,
    "monthlyPayment": 2140,
    "rates": {
      "thirtyYearFixed": null,
      "fifteenYearFixed": null,
      "fiveYearArm": null
    }
  },
  "history": {
    "property": [
      {
        "date": "2025-01-01",
        "event": "Listed",
        "price": 420000,
        "priceChange": 20000,
        "priceChangeRate": null,
        "pricePerSqft": 233,
        "source": "Canopy MLS",
        "buyerAgent": null,
        "sellerAgent": null
      }
    ],
    "tax": [
      {
        "year": 2024,
        "taxPaid": 8100,
        "assessedValue": 350000,
        "assessment": {
          "total": 350000,
          "building": 250000,
          "land": 100000
        },
        "market": {
          "total": 390000,
          "building": 280000,
          "land": 110000
        },
        "taxIncreaseRate": null,
        "valueIncreaseRate": null
      }
    ]
  },
  "quality": {
    "completeness": "complete",
    "missingSections": [],
    "reasons": []
  },
  "scrapedAt": "2026-09-13T00:00:00.000Z",
  "provider": "realtor",
  "provenance": {
    "provider": "realtor",
    "source": "realtor_frontdoor_graphql",
    "inputLocator": "1111100000",
    "servedByTier": null,
    "transport": null
  },
  "providerData": {
    "provider": "realtor",
    "propertyName": "1418 Cambridge Rd",
    "neighborhoods": [],
    "products": {
      "brandName": "core",
      "products": [
        "co_broke"
      ]
    },
    "leadAttributes": {
      "leadType": "co_broke",
      "showContactAnAgent": true,
      "showLeadForm": true
    }
  }
}
```

#### Partial property-detail row

Available data is preserved; requested history is missing. This row is unbilled.

```json
{
  "schemaVersion": 1,
  "recordType": "propertyDetail",
  "status": "partial",
  "externalId": null,
  "correlationId": null,
  "propertyId": "1111100000",
  "listingId": "3000036728",
  "url": "https://www.realtor.com/realestateandhomes-detail/example_M57475-76732",
  "listingStatus": "for_sale",
  "listingDates": {
    "listedAt": "2025-01-01T00:00:00Z",
    "updatedAt": "2025-01-02T00:00:00Z",
    "postedOn": null,
    "onMarketAt": null,
    "soldOn": "2022-06-15"
  },
  "pricing": {
    "list": 420000,
    "min": 410000,
    "max": 430000,
    "currency": "USD",
    "perSqft": 233,
    "lastSold": 350000,
    "lastSoldDate": "2022-06-15",
    "change": null
  },
  "location": {
    "address": {
      "line": "1418 Cambridge Rd",
      "unit": null,
      "city": "Charlotte",
      "stateCode": "NC",
      "postalCode": "28209",
      "county": {
        "name": "Mecklenburg",
        "fipsCode": "37119"
      },
      "country": null,
      "neighborhood": "Myers Park",
      "subdivision": null,
      "community": null,
      "timeZone": null,
      "full": "1418 Cambridge Rd, Charlotte, NC, 28209"
    },
    "coordinates": {
      "latitude": 35.2,
      "longitude": -80.8
    }
  },
  "description": "Renovated home near the city center.",
  "facts": {
    "beds": 3,
    "baths": 2.5,
    "bathsFull": 2,
    "bathsHalf": 1,
    "bathsQuarter": 0,
    "bathsThreeQuarter": 0,
    "sqft": 1800,
    "lot": {
      "value": 7500,
      "unit": "sqft"
    },
    "yearBuilt": 1992,
    "stories": 2,
    "type": "single_family",
    "subType": "detached",
    "units": 1,
    "zoning": "R5",
    "garage": {
      "spaces": 2,
      "maxSpaces": 2,
      "hasGarage": true,
      "hasAttachedGarage": null
    }
  },
  "media": {
    "primaryPhoto": {
      "thumbnailUrl": null,
      "mediumUrl": null,
      "highResolutionUrl": "https://ap.rdcpix.com/primary.jpg",
      "type": "JPG",
      "caption": null,
      "description": null,
      "tags": [
        {
          "label": "house_view",
          "probability": 0.99
        }
      ]
    },
    "photoCount": 1,
    "photos": [
      {
        "url": "https://ap.rdcpix.com/photo-1.jpg",
        "type": "JPG",
        "caption": "Front exterior",
        "description": "Street view",
        "tags": [
          {
            "label": "house_view",
            "probability": 0.99
          }
        ]
      }
    ],
    "virtualTours": [
      {
        "url": "https://example.com/tour",
        "type": "virtual_tour"
      }
    ]
  },
  "attribution": {
    "agents": [
      {
        "name": null,
        "email": null,
        "phone": null,
        "url": null,
        "type": "listingAgent",
        "licenseNumber": "nrds-1",
        "brokerName": "Example Realty",
        "photoUrl": null
      }
    ],
    "advertisers": [
      {
        "name": "Jamie Agent",
        "email": "agent@example.com",
        "phone": null,
        "url": "https://www.realtor.com/realestateagents/example",
        "type": "seller",
        "licenseNumber": "12345",
        "brokerName": "Example Realty",
        "photoUrl": "https://ap.rdcpix.com/agent.jpg"
      }
    ],
    "branding": [
      {
        "name": "Example Realty",
        "type": "Office",
        "logoUrl": "https://ap.rdcpix.com/brand.jpg",
        "accentColor": "#123456"
      }
    ],
    "source": {
      "id": "CANOPY",
      "type": "mls",
      "name": "Canopy MLS",
      "listingId": "CAR123456",
      "lastUpdatedAt": "2025-01-02T00:00:00Z",
      "disclaimerText": "Based on information submitted to the MLS.",
      "disclaimerUrl": "https://example.com/mls"
    }
  },
  "openHouses": [
    {
      "startAt": "2025-02-01T14:00:00Z",
      "endAt": "2025-02-01T16:00:00Z",
      "description": "Public open house",
      "methods": [
        "in_person"
      ],
      "timeZone": "America/New_York",
      "url": "https://www.realtor.com/open-house"
    }
  ],
  "features": {
    "sections": [
      {
        "category": "Interior",
        "items": [
          "Bedrooms: 3",
          "Bathrooms: 2.5"
        ]
      }
    ],
    "appliances": [],
    "construction": [
      "Brick"
    ],
    "heating": [
      "Forced air"
    ],
    "cooling": [
      "Central air"
    ],
    "interior": [],
    "parking": [],
    "exterior": [],
    "flooring": [],
    "utilities": [],
    "view": [],
    "waterSource": [],
    "sewer": [],
    "roof": "Composition",
    "basement": null,
    "architecturalStyle": null,
    "levels": null,
    "fireplace": true,
    "pool": false,
    "contingencyType": null,
    "flags": {
      "isNewListing": true,
      "isPriceReduced": false,
      "isForeclosure": false,
      "isNewConstruction": false,
      "isPending": false,
      "isContingent": false,
      "isComingSoon": false,
      "isGaragePresent": true,
      "isSeniorCommunity": false,
      "isShortSale": false
    }
  },
  "schools": {
    "total": 1,
    "items": [
      {
        "name": "Example Elementary",
        "type": null,
        "level": "elementary",
        "rating": 8,
        "grades": [
          "K",
          "1",
          "2",
          "3",
          "4",
          "5"
        ],
        "distance": null,
        "district": null,
        "studentCount": 450,
        "parentRating": 4,
        "reviewCount": 12,
        "url": null
      }
    ]
  },
  "nearbySchools": {
    "total": 1,
    "items": [
      {
        "name": "Nearby High",
        "type": null,
        "level": "high",
        "rating": 7,
        "grades": [
          "9",
          "10",
          "11",
          "12"
        ],
        "distance": null,
        "district": null,
        "studentCount": 900,
        "parentRating": 4,
        "reviewCount": 8,
        "url": null
      }
    ]
  },
  "hoa": {
    "fee": 200,
    "details": null
  },
  "mortgage": {
    "loanAmount": 336000,
    "monthlyPayment": 2140,
    "rates": {
      "thirtyYearFixed": null,
      "fifteenYearFixed": null,
      "fiveYearArm": null
    }
  },
  "history": {
    "property": [],
    "tax": []
  },
  "quality": {
    "completeness": "partial",
    "missingSections": [
      "history"
    ],
    "reasons": [
      "History was unavailable in this illustrative response."
    ]
  },
  "scrapedAt": "2026-09-13T00:00:00.000Z",
  "provider": "realtor",
  "provenance": {
    "provider": "realtor",
    "source": "realtor_frontdoor_graphql",
    "inputLocator": "1111100000",
    "servedByTier": null,
    "transport": null
  },
  "providerData": {
    "provider": "realtor",
    "propertyName": "1418 Cambridge Rd",
    "neighborhoods": [],
    "products": {
      "brandName": "core",
      "products": [
        "co_broke"
      ]
    },
    "leadAttributes": {
      "leadType": "co_broke",
      "showContactAnAgent": true,
      "showLeadForm": true
    }
  }
}
```

#### Not-found property-detail row

A missing property preserves stable containers and is unbilled.

```json
{
  "schemaVersion": 1,
  "recordType": "propertyDetail",
  "status": "notFound",
  "externalId": null,
  "correlationId": null,
  "propertyId": "9999900000",
  "listingId": null,
  "url": null,
  "listingStatus": null,
  "listingDates": {
    "listedAt": null,
    "updatedAt": null,
    "postedOn": null,
    "onMarketAt": null,
    "soldOn": null
  },
  "pricing": {
    "list": null,
    "min": null,
    "max": null,
    "currency": null,
    "perSqft": null,
    "lastSold": null,
    "lastSoldDate": null,
    "change": null
  },
  "location": {
    "address": {
      "line": null,
      "unit": null,
      "city": null,
      "stateCode": null,
      "postalCode": null,
      "county": null,
      "country": null,
      "neighborhood": null,
      "subdivision": null,
      "community": null,
      "timeZone": null,
      "full": null
    },
    "coordinates": {
      "latitude": null,
      "longitude": null
    }
  },
  "description": null,
  "facts": {
    "beds": null,
    "baths": null,
    "bathsFull": null,
    "bathsHalf": null,
    "bathsQuarter": null,
    "bathsThreeQuarter": null,
    "sqft": null,
    "lot": null,
    "yearBuilt": null,
    "stories": null,
    "type": null,
    "subType": null,
    "units": null,
    "zoning": null,
    "garage": null
  },
  "media": {
    "primaryPhoto": null,
    "photoCount": null,
    "photos": [],
    "virtualTours": []
  },
  "attribution": {
    "agents": [],
    "advertisers": [],
    "branding": [],
    "source": null
  },
  "openHouses": [],
  "features": {
    "sections": [],
    "appliances": [],
    "construction": [],
    "heating": [],
    "cooling": [],
    "interior": [],
    "parking": [],
    "exterior": [],
    "flooring": [],
    "utilities": [],
    "view": [],
    "waterSource": [],
    "sewer": [],
    "roof": null,
    "basement": null,
    "architecturalStyle": null,
    "levels": null,
    "fireplace": null,
    "pool": null,
    "contingencyType": null,
    "flags": null
  },
  "schools": null,
  "nearbySchools": null,
  "hoa": null,
  "mortgage": null,
  "history": {
    "property": [],
    "tax": []
  },
  "quality": {
    "completeness": "notFound",
    "missingSections": [],
    "reasons": []
  },
  "scrapedAt": "2026-09-13T00:00:00.000Z",
  "provider": "realtor",
  "provenance": {
    "provider": "realtor",
    "source": "realtor_frontdoor_graphql",
    "inputLocator": "9999900000",
    "servedByTier": null,
    "transport": null
  },
  "providerData": {
    "provider": "realtor",
    "propertyName": null,
    "neighborhoods": [],
    "products": null,
    "leadAttributes": null
  }
}
```

#### Failed requests

A transport or validation failure fails the run; it does not fabricate a property row or charge a detail event.

### Pricing

**Max Cost:** the Actor reserves enough budget for complete results before requesting properties. Partial and not-found results remain free and release their reservation for later targets. When the remaining budget cannot fund another property, collection finishes and saved Dataset rows remain available. Unprocessed targets do not produce rows. The lower of the platform run limit and `maxTotalChargeUsd` applies.

There is no fixed start charge. Platform usage is included. Each successfully published complete row emits one `detail-result`; `partial`, `notFound`, failed requests, and failed dataset writes are free.

The effective result price depends on the customer's Apify account tier.

#### `detail-result`

| Apify tier | Per result | Per 1,000 results |
| --- | ---: | ---: |
| FREE | `$0.00170` | `$1.70` |
| BRONZE | `$0.00145` | `$1.45` |
| SILVER | `$0.00115` | `$1.15` |
| GOLD | `$0.00085` | `$0.85` |

### FAQ and troubleshooting

#### Can I extract Realtor.com property details from a listing URL?

Yes. Add Realtor.com detail URLs or numeric property IDs to `propertyTargets` and set `maxResults` to the number of properties to process. For property discovery by ZIP code, first use [Realtor.com Listings by ZIP](https://apify.com/alol/realtor-search). Available media, history, and attribution depend on what the source returns.

**Why is a value null or a list empty?** Realtor.com does not expose every field for every active, sold, or off-market property. The Actor preserves absence instead of inventing values.

**Why did I receive fewer paid rows than targets?** Not-found and partial targets are free. Result, charge, attempt, and upstream-cost limits can also stop paid collection.

**Does this Actor manage its own connection fallback?** Yes. Requests use the fixed operator-managed chain primary residential proxy → premium residential proxy → Bright Data Scraping Browser. The Actor fails closed if that chain is incomplete and never uses Apify Residential or a direct connection.

**Can the internal upstream contract change?** Yes. That internal contract can change without notice; schema drift fails closed instead of silently emitting misleading records.

### Related Actors

Explore our other real-estate Actors for property discovery, enrichment, market analysis, and monitoring:

- [Realtor.com Listings by ZIP](https://apify.com/alol/realtor-search) — Collect Realtor.com listing cards and separate market-statistics rows by ZIP code.
- [Realtor.com ZIP Market Stats](https://apify.com/alol/realtor-zip-statistics) — Get Realtor.com housing-market aggregates by ZIP code without collecting listing cards.
- [Zillow Search](https://apify.com/alol/zillow-search) — Collect listing cards by ZIP code, location, search URL, or map bounds.
- [Zillow Map Results](https://apify.com/alol/zillow-map-results) — Collect lightweight map cards with coordinates and Zillow property IDs.
- [Zillow Area Statistic](https://apify.com/alol/zillow-area-statistic) — Get ZIP-level statistics calculated from Zillow sale or rental listings.
- [Zillow Property Details](https://apify.com/alol/zillow-property-details) — Enrich Zillow property IDs or detail URLs with detailed property records.
- [Zillow Listing Monitor](https://apify.com/alol/zillow-listing-monitor) — Track new listings, price changes, status changes, and confirmed delistings across repeated scans.

### Responsible use and data availability

This independent Actor is not affiliated with or endorsed by Realtor.com. Customers are responsible for lawful use and applicable terms, privacy, data-subject, and intellectual-property obligations. Availability and historical coverage can change.

# Actor input Schema

## `externalId` (type: `string`):

Optional caller-owned run ID copied to every Realtor.com output row.

## `correlationId` (type: `string`):

Optional trace or workflow ID copied to every Realtor.com output row.

## `propertyTargets` (type: `array`):

One to 100 numeric Realtor.com property IDs or HTTPS Realtor.com property detail URLs, in desired output order.

## `maxResults` (type: `integer`):

Global cap on normalized property targets. Paid runs require at least one requested result.

## `maxTotalChargeUsd` (type: `number`):

Hard limit for Realtor.com pay-per-event charges in this run. Paid rows are not written after the limit is reached.

## `maxUpstreamAttempts` (type: `integer`):

Optional run-level ceiling for Realtor.com GraphQL request attempts. The deployment limit can only reduce this value.

## `maxUpstreamCostUsd` (type: `number`):

Optional best-effort ceiling for measured Realtor.com GraphQL request cost. The final request may cause a small overshoot.

## `maxConcurrency` (type: `integer`):

Upper bound for parallel property requests. Output remains in normalized target order.

## Actor input object example

```json
{
  "propertyTargets": [
    "3097757897"
  ],
  "maxResults": 1,
  "maxConcurrency": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "propertyTargets": [
        "3097757897"
    ],
    "maxResults": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("alol/realtor-property-details").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "propertyTargets": ["3097757897"],
    "maxResults": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("alol/realtor-property-details").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "propertyTargets": [
    "3097757897"
  ],
  "maxResults": 1
}' |
apify call alol/realtor-property-details --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,alol/realtor-property-details"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/jrcnPLzFZJUfgNlik/builds/IiA0C5TQbOJfNZoXE/openapi.json
