# Livabl Property Search Scraper (`alexist/livabl-property-search-scraper`) Actor

Scrape property listings, developer info, and market data from Livabl.com's map interface. Capture 50+ fields including prices, locations, building types, and construction status — perfect for real estate analysts, market researchers, and property aggregators.

- **URL**: https://apify.com/alexist/livabl-property-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Livabl Property Search Scraper: Extract Real Estate Data from Map Listings

***

### What Is Livabl.com?

Livabl.com is a comprehensive real estate search platform specializing in property listings, community information, and market intelligence. It features interactive maps allowing users to filter properties by price, location, building type, and sale/rental status. For professionals needing bulk property data, manually extracting information from map-based listings is inefficient — the **Livabl Property Search Scraper** automates this process, delivering structured property records at scale.

***

### Overview

The **Livabl Property Search Scraper** extracts detailed property information from Livabl.com's map interface and property listings. It captures comprehensive data across sales and rental markets, making it ideal for:

- **Real estate investors** tracking market trends and property availability
- **Market researchers** analyzing housing inventory and pricing patterns
- **Property aggregators** building comprehensive real estate databases
- **Real estate agents** monitoring competitor listings and market competition

Key advantages include high-volume extraction (up to 200+ items per URL), robust handling of failed URLs, and access to 50+ property fields spanning pricing, location, construction status, and developer information.

***

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.livabl.com/map#MTB8NDAuODA2NTM4OHwtNzQuMjcwMjk4fGZlYXR8U2VsbGluZyxSZWdpc3RyYXRpb24sUGVuZGluZ3xGb3IgU2FsZXx8fHx8fHx8MSt8QW55fEFsbCxDb25kbyxDb25kb3AsQ28tb3AsRmVlIFNpbXBsZXx8NHw1MjV8fGZhbHNlfGZhbHNl"
  ],
  "max_items_per_url": 200,
  "ignore_url_failures": true
}
```

| Field | Description |
|---|---|
| `urls` | Array of Livabl map URLs (copy directly from browser after applying filters) |
| `max_items_per_url` | Maximum properties to extract per URL (recommended: 50–200) |
| `ignore_url_failures` | If `true`, continues scraping if a URL fails; if `false`, stops the entire run |

> **Tip:** Livabl map URLs encode filter parameters (price range, property type, status) in the hash fragment. Copy the full URL from your browser after filtering to capture only relevant properties.

***

### Output Format

**Sample output**

```json
{
  "desc_price_rn": 9973,
  "is_quick_move_in": false,
  "desc_size_rn": 4564,
  "featured_rn": 3,
  "coordinates_top_right": null,
  "community_developer_name": null,
  "selling_sqft_range": null,
  "community_image_url": null,
  "buy_now": false,
  "community_name": null,
  "display_con_status": "Complete",
  "is_featured": false,
  "viewbox_width": null,
  "is_virtual_tour": false,
  "asc_rental_price_rn": 1,
  "dba_ids": [
    "FC048BE6-E000-4F2D-BA0D-14C54695A7AF"
  ],
  "asc_price_rn": 9970,
  "community_url": null,
  "desc_rental_price_rn": 1,
  "pre_launch_rn": 2,
  "show_pre_launch": false,
  "dev_name": "114 15th Street Condos",
  "con_status": "Complete",
  "asc_size_rn": 3870,
  "sales_price_range": "Pending",
  "desc_rental_size_rn": 2,
  "viewbox_height": null,
  "selling_bd_range": null,
  "is_home_for_sale": true,
  "sold_bd_range": null,
  "is_verified": false,
  "asc_rental_size_rn": 2,
  "community_sales_price_range": null,
  "sales_bldng_type": "Condos",
  "converted_siteplan_image_name": null,
  "community_address": null,
  "siteplan_masked_image_path": null,
  "community_id": null,
  "img_type": null,
  "address": "114 15th Street, Brooklyn, NY",
  "doc_type": "dev",
  "state_id": 36,
  "rotation": null,
  "svg_mask": null,
  "rental_bldng_type": null,
  "dba_name": null,
  "dev_url": "brooklyn-ny/114-15th-street-condos",
  "img_url": null,
  "selling_status": "Pending",
  "coordinates_bottom_left": null,
  "location": " 40.66714590,-73.99314630",
  "sold_sqft_range": null,
  "from_url": "https://www.livabl.com/map#MTB8NDAuODA2NTM4OHwtNzQuMjcwMjk4fGZlYXR8U2VsbGluZyxSZWdpc3RyYXRpb24sUGVuZGluZ3xGb3IgU2FsZXx8fHx8fHx8MSt8QW55fEFsbCxDb25kbyxDb25kb3AsQ28tb3AsRmVlIFNpbXBsZXx8NHw1MjV8fGZhbHNlfGZhbHNl"
}
```

Each property returns a comprehensive record with 50+ fields covering identification, pricing, location, construction details, and developer information:

#### Pricing & Rental Information

| Field | Meaning |
|---|---|
| `Asc Price RN` | Ascending sales price range (lowest to highest) |
| `Desc Price RN` | Descending sales price range (highest to lowest) |
| `Sales Price Range` | Full price range for sale properties |
| `Community Sales Price Range` | Developer community price range for sales |
| `Asc Rental Price RN` | Ascending rental price range |
| `Desc Rental Price RN` | Descending rental price range |

#### Property Specifications

| Field | Meaning |
|---|---|
| `Desc Size RN` | Descending square footage range |
| `Asc Size RN` | Ascending square footage range |
| `Selling Sqft Range` | Square footage range for sale properties |
| `Asc Rental Size RN` | Ascending rental square footage |
| `Desc Rental Size RN` | Descending rental square footage |
| `Selling Bedroom Range` | Bedroom count range for sale properties |
| `Sold Bedroom Range` | Bedroom count for sold properties |

#### Location & Address

| Field | Meaning |
|---|---|
| `Address` | Full street address of the property |
| `Community Address` | Developer community address |
| `Displayed Location` | Location label shown to end-users |
| `Location` | Geographic location identifier |
| `Coordinates Top Right` | GPS coordinates (top-right boundary of property) |
| `Coordinates Bottom Left` | GPS coordinates (bottom-left boundary of property) |
| `State ID` | State or province identifier |

#### Building & Property Type

| Field | Meaning |
|---|---|
| `Sales Building Type` | Building category for sale (condo, co-op, townhouse, etc.) |
| `Rental Building Type` | Building category for rental |
| `Selling Status` | Current listing status (for sale, pending, sold) |
| `Construction Status` | Build stage (pre-launch, under construction, completed) |
| `Display Con Status` | Formatted construction status for display |

#### Developer & Community Information

| Field | Meaning |
|---|---|
| `Developer Name` | Primary developer name |
| `Community Developer Name` | Developer name within community |
| `Community Name` | Official community/project name |
| `Community ID` | Unique identifier for the community |
| `Community URL` | Developer's community landing page |
| `Developer URL` | Primary developer website |
| `DBA Name` | Doing Business As name |
| `DBA IDs` | Array of business identifiers |

#### Listing Features & Flags

| Field | Meaning |
|---|---|
| `Featured RN` | Prominence ranking if featured |
| `Is Featured` | Whether listing has premium placement |
| `Is Quick Move In` | Whether property offers immediate occupancy |
| `Is Virtual Tour` | Whether 3D/virtual tour is available |
| `Is Home For Sale` | Indicates active sales listing |
| `Is Verified` | Whether data is verified by Livabl |
| `Pre Launch RN` | Pre-launch ranking/status |
| `Show Pre Launch` | Whether to display pre-launch status |
| `Buy Now` | Call-to-action availability flag |

#### Visual & Media Assets

| Field | Meaning |
|---|---|
| `Community Image URL` | URL of community photo |
| `Image URL` | Property image URL |
| `Siteplan Masked Image Path` | Site plan image path with overlays |
| `Converted Siteplan Image Name` | Processed site plan filename |
| `Image Type` | File type/format (jpg, png, etc.) |
| `SVG Mask` | SVG overlay mask for highlighting areas |
| `Rotation` | Image rotation angle (0, 90, 180, 270) |

#### Map Visualization

| Field | Meaning |
|---|---|
| `Viewbox Width` | Map viewport width in pixels |
| `Viewbox Height` | Map viewport height in pixels |

#### Classification & Administration

| Field | Meaning |
|---|---|
| `Document Type` | Record classification (property, community, etc.) |

***

### How to Use

1. **Navigate to Livabl.com** — Visit https://www.livabl.com/map and apply filters (price range, location, property type, sale/rental status).
2. **Copy the map URL** — After filtering, copy the full browser URL (including the hash fragment with parameters).
3. **Prepare your input** — Paste the URL into the `urls` array. Add multiple URLs for different markets or filters.
4. **Set extraction limits** — Adjust `max_items_per_url` based on your needs (50 for quick scans, 200 for comprehensive data).
5. **Enable failure tolerance** — Keep `ignore_url_failures: true` for bulk operations to prevent interruptions.
6. **Run and download** — Start the scraper, monitor progress, and export results as JSON, CSV, or Excel.

**Troubleshooting:**

- Ensure URLs are map view URLs (containing the `#MTB` hash fragment), not search result pages.
- If few properties extract, adjust filters in Livabl directly, then re-copy the URL.
- For very large datasets, split into multiple URLs with tighter geographic or price filters.

***

### Use Cases & Business Value

- **Market analysis:** Track inventory, pricing trends, and construction status across regions
- **Investment research:** Identify emerging communities, developer activity, and market timing
- **Competitive intelligence:** Monitor competitor listings, feature offerings, and positioning
- **Data aggregation:** Feed property data into MLS alternatives, real estate platforms, or BI dashboards
- **Lead generation:** Extract community information for direct outreach to developers

The Livabl Property Search Scraper eliminates hours of manual map browsing, delivering ready-to-analyze property datasets that drive faster, smarter real estate decisions.

***

### Conclusion

The **Livabl Property Search Scraper** empowers real estate professionals to unlock market insights at scale. With 50+ data fields spanning pricing, location, construction status, and developer information, this tool transforms Livabl's map interface into a structured, actionable database. Start scraping today and stay ahead in competitive real estate markets.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the property list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.livabl.com/map#MTB8NDAuODA2NTM4OHwtNzQuMjcwMjk4fGZlYXR8U2VsbGluZyxSZWdpc3RyYXRpb24sUGVuZGluZ3xGb3IgU2FsZXx8fHx8fHx8MSt8QW55fEFsbCxDb25kbyxDb25kb3AsQ28tb3AsRmVlIFNpbXBsZXx8NHw1MjV8fGZhbHNlfGZhbHNl"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}
```

# 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 = {
    "urls": [
        "https://www.livabl.com/map#MTB8NDAuODA2NTM4OHwtNzQuMjcwMjk4fGZlYXR8U2VsbGluZyxSZWdpc3RyYXRpb24sUGVuZGluZ3xGb3IgU2FsZXx8fHx8fHx8MSt8QW55fEFsbCxDb25kbyxDb25kb3AsQ28tb3AsRmVlIFNpbXBsZXx8NHw1MjV8fGZhbHNlfGZhbHNl"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/livabl-property-search-scraper").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 = {
    "urls": ["https://www.livabl.com/map#MTB8NDAuODA2NTM4OHwtNzQuMjcwMjk4fGZlYXR8U2VsbGluZyxSZWdpc3RyYXRpb24sUGVuZGluZ3xGb3IgU2FsZXx8fHx8fHx8MSt8QW55fEFsbCxDb25kbyxDb25kb3AsQ28tb3AsRmVlIFNpbXBsZXx8NHw1MjV8fGZhbHNlfGZhbHNl"],
    "ignore_url_failures": True,
    "max_items_per_url": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/livabl-property-search-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.livabl.com/map#MTB8NDAuODA2NTM4OHwtNzQuMjcwMjk4fGZlYXR8U2VsbGluZyxSZWdpc3RyYXRpb24sUGVuZGluZ3xGb3IgU2FsZXx8fHx8fHx8MSt8QW55fEFsbCxDb25kbyxDb25kb3AsQ28tb3AsRmVlIFNpbXBsZXx8NHw1MjV8fGZhbHNlfGZhbHNl"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}' |
apify call alexist/livabl-property-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=alexist/livabl-property-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/TPUO50dccMfDqSu4B/builds/6KXxZL7TLqXRIUARF/openapi.json
