Arcadium Data Scrapers
Home / Switch / Zillow Detail Scraper

Switching from Zillow Detail Scraper to Zillow Scraper

Zillow Scraper (arcadium/zillow-properties) reads input written for maxcopell/zillow-detail-scraper: 3 of its 5 input fields work as they are. Field list from its public input schema (build 0.0.151, 2026-10-31); prices and run results from the public Apify API, 2026-11-02.

Their fields that work as they are

Their fieldTypeNote
startUrlsarrayAs is
addressesarrayRead as places to search; each address is searched on its own.
propertyStatusstringAs is

Their fields this actor does not read

extractBuildingUnits, searchResultsDatasetId. Leave them out of the input; the actor’s own options are in the guide.

Side by side: their input, our rows

Input written for maxcopell/zillow-detail-scraper, pasted unchanged:

{
  "startUrls": [
    {
      "url": "https://www.zillow.com/homedetails/17-Zelma-Dr-Greenville-SC-29617/11005484_zpid/"
    }
  ],
  "propertyStatus": "RECENTLY_SOLD"
}

One row from arcadium/zillow-properties (README example; long text shortened):

{
  "rowType": "property",
  "platform": "zillow",
  "propertyId": "70345655",
  "url": "https://www.zillow.com/homedetails/3207-Wickham-Ln-Austin-TX-78725/70345655_zpid/",
  "status": "FOR_SALE",
  "price": 324900,
  "currency": "USD",
  "address": "3207 Wickham Ln, Austin, TX 78725",
  "city": "Austin",
  "state": "TX",
  "zipcode": "78725",
  "latitude": 30.232096,
  "longitude": -97.5937,
  "beds": 4,
  "baths": 3,
  "livingArea": 2575,
  "lotArea": 4800.312,
  "lotAreaUnit": "sqft",
  "homeType": "SINGLE_FAMILY",
  "daysOnMarket": 140,
  "zestimate": null,
  "rentZestimate": null,
  "taxAssessedValue": 365588,
  "priceChange": -15000,
  "priceChangeDate": "2026-10-14",
  "brokerName": "T J Lewis Real Estate",
  "photos": null,
  "detailed": false,
  "searchInput": "Austin, TX",
  "searchRank": 1,
  "scrapedAt": "2026-10-22T10:00:00.000Z"
}

Output fields: rowType, platform, propertyId, url, status, statusText, price, currency, address, street, city, state, zipcode, latitude, longitude, beds, baths, livingArea, lotArea, lotAreaUnit, homeType, yearBuilt, daysOnMarket, zestimate, rentZestimate, taxAssessedValue, priceChange, priceChangeDate, dateSold, lastSoldPrice, brokerName, photos, photoCount, hasVideo, has3DModel, detailed, description, monthlyHoaFee, propertyTaxRate, mlsId, listingDataSource, county, parcelId, facts, priceHistory, taxHistory, schools, pageViewCount, favoriteCount, searchInput, searchRank, scrapedAt, input, code, message. The rows use these names, not the other actor’s.

Price

ActorPricing modelCharged perPer 1,000, Free planPer 1,000, lowest plan
arcadium/zillow-propertiesPay per eventProperty$2.10$1.20
maxcopell/zillow-detail-scraperPay per eventresult$3.60$0.80

Live Apify prices on 2026-11-02, in USD, for each actor’s main charged event. Start fees and platform usage are not included. Units differ: compare what one charged row contains. The Store page of each actor is the current source.

Common issues: failed or timed-out runs

ActorRuns, last 30 daysFailedTimed out
arcadium/zillow-propertiesunder 50 runs--
maxcopell/zillow-detail-scraper711,1311.1%0.0%

Apify’s public run statistics for each actor, last 30 days to 2026-11-02: FAILED and TIMED-OUT runs as a share of all runs. Shown from 50 runs. A failed run can also come from a bad input. Here an input that cannot be read comes back as a free error row with a code, and the other inputs still arrive.

How to switch

In the Apify Store

  1. Open arcadium/zillow-properties and sign in to Apify.
  2. On the Input tab, switch the editor to JSON and paste the input you used for maxcopell/zillow-detail-scraper, without the fields listed above as not read.
  3. Start the run. Set a maximum cost per run in the run options if you want a hard cap.

Over the API

Change the actor ID in the URL from maxcopell~zillow-detail-scraper to arcadium~zillow-properties; the body stays the same apart from the fields this actor does not read.

curl -X POST "https://api.apify.com/v2/acts/arcadium~zillow-properties/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":[{"url":"https://www.zillow.com/homedetails/17-Zelma-Dr-Greenville-SC-29617/11005484_zpid/"}],"propertyStatus":"RECENTLY_SOLD"}'

In n8n

In the Apify node, change the actor to arcadium/zillow-properties and keep the input JSON. With an HTTP Request node:

{
  "nodes": [
    {
      "name": "Run arcadium/zillow-properties",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4,
      "position": [
        0,
        0
      ],
      "parameters": {
        "method": "POST",
        "url": "https://api.apify.com/v2/acts/arcadium~zillow-properties/run-sync-get-dataset-items",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\"startUrls\":[{\"url\":\"https://www.zillow.com/homedetails/17-Zelma-Dr-Greenville-SC-29617/11005484_zpid/\"}],\"propertyStatus\":\"RECENTLY_SOLD\"}",
        "options": {
          "timeout": 300000
        }
      }
    }
  ],
  "connections": {}
}

From an AI assistant (MCP)

Add the actor as a tool on Apify’s MCP server; an agent can pass the same input fields.

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=arcadium/zillow-properties",
      "headers": {
        "Authorization": "Bearer <APIFY_TOKEN>"
      }
    }
  }
}

All switching guides