Skip to content
    ↑↓ to choose · Enter to open

    · 11 min read

    HousingAnywhere Scraper: 400+ Cities Covered (2026)

    By CrawlerBros Engineering Team

    Each record carries 43 output fields, covering monthly rent, currency, availability dates, advertiser ratings, and property attributes across 400+ cities worldwide. Results cost $0.005 per result on Apify's free plan, which includes $5.00 of monthly usage. Search mode extracts property cards directly from city queries, while setting includeDetails to true pulls full descriptions, tenant preferences, and photo galleries. This tool is built for relocation services, real-estate aggregators, and market analysts who need structured rental market data. It is not for anyone who needs landlord phone numbers or private contact details, which the records do not include.

    Try it: open HousingAnywhere Scraper on Apify, sign in on the free plan and run the prefilled example.

    Can you try HousingAnywhere Scraper before paying?

    Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of HousingAnywhere Scraper a month, before run-start charges and platform usage.

    HousingAnywhere Scraper was last updated on 2026-08-07. It is one of 1,724 Actors CrawlerBros publishes on Apify, which together have 728,503 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.

    What does it cost to run HousingAnywhere Scraper?

    Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.

    Apify plan Per result Per 1,000 results
    FREE $0.005 $5.00
    BRONZE $0.00433 $4.33
    SILVER $0.00367 $3.67
    GOLD $0.003 $3.00
    PLATINUM $0.003 $3.00
    DIAMOND $0.003 $3.00

    The maxItems setting exerts the largest influence on your total bill because charges accumulate per dataset item written. Enabling includeDetails makes extra requests per listing to pull descriptions and galleries, but result charges apply only to items written to the dataset. To verify output fields cheaply before running full city searches, execute an initial run with maxItems set to 5.

    How do you run HousingAnywhere Scraper from the API?

    The schema marks 1 of its 20 controls as required: mode. The payload below uses the schema's own prefilled values, so it runs as written once you substitute your API token.

    Call the synchronous endpoint to start a run and receive dataset items in one request:

    curl -X POST "https://api.apify.com/v2/acts/crawlerbros~housinganywhere-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"mode":"search"}'
    

    The same run from Python, using the official client:

    from apify_client import ApifyClient
    
    client = ApifyClient("<YOUR_APIFY_TOKEN>")
    
    run_input = {
      "mode": "search"
    }
    
    run = client.actor("crawlerbros~housinganywhere-scraper").call(run_input=run_input)
    
    for item in client.dataset(run["defaultDatasetId"]).iterate_items():
        print(item)
    

    And from Node.js:

    import { ApifyClient } from 'apify-client'
    
    const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
    
    const input = {
      "mode": "search"
    }
    
    const run = await client.actor('crawlerbros~housinganywhere-scraper').call(input)
    const { items } = await client.dataset(run.defaultDatasetId).listItems()
    console.log(items)
    

    The synchronous endpoint holds the connection open until the run finishes, which is convenient for small batches and wrong for large ones. For anything long running, start the run asynchronously and poll, or attach a webhook, so a dropped connection does not cost you the results.

    Which HousingAnywhere Scraper inputs matter, and which can you skip?

    The mode parameter determines whether you search by city name or fetch specific property pages via listingUrls. For search mode, setting location to a city string like Berlin, Germany defines your target market. On your first run, leave optional filters like gender or cancellationPolicy unset until you confirm baseline listing counts.

    • mode (string): What to fetch. Default: "search".
    • location (string): City to search, e.g. Berlin, Berlin, Germany, Amsterdam, New York. Resolved automatically to the matching HousingAnywhere city. Default: "Berlin, Germany".
    • listingUrls (array): Full HousingAnywhere listing URLs (/room/... or /s/.../<property-slug>-<id>). Default: [].
    • propertyTypes (array): Filter to specific property types. Leave empty for all types. Default: [].
    • bedroomCounts (array): Filter apartments by number of bedrooms. Default: [].
    • suitableFor (array): Filter by intended tenant type. Default: [].
    • furniture (string): Filter by furnishing status. Default: "".
    • gender (string): Filter listings restricted to a specific gender. Default: "".
    • billsIncluded (string): Filter by whether utility bills are included in the rent. Default: "".
    • registrationPossible (string): Filter by whether municipal address registration is possible at this address. Default: "".
    • cancellationPolicy (string): Filter by the booking cancellation policy. Default: "".
    • recentlyAdded (string): Only show listings added within this time window. Default: "".

    The other 8 controls, with their defaults, are listed in the input schema on HousingAnywhere Scraper on Apify.

    Fixed-choice controls: mode accepts search (Search listings by city), listingDetails (Fetch full details for listing URLs); furniture accepts "" ((any)), furnished, unfurnished; gender accepts "" ((any)), male (Male only), female (Female only); billsIncluded accepts "" ((any)), included (Bills included), excluded (Bills excluded); registrationPossible accepts "" ((any)), possible (Registration possible), not-possible (Registration not possible); cancellationPolicy accepts "" ((any)), strict, flexible-30d (Flexible (30 days)); recentlyAdded accepts "" ((any)), 1-day (Last 24 hours), 3-days (Last 3 days), 7-days (Last 7 days), 14-days (Last 14 days).

    What does HousingAnywhere Scraper return?

    Returned records provide structured property data including rent ranges, availability dates, property sizes, and facility summaries suitable for rental portals and pricing models. They do not contain direct owner contact numbers or unlisted personal landlord emails.

    • listingId, listingKind (room or property)
    • title, sourceUrl, imageUrl
    • priceFrom, priceTo, priceCurrency, pricePeriod, billsIncluded, priceText
    • rating, reviewCount
    • availabilityText, isAvailableNow, availableFrom
    • facilitiesSummary
    • placesText plus, depending on how HousingAnywhere labels the card, either spaceForPersons (occupancy, e.g. "For 1 person" → 1) or bedroomCount (e.g. "2 Bedrooms" → 2)
    • sizeText, propertySizeM2 - only shown on cards HousingAnywhere tags with a floor area
    • advertiserVerified - true when the card carries a "Tenant-verified" badge
    • city, country, searchLocation
    • recordType: "listing", scrapedAt
    • description, advertiserName, propertyKind
    • propertySizeM2, bedroomCount, spaceForPersons, furnished
    • addressStreet, facilitiesText
    • tenantAge, tenantGenderPreference, tenantType, couplesAllowed
    • cancellationPolicyText, contractTypeText, registrationInfo
    • images[] (full photo gallery)

    These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.

    How do you build the workflow end to end?

    Open HousingAnywhere Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.

    1. Set mode to search or listingDetails depending on whether you are querying a city or fetching target listing URLs.
    2. Define location as a city string like Berlin, Germany or Amsterdam to target the query.
    3. Configure optional filter controls like propertyTypes, bedroomCounts, or furniture to narrow the search scope.
    4. Configure includeDetails to true if your project requires property descriptions, photo galleries, and tenant rules.
    5. Set maxItems to a low number on your initial test run to inspect dataset keys before launching bulk jobs.
    6. Run the Actor and review dataset rows for listingId, priceCurrency, and availabilityText fields.
    7. Verify that empty fields are omitted from output JSON rather than returned as null or empty strings.

    How do you apply it? Three worked playbooks

    These are HousingAnywhere Scraper's own documented use cases, each worked through as an operating pattern rather than a description.

    Use case 1: Relocation & study-abroad services

    Outcome: Surface current listings for clients moving to a new city

    Configure: mode="search", location="Amsterdam", propertyTypes=["studio-for-rent", "private-rooms"], suitableFor=["students"], includeDetails=true, maxItems=50

    Working method: Run search mode for target relocation cities with strict filtering for student suitability and furnishing, checking that descriptions and image arrays return populated.

    Deliverable: A structured dataset of furnished rooms and studios with lease terms, facility lists, and image gallery URLs.

    Stop condition: The dataset contains zero records or records consistently missing availability dates.

    Use case 2: Rent price benchmarking

    Outcome: Track monthly rent ranges by city, property type and furnishing

    Configure: mode="search", location="Berlin, Germany", propertyTypes=["apartment-for-rent"], furniture="furnished", sortBy="lowToHigh", maxItems=200

    Working method: Execute weekly scheduled runs across target cities and property types, extracting priceFrom and priceTo bounds to compute median rent trends over time.

    Deliverable: A dataset of current monthly rents partitioned by city, property type, and furnishing status.

    Stop condition: The priceFrom field is missing or invalid across returned records.

    Use case 3: Real-estate aggregators

    Outcome: Feed structured listing data into a comparison site

    Configure: mode="search", location="New York", includeDetails=true, recentlyAdded="3-days", maxItems=100

    Working method: Query new inventory daily using recentlyAdded set to 3-days, pulling full listing details to feed normalized records directly into external search indexes.

    Deliverable: A fresh feed of rental listings complete with descriptions, property sizes, and photo galleries for site ingestion.

    Stop condition: The listingId field fails to populate across emitted records.

    What breaks, and how do you design around it?

    When a city search returns zero records, confirm that location contains a standard city and country name before running again. If setting includeDetails increases run duration on large queries, split your pipeline into a fast search pass followed by targeted listingDetails runs using listingUrls.

    When should you not use HousingAnywhere Scraper?

    Do not use this Actor if you need multi-provider rental data aggregated from multiple housing platforms simultaneously. For multi-source coverage across providers like Spotahome and Blueground, use Nestpick Scraper instead. If you only need room listings in Germany, WG-Gesucht Flatshare & Room Listings Scraper directly targets that market. For European and UAE mid-term rentals, Spotahome Mid-Term Rentals Scraper offers direct coverage.

    What should you check before trusting the output?

    • Check that listingId is present and non-empty on every emitted listing record.
    • Validate that priceFrom is a positive integer before running price aggregation scripts.
    • Confirm that priceCurrency matches the expected local currency for the searched city.
    • Stop scheduled collection if location yields zero records due to an unresolvable city string.

    None of this proves a record is correct. It gives a scheduled HousingAnywhere Scraper run defined points where it should stop instead of quietly passing bad data downstream.

    Frequently asked questions

    How much does running HousingAnywhere Scraper cost?

    On Apify's free plan, results cost $0.005 per result, which equals $5.00 per 1,000 results. The free plan provides $5.00 of monthly usage with no credit card. Platform usage and run-start charges apply on top of per-result fees.

    Which cities are supported by the location parameter?

    The input schema supports searches across 400+ cities worldwide. If a city is not recognized by the target platform, the execution will complete with a status message and zero records rather than raising a system exception.

    Why do some records show a price range with priceFrom and priceTo?

    Properties containing multiple units or distinct room rates show a range on their listing card. The Actor captures both lower and upper monthly rent bounds in local currency.

    Does enabling includeDetails increase run time?

    Yes. Enabling includeDetails makes an extra page fetch per listing to pull full descriptions, facility lists, tenant preferences, and photo galleries. Leave it off for rapid price scans.

    Are proxies or account logins required?

    No login, cookies, or paid proxies are required. The Actor extracts public rental listings directly from HousingAnywhere's web pages.

    Where to go next

    When you are ready to run it, open HousingAnywhere Scraper on Apify; the free plan covers up to 1,000 results a month.

    Start with the HousingAnywhere Scraper Actor page for the current input schema, pricing tier, and run history.

    Other Actors we maintain for related data:

    • Spotahome Mid-Term Rentals Scraper: Scrape Spotahome.com - the mid/long-term furnished rental marketplace covering 92 cities across Europe, the UAE and Turkey.
    • Nestpick Scraper: Scrape furnished mid- to long-term rental listings from Nestpick - rooms, studios and apartments across 3000+ cities, aggregated from Spotahome, Blueground, HousingAnywhere and other providers.
    • WG-Gesucht Flatshare & Room Listings Scraper: Scrape WG-Zimmer, apartment and room rental listings from WG-Gesucht.de, Germany's largest flatshare platform.
    • ApartmentFinder Scraper: Scrape ApartmentFinder.com - one of the largest US apartment rental platforms.

    Related guides:

    Resources

    • Actor documentation, input schema, and pricing: verified against the published Actor on 2026-10-04.

    • Actor last updated by its maintainers on 2026-08-07.

    • Run outcome figures cover the 30 day public window ending 2026-10-04.

    • HousingAnywhere Scraper on Apify

    Featured actors

    HousingAnywhere Scraper

    Scrape HousingAnywhere.com mid- to long-term rental listings by city - rooms, studios and apartments with price, rating, availability and full listing details across 400+ cities worldwide.

    Run on Apify ↗