{
  "data": {
    "id": "BoDPaitVjj5Ai1gc4",
    "actId": "JzgwoMS9gfamIJ9rn",
    "userId": "IYgBDiXtHOijAaUel",
    "startedAt": "2026-11-09T07:11:24.557Z",
    "finishedAt": "2026-11-09T07:12:01.414Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CI"
    },
    "stats": {
      "durationMillis": 36783,
      "runTimeSecs": 36.783,
      "computeUnits": 0.04087,
      "imageSizeBytes": 3254815232
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "QYo53EZkJk0prePWY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Vrbo Vacation Rentals Input\",\n  \"description\": \"Configure the Vrbo scraper to search vacation rentals by destination, dates, and guest count. Returns property details, prices, ratings, amenities, host info and images.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"required\": [\n    \"destination\",\n    \"proxyConfiguration\"\n  ],\n  \"properties\": {\n    \"destination\": {\n      \"title\": \"Destination\",\n      \"type\": \"string\",\n      \"description\": \"Destination city, region or area to search (e.g., 'Orlando, FL', 'Paris, France', 'Miami Beach').\",\n      \"default\": \"Orlando, FL\",\n      \"prefill\": \"Orlando, FL\",\n      \"editor\": \"textfield\",\n      \"sectionCaption\": \"Search Settings\"\n    },\n    \"checkIn\": {\n      \"title\": \"Check-in Date\",\n      \"type\": \"string\",\n      \"description\": \"Check-in date in YYYY-MM-DD format. If left empty or in the past, the scraper will use today + 30 days automatically.\",\n      \"editor\": \"textfield\"\n    },\n    \"checkOut\": {\n      \"title\": \"Check-out Date\",\n      \"type\": \"string\",\n      \"description\": \"Check-out date in YYYY-MM-DD format. If left empty or in the past, the scraper will use check-in + 2 days automatically.\",\n      \"editor\": \"textfield\"\n    },\n    \"adults\": {\n      \"title\": \"Number of Adults\",\n      \"type\": \"integer\",\n      \"description\": \"Number of adult guests. Affects pricing and availability.\",\n      \"default\": 2,\n      \"prefill\": 2,\n      \"minimum\": 1,\n      \"maximum\": 16\n    },\n    \"children\": {\n      \"title\": \"Number of Children\",\n      \"type\": \"integer\",\n      \"description\": \"Number of child guests. Affects pricing and availability.\",\n      \"default\": 0,\n      \"prefill\": 0,\n      \"minimum\": 0,\n      \"maximum\": 20\n    },\n    \"maxItems\": {\n      \"title\": \"Maximum Properties\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum number of properties to scrape from search results.\",\n      \"default\": 3,\n      \"prefill\": 3,\n      \"minimum\": 1,\n      \"maximum\": 500,\n      \"sectionCaption\": \"Limits\"\n    },\n    \"proxyConfiguration\": {\n      \"title\": \"Proxy Configuration\",\n      \"type\": \"object\",\n      \"description\": \"Required. Vrbo is Akamai-protected and blocks all datacenter IPs. Must use Apify RESIDENTIAL proxy group with country US (requires a paid Apify plan). The default prefill already configures this.\",\n      \"editor\": \"proxy\",\n      \"default\": {\n        \"useApifyProxy\": true,\n        \"apifyProxyGroups\": [\n          \"RESIDENTIAL\"\n        ],\n        \"apifyProxyCountry\": \"US\"\n      },\n      \"prefill\": {\n        \"useApifyProxy\": true,\n        \"apifyProxyGroups\": [\n          \"RESIDENTIAL\"\n        ],\n        \"apifyProxyCountry\": \"US\"\n      },\n      \"sectionCaption\": \"Proxy and Browser Settings\"\n    }\n  }\n}",
    "readme": "# Vrbo Destination Rental Listings Extractor\n\nSearch [Vrbo](https://www.vrbo.com/) by destination and travel dates and get back the same vacation-rental cards shown in its search results — property details, nightly/total pricing, guest ratings, review counts, bedrooms/bathrooms, amenities, host signals, and photos. A residential proxy is required (see Input below) since Vrbo blocks non-residential traffic outright.\n\n## What this actor does\n\n- **Destination search** — enter any city, region, or area and get back the listings Vrbo's own search shows for your dates and guest count\n- **Full pricing breakdown** — nightly price, total stay price, strikethrough original price, discount percentage, and whether taxes/fees are already included\n- **Guest and host signals** — rating, review count, Premier Host/Guest Favorite/Rare Find flags, instant-book flag, and scarcity messages like \"Only 1 left\"\n- **Property specifics** — bedrooms, bathrooms, sleeps count, property type, neighborhood, amenities, and up to 20 photo URLs\n- **Honest gaps** — fields a listing card doesn't show (for example, a distance string Vrbo omits on some cards) are left out of that record rather than filled with a placeholder\n\n## Output per property\n\n- `propertyId`, `name`, `url` — listing identity and link\n- `price`, `totalPrice`, `originalPrice`, `currency` — nightly, total-stay, and pre-discount pricing with inferred currency\n- `nights`, `totalIncludesTaxes` — stay length and whether the total already includes taxes/fees\n- `discountPercent`, `distance` — discount percentage and distance-from-landmark text, when Vrbo shows them on the card\n- `rating`, `reviewCount` — guest rating (0–10 scale) and number of reviews\n- `bedrooms`, `bathrooms`, `sleeps` — bathrooms may be fractional (e.g. `2.5`)\n- `propertyType` — e.g. Condo, Villa, House, Cabin\n- `location.neighborhood` — neighborhood/area breakdown\n- `latitude`, `longitude` — only populated for a subset of listings\n- `images` — up to 20 photo URLs per property\n- `amenities`, `propertyFeatures` — amenity badges and detected feature keywords (Pool, Wifi, Kitchen, etc.)\n- `listingFlags` — e.g. Premier Host, Guest Favorite, Rare Find, Free Cancellation\n- `hostIsSuperhost`, `isInstantBook` — host and booking-flow flags\n- `urgencyMessage` — scarcity text such as \"In high demand\" or \"Only 1 left\"\n- `cancellationPolicy` — cancellation policy label shown on the card\n- `hostName` — only populated for a subset of listings\n- `destination`, `checkIn`, `checkOut` — the search parameters that produced this record\n- `scrapedAt` — timestamp the record was collected\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `destination` | string | `Orlando, FL` | City, region, or area to search, e.g. `Paris, France` |\n| `checkIn` | string | – | Check-in date `YYYY-MM-DD`. Blank or past dates auto-roll to today + 30 days |\n| `checkOut` | string | – | Check-out date `YYYY-MM-DD`. Defaults to check-in + 2 days |\n| `adults` | integer | `2` | Number of adult guests (1–16); affects pricing and availability |\n| `children` | integer | `0` | Number of child guests (0–20); affects pricing and availability |\n| `maxItems` | integer | `3` | Maximum number of properties to return (1–500) |\n| `proxyConfiguration` | object | Apify `RESIDENTIAL` proxy, country `US` | Required. Vrbo blocks non-residential traffic, so this must stay set to a US residential proxy |\n\n### Example input\n\n```json\n{\n    \"destination\": \"Orlando, FL\",\n    \"checkIn\": \"2026-06-15\",\n    \"checkOut\": \"2026-06-17\",\n    \"adults\": 2,\n    \"children\": 0,\n    \"maxItems\": 10\n}\n```\n\n### Sample output record\n\n```json\n{\n    \"type\": \"vrbo_property\",\n    \"propertyId\": \"1234567\",\n    \"name\": \"3BR Disney Villa with Pool\",\n    \"url\": \"https://www.vrbo.com/1234567\",\n    \"price\": \"$189\",\n    \"totalPrice\": \"$452 for 2 nights\",\n    \"originalPrice\": \"$229\",\n    \"currency\": \"USD\",\n    \"nights\": 2,\n    \"totalIncludesTaxes\": true,\n    \"discountPercent\": 17,\n    \"distance\": \"19.93 mi from Orlando\",\n    \"rating\": \"9.4\",\n    \"reviewCount\": \"312\",\n    \"bedrooms\": 3,\n    \"bathrooms\": 2.0,\n    \"sleeps\": 8,\n    \"propertyType\": \"Villa\",\n    \"location\": {\"neighborhood\": \"Kissimmee\"},\n    \"images\": [\"https://odis.homeaway.com/odis/listing/...\"],\n    \"amenities\": [\"Pool\", \"Free cancellation\"],\n    \"propertyFeatures\": [\"Pool\", \"Kitchen\", \"Wifi\"],\n    \"listingFlags\": [\"Premier Host\", \"Guest Favorite\", \"Free Cancellation\"],\n    \"hostIsSuperhost\": true,\n    \"isInstantBook\": true,\n    \"urgencyMessage\": \"In high demand\",\n    \"cancellationPolicy\": \"Free cancellation before May 30\",\n    \"destination\": \"Orlando, FL\",\n    \"checkIn\": \"2026-06-15\",\n    \"checkOut\": \"2026-06-17\",\n    \"scrapedAt\": \"2026-04-20T12:34:56Z\"\n}\n```\n\n`hostName`, `latitude`, and `longitude` are only populated for a subset of listings; most records omit them rather than return a guessed value.\n\nIf Vrbo returns no listings for the search (for example, a destination with no availability for the chosen dates), the dataset contains a single diagnostic item instead of a hard failure:\n\n```json\n{\n    \"type\": \"vrbo_blocked\",\n    \"reason\": \"upstream_error\",\n    \"message\": \"Vrbo returned no listings.\",\n    \"destination\": \"...\",\n    \"checkIn\": \"...\",\n    \"checkOut\": \"...\",\n    \"scrapedAt\": \"...\"\n}\n```\n\n`reason` is one of `invalid_input`, `upstream_error`, or `empty_result`.\n\n## Use cases\n\n- **Vacation budgeting** — compare nightly and total prices across a destination before booking\n- **Property sourcing** — shortlist rentals by bedroom/bathroom count, sleeps capacity, and amenities for a group trip\n- **Rate-watching** — re-run the same destination and dates over time to track how pricing and availability shift\n- **Competitive research** — see how rental managers in a market price, badge, and photograph their listings\n- **Travel content** — pull real listing data and photos for a destination guide or comparison article\n\n## FAQ\n\n**Do I need a proxy?**\nYes. Vrbo blocks requests from standard datacenter IP ranges outright, so a US residential proxy is required for this actor to return data. The `proxyConfiguration` input is pre-filled with Apify's `RESIDENTIAL` group and country `US` — leave the default as-is. Residential proxy groups require a paid Apify plan.\n\n**Does it need login or cookies?**\nNo. Vrbo search results are publicly accessible without authentication.\n\n**How fresh is the pricing?**\nPricing is rendered live by Vrbo's website at the time of the request, reflecting the same availability and totals shown to a logged-out visitor.\n\n**Can I scrape a single property's detail page instead of a search?**\nNot currently — this actor reads destination search results, not individual property detail pages.\n\n**Can I filter by property type, price range, or amenities?**\nNot as dedicated inputs today; set `adults`/`children` to influence pricing and availability, then filter the returned dataset on fields like `propertyType`, `price`, or `amenities` downstream.\n\n**Why did my check-in/check-out dates change from what I entered?**\nVrbo rejects searches with a check-in date in the past. If `checkIn` is left blank or already in the past, the actor substitutes today + 30 days (and `checkOut` defaults to check-in + 2 days) so the search still runs.\n\n**Is this affiliated with Vrbo or Expedia Group?**\nNo. This is an independent actor that reads Vrbo's publicly accessible search results; it is not operated by or affiliated with Vrbo or Expedia Group.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "vrbo-destination-rental-listings-extractor",
      "title": "Vrbo Destination Rental Listings Extractor",
      "description": "Search Vrbo vacation rentals by destination and travel dates and get property names, nightly and total prices, guest ratings, bedrooms/bathrooms, amenities, and photos for each listing.",
      "version": "1.0",
      "buildTag": "latest",
      "minMemoryMbytes": 4096,
      "defaultRunTimeoutSecs": 600,
      "meta": {
        "templateId": "python-playwright"
      },
      "input": {
        "title": "Vrbo Vacation Rentals Input",
        "description": "Configure the Vrbo scraper to search vacation rentals by destination, dates, and guest count. Returns property details, prices, ratings, amenities, host info and images.",
        "type": "object",
        "schemaVersion": 1,
        "required": [
          "destination",
          "proxyConfiguration"
        ],
        "properties": {
          "destination": {
            "title": "Destination",
            "type": "string",
            "description": "Destination city, region or area to search (e.g., 'Orlando, FL', 'Paris, France', 'Miami Beach').",
            "default": "Orlando, FL",
            "prefill": "Orlando, FL",
            "editor": "textfield",
            "sectionCaption": "Search Settings"
          },
          "checkIn": {
            "title": "Check-in Date",
            "type": "string",
            "description": "Check-in date in YYYY-MM-DD format. If left empty or in the past, the scraper will use today + 30 days automatically.",
            "editor": "textfield"
          },
          "checkOut": {
            "title": "Check-out Date",
            "type": "string",
            "description": "Check-out date in YYYY-MM-DD format. If left empty or in the past, the scraper will use check-in + 2 days automatically.",
            "editor": "textfield"
          },
          "adults": {
            "title": "Number of Adults",
            "type": "integer",
            "description": "Number of adult guests. Affects pricing and availability.",
            "default": 2,
            "prefill": 2,
            "minimum": 1,
            "maximum": 16
          },
          "children": {
            "title": "Number of Children",
            "type": "integer",
            "description": "Number of child guests. Affects pricing and availability.",
            "default": 0,
            "prefill": 0,
            "minimum": 0,
            "maximum": 20
          },
          "maxItems": {
            "title": "Maximum Properties",
            "type": "integer",
            "description": "Maximum number of properties to scrape from search results.",
            "default": 3,
            "prefill": 3,
            "minimum": 1,
            "maximum": 500,
            "sectionCaption": "Limits"
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Required. Vrbo is Akamai-protected and blocks all datacenter IPs. Must use Apify RESIDENTIAL proxy group with country US (requires a paid Apify plan). The default prefill already configures this.",
            "editor": "proxy",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            },
            "prefill": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            },
            "sectionCaption": "Proxy and Browser Settings"
          }
        }
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Vrbo Destination Rental Listings Extractor Output",
        "description": "Vrbo vacation-rental listings with pricing, ratings, bedrooms/bathrooms, amenities, and photos per property.",
        "type": "object",
        "properties": {
          "properties": {
            "type": "string",
            "title": "Scraped Properties",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "../Dockerfile",
      "readme": "# Vrbo Destination Rental Listings Extractor\n\nSearch [Vrbo](https://www.vrbo.com/) by destination and travel dates and get back the same vacation-rental cards shown in its search results — property details, nightly/total pricing, guest ratings, review counts, bedrooms/bathrooms, amenities, host signals, and photos. A residential proxy is required (see Input below) since Vrbo blocks non-residential traffic outright.\n\n## What this actor does\n\n- **Destination search** — enter any city, region, or area and get back the listings Vrbo's own search shows for your dates and guest count\n- **Full pricing breakdown** — nightly price, total stay price, strikethrough original price, discount percentage, and whether taxes/fees are already included\n- **Guest and host signals** — rating, review count, Premier Host/Guest Favorite/Rare Find flags, instant-book flag, and scarcity messages like \"Only 1 left\"\n- **Property specifics** — bedrooms, bathrooms, sleeps count, property type, neighborhood, amenities, and up to 20 photo URLs\n- **Honest gaps** — fields a listing card doesn't show (for example, a distance string Vrbo omits on some cards) are left out of that record rather than filled with a placeholder\n\n## Output per property\n\n- `propertyId`, `name`, `url` — listing identity and link\n- `price`, `totalPrice`, `originalPrice`, `currency` — nightly, total-stay, and pre-discount pricing with inferred currency\n- `nights`, `totalIncludesTaxes` — stay length and whether the total already includes taxes/fees\n- `discountPercent`, `distance` — discount percentage and distance-from-landmark text, when Vrbo shows them on the card\n- `rating`, `reviewCount` — guest rating (0–10 scale) and number of reviews\n- `bedrooms`, `bathrooms`, `sleeps` — bathrooms may be fractional (e.g. `2.5`)\n- `propertyType` — e.g. Condo, Villa, House, Cabin\n- `location.neighborhood` — neighborhood/area breakdown\n- `latitude`, `longitude` — only populated for a subset of listings\n- `images` — up to 20 photo URLs per property\n- `amenities`, `propertyFeatures` — amenity badges and detected feature keywords (Pool, Wifi, Kitchen, etc.)\n- `listingFlags` — e.g. Premier Host, Guest Favorite, Rare Find, Free Cancellation\n- `hostIsSuperhost`, `isInstantBook` — host and booking-flow flags\n- `urgencyMessage` — scarcity text such as \"In high demand\" or \"Only 1 left\"\n- `cancellationPolicy` — cancellation policy label shown on the card\n- `hostName` — only populated for a subset of listings\n- `destination`, `checkIn`, `checkOut` — the search parameters that produced this record\n- `scrapedAt` — timestamp the record was collected\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `destination` | string | `Orlando, FL` | City, region, or area to search, e.g. `Paris, France` |\n| `checkIn` | string | – | Check-in date `YYYY-MM-DD`. Blank or past dates auto-roll to today + 30 days |\n| `checkOut` | string | – | Check-out date `YYYY-MM-DD`. Defaults to check-in + 2 days |\n| `adults` | integer | `2` | Number of adult guests (1–16); affects pricing and availability |\n| `children` | integer | `0` | Number of child guests (0–20); affects pricing and availability |\n| `maxItems` | integer | `3` | Maximum number of properties to return (1–500) |\n| `proxyConfiguration` | object | Apify `RESIDENTIAL` proxy, country `US` | Required. Vrbo blocks non-residential traffic, so this must stay set to a US residential proxy |\n\n### Example input\n\n```json\n{\n    \"destination\": \"Orlando, FL\",\n    \"checkIn\": \"2026-06-15\",\n    \"checkOut\": \"2026-06-17\",\n    \"adults\": 2,\n    \"children\": 0,\n    \"maxItems\": 10\n}\n```\n\n### Sample output record\n\n```json\n{\n    \"type\": \"vrbo_property\",\n    \"propertyId\": \"1234567\",\n    \"name\": \"3BR Disney Villa with Pool\",\n    \"url\": \"https://www.vrbo.com/1234567\",\n    \"price\": \"$189\",\n    \"totalPrice\": \"$452 for 2 nights\",\n    \"originalPrice\": \"$229\",\n    \"currency\": \"USD\",\n    \"nights\": 2,\n    \"totalIncludesTaxes\": true,\n    \"discountPercent\": 17,\n    \"distance\": \"19.93 mi from Orlando\",\n    \"rating\": \"9.4\",\n    \"reviewCount\": \"312\",\n    \"bedrooms\": 3,\n    \"bathrooms\": 2.0,\n    \"sleeps\": 8,\n    \"propertyType\": \"Villa\",\n    \"location\": {\"neighborhood\": \"Kissimmee\"},\n    \"images\": [\"https://odis.homeaway.com/odis/listing/...\"],\n    \"amenities\": [\"Pool\", \"Free cancellation\"],\n    \"propertyFeatures\": [\"Pool\", \"Kitchen\", \"Wifi\"],\n    \"listingFlags\": [\"Premier Host\", \"Guest Favorite\", \"Free Cancellation\"],\n    \"hostIsSuperhost\": true,\n    \"isInstantBook\": true,\n    \"urgencyMessage\": \"In high demand\",\n    \"cancellationPolicy\": \"Free cancellation before May 30\",\n    \"destination\": \"Orlando, FL\",\n    \"checkIn\": \"2026-06-15\",\n    \"checkOut\": \"2026-06-17\",\n    \"scrapedAt\": \"2026-04-20T12:34:56Z\"\n}\n```\n\n`hostName`, `latitude`, and `longitude` are only populated for a subset of listings; most records omit them rather than return a guessed value.\n\nIf Vrbo returns no listings for the search (for example, a destination with no availability for the chosen dates), the dataset contains a single diagnostic item instead of a hard failure:\n\n```json\n{\n    \"type\": \"vrbo_blocked\",\n    \"reason\": \"upstream_error\",\n    \"message\": \"Vrbo returned no listings.\",\n    \"destination\": \"...\",\n    \"checkIn\": \"...\",\n    \"checkOut\": \"...\",\n    \"scrapedAt\": \"...\"\n}\n```\n\n`reason` is one of `invalid_input`, `upstream_error`, or `empty_result`.\n\n## Use cases\n\n- **Vacation budgeting** — compare nightly and total prices across a destination before booking\n- **Property sourcing** — shortlist rentals by bedroom/bathroom count, sleeps capacity, and amenities for a group trip\n- **Rate-watching** — re-run the same destination and dates over time to track how pricing and availability shift\n- **Competitive research** — see how rental managers in a market price, badge, and photograph their listings\n- **Travel content** — pull real listing data and photos for a destination guide or comparison article\n\n## FAQ\n\n**Do I need a proxy?**\nYes. Vrbo blocks requests from standard datacenter IP ranges outright, so a US residential proxy is required for this actor to return data. The `proxyConfiguration` input is pre-filled with Apify's `RESIDENTIAL` group and country `US` — leave the default as-is. Residential proxy groups require a paid Apify plan.\n\n**Does it need login or cookies?**\nNo. Vrbo search results are publicly accessible without authentication.\n\n**How fresh is the pricing?**\nPricing is rendered live by Vrbo's website at the time of the request, reflecting the same availability and totals shown to a logged-out visitor.\n\n**Can I scrape a single property's detail page instead of a search?**\nNot currently — this actor reads destination search results, not individual property detail pages.\n\n**Can I filter by property type, price range, or amenities?**\nNot as dedicated inputs today; set `adults`/`children` to influence pricing and availability, then filter the returned dataset on fields like `propertyType`, `price`, or `amenities` downstream.\n\n**Why did my check-in/check-out dates change from what I entered?**\nVrbo rejects searches with a check-in date in the past. If `checkIn` is left blank or already in the past, the actor substitutes today + 30 days (and `checkOut` defaults to check-in + 2 days) so the search still runs.\n\n**Is this affiliated with Vrbo or Expedia Group?**\nNo. This is an independent actor that reads Vrbo's publicly accessible search results; it is not operated by or affiliated with Vrbo or Expedia Group.\n"
    },
    "buildNumber": "1.0.1",
    "imageDigest": "070fcf91df0e3258b4bfcf878236d906dd838c77498152cf5d125703aae75235",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.04087
    }
  }
}