# Trulia Scraper (`parseforge/trulia-scraper`) Actor

Extract rental and for-sale property listings from Trulia. Get prices, addresses, coordinates, bedrooms, bathrooms, square footage, property type, tags, and images. Filter by location, price range, bedrooms, pet policy, parking, and more. Export as JSON, CSV, or Excel.

- **URL**: https://apify.com/parseforge/trulia-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Real estate, Lead generation, Other
- **Stats:** 3 total users, 1 monthly users, 96.8% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🏠 Trulia Rental Scraper

> 🕒 **Last updated:** 2026-05-05


Easily gather detailed rental property listings from Trulia without needing to code. This tool pulls prices, addresses, bedrooms, bathrooms, amenities, and neighborhood scores with a simple location search. Whether you're looking at rental trends, analyzing competitors, or downloading rental data as a CSV, this scraper simplifies the process of collecting and exporting Trulia listings.

> The Trulia Rental Scraper captures over 40 data fields, including rent prices, amenities, neighborhood scores, and broker details. It also has built-in protection against bot detection.

### ✨ What Does It Do

- 🏘️ Property Listings - Collect rental properties from any location to monitor market activity
- 💰 Rent and Fees - Extract monthly rent, security deposits, and HOA fees for market analysis
- 📍 Location Data - Get addresses, coordinates, city, state, ZIP codes, and neighborhood names
- 🛏️ Property Details - Retrieve bedrooms, bathrooms, square footage, year built, and property type
- 🎯 Amenities - Download pet policies, parking types, laundry availability, and climate control options
- 📊 Walkability Scores - Access walk scores and transit scores to evaluate neighborhood accessibility
- 📸 Property Images - Collect thumbnail and full-size property photos for visual content
- 📋 Agent Information - Get listing agent names, phone numbers, and broker details for outreach

### 🔧 Input

- **Start URL** - Paste a direct Trulia listing or search URL to scrape, or leave blank to use location-based filters below
- **Max Items** - Number of listings to collect. Free users: up to 100 per run, paid users: up to 1,000,000
- **Location** - Enter a city and state (e.g., "New York, NY") or ZIP code to search
- **Listing Type** - Choose between for-rent or for-sale
- **Min Price** - Filter by minimum monthly rental price in USD
- **Max Price** - Filter by maximum monthly rental price in USD
- **Min Bedrooms** - Filter by minimum number of bedrooms
- **Max Bedrooms** - Filter by maximum number of bedrooms
- **Min Bathrooms** - Filter by minimum number of bathrooms
- **Max Bathrooms** - Filter by maximum number of bathrooms
- **Property Type** - Filter by apartment, house, condo, townhouse, or multi-family
- **Min Square Feet** - Filter by minimum living area
- **Max Square Feet** - Filter by maximum living area
- **Pet Friendly** - Show only listings that allow pets
- **Parking Available** - Show only listings with parking
- **Laundry In Unit** - Show only listings with in-unit laundry
- **Air Conditioning** - Show only listings with air conditioning
- **Move-in Date** - Filter by earliest available move-in date in YYYY-MM-DD format
- **Proxy Configuration** - Residential proxy settings for reliable access
- **Max Concurrency** - Number of parallel requests, default 3 (lower if rate-limited)

Example input:
```json
{
  "location": "New York, NY",
  "maxItems": 50,
  "priceMin": 2000,
  "priceMax": 5000,
  "bedroomsMin": 2,
  "bathroomsMin": 1,
  "petFriendly": true,
  "parkingAvailable": true
}
````

### 📊 Output

Each rental listing includes up to 40 data fields. Download as JSON, CSV, or Excel.

| 🖼️ Thumbnail URL | 📸 Image URLs | 🏘️ Property ID |
|:---|:---|:---|
| 📝 Listing Title | 🔗 Listing URL | 💰 Monthly Price |
| 📍 Street Address | 🏙️ City | 📌 State |
| 🔢 ZIP Code | 🌍 Latitude | 🌍 Longitude |
| 🛏️ Bedrooms | 🚿 Bathrooms | 📐 Square Feet |
| 🏘️ Property Type | ✅ Listing Status | 📅 Available Date |
| 📅 Days On Market | 🏘️ Neighborhood | 🌳 Walk Score |
| 🚌 Transit Score | 🎯 Amenities | 🐾 Pet Policy |
| 🚗 Parking Type | 🧺 Laundry Type | 🔥 Heating Type |
| ❄️ Cooling Type | 💳 Security Deposit | 💳 Monthly HOA Fee |
| 📜 Lease Term | 👤 Listing Agent | 📞 Agent Phone |
| 🏢 Broker Name | 🏗️ Year Built | 📏 Floors In Building |
| 📝 Description | 🕐 Open House Schedule | 📍 Price Frequency |
| 🤖 Scraped At | ⚠️ Error (if any) | |

### 💎 Why Choose the Trulia Rental Scraper?

| Feature | Our Actor |
|:---|:---|
| Handles site protection automatically | ✔️ |
| Collect 40+ data fields per listing | ✔️ |
| Filter by price range, bedrooms, bathrooms | ✔️ |
| Filter by amenities (pet-friendly, parking, laundry, AC) | ✔️ |
| Extract property images and thumbnails | ✔️ |
| Access neighborhood walkability and transit scores | ✔️ |
| Get listing agent contact information | ✔️ |
| Collect HOA fees and security deposits | ✔️ |
| Export to JSON, CSV, or Excel | ✔️ |
| Support for paid users up to 1,000,000 listings per run | ✔️ |
| No coding required, fully automated | ✔️ |
| Residential proxy support built-in | ✔️ |

### 📋 How to Use

No tech skills needed. Just follow these steps:

1. Sign Up: [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)
2. Find the Tool: Search for "Trulia Rental Scraper" in the Apify Store and set up your input
3. Run It: Click "Start" and watch the results roll in

That's all. No coding or setup required. Export your data in CSV, Excel, or JSON format.

### 🎯 Business Use Cases

- 📊 **Real Estate Analysts** - Monitor rental prices across cities monthly to spot new opportunities and adjust strategies
- 💼 **Property Managers** - Keep an eye on competitor rates in your building's area weekly to tweak lease terms
- 📣 **Marketing Managers** - Collect data on amenities and pet policies from competitors to highlight your property's unique features

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 🎯 | **Built for the job.** Scoped specifically to this data source so you skip the parser engineering entirely. |
| 🔖 | **Structured output.** Clean, typed fields ready for analysis, dashboards, or downstream pipelines. |
| ⚡ | **Fast.** Optimized request patterns return results in seconds, not minutes. |
| 🔁 | **Always fresh.** Every run pulls live data, so the dataset reflects the source as of run time. |
| 🌐 | **No infra to manage.** Apify handles proxies, retries, scaling, scheduling, and storage. |
| 🛡️ | **Reliable.** Battle-tested across many runs and edge cases, with graceful error handling. |
| 🚫 | **No code required.** Configure in the UI, run from CLI, schedule via cron, or call from any language with the Apify SDK. |

> 📊 Production-grade structured data without the engineering overhead of building and maintaining your own scraper.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ Trulia Rental Scraper** *(this Actor)* | $5 free credit, then pay-per-use | Full source coverage | **Live per run** | Source-native filters supported | ⚡ 2 min |
| Build your own scraper | Engineering hours | Full once built | Whenever you maintain it | Custom code | 🐢 Days to weeks |
| Paid managed APIs | $$$ monthly | Vendor-defined | Live | Vendor-defined | ⏳ Hours |
| Third-party data dumps | Varies | Subset, often stale | Periodic | None | 🕒 Variable |

Pick this Actor when you want broad coverage, server-side filtering, and no pipeline maintenance.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the Trulia Rental Scraper page on the Apify Store.
3. 🎯 **Set input.** Configure the input fields in the form (or paste a JSON), then set `maxItems`.
4. 🚀 **Run it.** Click **Start** and let the Actor collect your data.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 📊 Data & Analytics

- Build trend reports and dashboards from live source data
- Feed BI tools, warehouses, and ML pipelines with structured records
- Run periodic snapshots to track changes over time
- Compare segments, regions, or categories with consistent fields

</td>
<td width="50%" valign="top">

#### 🏢 Operations & Strategy

- Monitor competitor moves, pricing, and inventory shifts
- Build internal directories and lookup tools backed by current data
- Power workflows that depend on fresh source records
- Cut manual data-gathering time from hours to minutes

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 🎯 Marketing & Growth

- Identify market opportunities and trending topics
- Research target audiences and customer personas at scale
- Power lead-generation pipelines with verified records
- Track sentiment, reviews, or social signals over time

</td>
<td width="50%" valign="top">

#### 🛠️ Engineering & Product

- Prototype features that need real-world data without owning a crawler
- Replace fragile in-house scrapers with a managed Actor
- Wire datasets into your apps via the Apify API or webhooks
- Skip the proxy, retry, and parsing maintenance entirely

</td>
</tr>
</table>

***

### 🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Empirical datasets for papers, thesis work, and coursework
- Longitudinal studies tracking changes across snapshots
- Reproducible research with cited, versioned data pulls
- Classroom exercises on data analysis and ethical scraping

</td>
<td width="50%">

#### 🎨 Personal and creative

- Side projects, portfolio demos, and indie app launches
- Data visualizations, dashboards, and infographics
- Content research for bloggers, YouTubers, and podcasters
- Hobbyist collections and personal trackers

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Transparency reporting and accountability projects
- Advocacy campaigns backed by public-interest data
- Community-run databases for local issues
- Investigative journalism on public records

</td>
<td width="50%">

#### 🧪 Experimentation

- Prototype AI and machine-learning pipelines with real data
- Validate product-market hypotheses before engineering spend
- Train small domain-specific models on niche corpora
- Test dashboard concepts with live input

</td>
</tr>
</table>

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20TRULIA%20SCRAPER%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20TRULIA%20SCRAPER%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20TRULIA%20SCRAPER%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20TRULIA%20SCRAPER%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

***

### ❓ Frequently Asked Questions

**🔍 How does it work?**
The scraper handles Trulia's site protection automatically. No coding or special setup needed.

**📊 How accurate is the data?**
The data is pulled directly from Trulia's live database, ensuring rent prices, availability, and amenities are current. We also collect agent contact details and open house schedules when available.

**📅 Can I schedule runs automatically?**
Yes. You can set up daily, weekly, or monthly runs to keep track of rental market changes.

**⚖️ Is scraping Trulia legal?**
Trulia's terms of service limit automated data collection. This tool gathers public data, but you need to ensure compliance with Trulia's terms and local laws. Always check the website's robots.txt and terms before using any scraper.

**🛡️ Will Trulia block me?**
The tool uses residential proxies to reduce detection risk. It comes with built-in proxy support for optimal results.

**⚡ How long does a run take?**
Run times vary by the number of items. Expect 30-60 seconds for 50 listings and 2-5 minutes for 500 listings. Sessions are cached to make future runs faster.

**⚠️ Are there any limits?**
Free users can collect up to 100 results per run, while paid users can gather up to 1,000,000 results per run.

### 🔗 Integrate Trulia Rental Scraper with any app

- [Make](https://docs.apify.com/platform/integrations/make) - Automate workflows
- [Zapier](https://docs.apify.com/platform/integrations/zapier) - Connect 5000+ apps
- [GitHub](https://docs.apify.com/platform/integrations/github) - Version control integration
- [Slack](https://docs.apify.com/platform/integrations/slack) - Get notifications
- [Airbyte](https://docs.apify.com/platform/integrations/airbyte) - Data pipelines
- [Google Drive](https://docs.apify.com/platform/integrations/drive) - Export to spreadsheets

### 🔌 Integrate with any app

Trulia Rental Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe results into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh data into your product backend, or alert your team in Slack.

***

### 💡 More ParseForge Actors

- [viaLibri Books Scraper](https://apify.com/parseforge/vialibri-scraper) - Extract book metadata, prices, and availability from book listing platforms
- [Indeed Scraper](https://apify.com/parseforge/indeed-scraper) - Collect job listings with salary, company, and job description data
- [Trade Me Property Scraper](https://apify.com/parseforge/trade-me-property-scraper) - Gather real estate listings with prices and property details
- [SEC Form D Scraper](https://apify.com/parseforge/sec-form-d-scraper) - Extract private equity and venture capital funding information
- [Flexjobs Scraper](https://apify.com/parseforge/flexjobs-scraper) - Collect remote and flexible job opportunities

Browse our complete collection of [data extraction tools](https://apify.com/parseforge) for more.

### 🚀 Ready to Start?

[Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) and collect your first 100 results for free. No coding, no setup.

### 🆘 Need Help?

- Check the FAQ section above for common questions
- Visit the [Apify support page](https://docs.apify.com) for documentation and tutorials
- Contact us to request a new scraper, propose a custom project, or report an issue at [Tally contact form](https://tally.so/r/BzdKgA)

### ⚠️ Disclaimer

> This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Trulia or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

***

### 🔗 Recommended Actors

- [**🔍 Google Search Scraper**](https://apify.com/parseforge/google-search-scraper) - Multi-engine SERP results with country and language targeting
- [**🗺️ Nominatim OSM Scraper**](https://apify.com/parseforge/nominatim-osm-scraper) - Geocode addresses via OpenStreetMap
- [**📊 Indexmundi Scraper**](https://apify.com/parseforge/indexmundi-scraper) - Global demographic and economic indicators
- [**📰 RAG Web Browser**](https://apify.com/parseforge/rag-web-browser) - Crawl and extract clean text from any URL for AI retrieval
- [**🌐 Website Content Crawler**](https://apify.com/parseforge/website-content-crawler) - Crawl entire sites and export structured content

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more reference-data scrapers.

# Actor input Schema

## `startUrl` (type: `string`):

Direct Trulia listing or search URL. If provided, location and filters below are ignored.

## `maxItems` (type: `integer`):

Free users: Limited to 100. Paid users: Optional, max 1,000,000

## `location` (type: `string`):

City and state to search (e.g. 'New York, NY', 'Chicago, IL', or a ZIP code).

## `listingType` (type: `string`):

Type of listings to search for.

## `priceMin` (type: `integer`):

Minimum price in USD.

## `priceMax` (type: `integer`):

Maximum price in USD.

## `bedroomsMin` (type: `integer`):

Minimum number of bedrooms.

## `bedroomsMax` (type: `integer`):

Maximum number of bedrooms.

## `bathroomsMin` (type: `number`):

Minimum number of bathrooms.

## `propertyType` (type: `string`):

Filter by property type.

## `squareFeetMin` (type: `integer`):

Minimum living area in square feet.

## `squareFeetMax` (type: `integer`):

Maximum living area in square feet.

## `petFriendly` (type: `boolean`):

Only show pet-friendly listings.

## `parkingAvailable` (type: `boolean`):

Only show listings with parking.

## `laundryInUnit` (type: `boolean`):

Only show listings with in-unit laundry.

## `airConditioning` (type: `boolean`):

Only show listings with air conditioning.

## `moveInDate` (type: `string`):

Earliest available move-in date (ISO format: YYYY-MM-DD).

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

Maximum number of parallel detail requests.

## `proxyConfiguration` (type: `object`):

Proxy settings. Residential proxies required for Trulia (PerimeterX protection).

## Actor input object example

```json
{
  "maxItems": 10,
  "location": "New York, NY",
  "listingType": "FOR_RENT",
  "petFriendly": false,
  "parkingAvailable": false,
  "laundryInUnit": false,
  "airConditioning": false,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Overview of property listings with key fields

## `fullData` (type: `string`):

Complete dataset with all listing fields

# 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 = {
    "maxItems": 10,
    "location": "New York, NY",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/trulia-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 = {
    "maxItems": 10,
    "location": "New York, NY",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/trulia-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 '{
  "maxItems": 10,
  "location": "New York, NY",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call parseforge/trulia-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trulia Scraper",
        "description": "Extract rental and for-sale property listings from Trulia. Get prices, addresses, coordinates, bedrooms, bathrooms, square footage, property type, tags, and images. Filter by location, price range, bedrooms, pet policy, parking, and more. Export as JSON, CSV, or Excel.",
        "version": "1.0",
        "x-build-id": "3VevuJI30DDWcZ1dw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~trulia-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-trulia-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~trulia-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-trulia-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~trulia-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-trulia-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrl": {
                        "title": "Start URL",
                        "type": "string",
                        "description": "Direct Trulia listing or search URL. If provided, location and filters below are ignored."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 100. Paid users: Optional, max 1,000,000"
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City and state to search (e.g. 'New York, NY', 'Chicago, IL', or a ZIP code)."
                    },
                    "listingType": {
                        "title": "Listing Type",
                        "enum": [
                            "FOR_RENT",
                            "FOR_SALE"
                        ],
                        "type": "string",
                        "description": "Type of listings to search for.",
                        "default": "FOR_RENT"
                    },
                    "priceMin": {
                        "title": "Min Price ($/month)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price in USD."
                    },
                    "priceMax": {
                        "title": "Max Price ($/month)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price in USD."
                    },
                    "bedroomsMin": {
                        "title": "Min Bedrooms",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Minimum number of bedrooms."
                    },
                    "bedroomsMax": {
                        "title": "Max Bedrooms",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum number of bedrooms."
                    },
                    "bathroomsMin": {
                        "title": "Min Bathrooms",
                        "minimum": 0,
                        "type": "number",
                        "description": "Minimum number of bathrooms."
                    },
                    "propertyType": {
                        "title": "Property Type",
                        "enum": [
                            "",
                            "APARTMENT",
                            "HOUSE",
                            "CONDO",
                            "TOWNHOUSE",
                            "MULTI_FAMILY"
                        ],
                        "type": "string",
                        "description": "Filter by property type."
                    },
                    "squareFeetMin": {
                        "title": "Min Square Feet",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum living area in square feet."
                    },
                    "squareFeetMax": {
                        "title": "Max Square Feet",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum living area in square feet."
                    },
                    "petFriendly": {
                        "title": "Pet Friendly",
                        "type": "boolean",
                        "description": "Only show pet-friendly listings.",
                        "default": false
                    },
                    "parkingAvailable": {
                        "title": "Parking Available",
                        "type": "boolean",
                        "description": "Only show listings with parking.",
                        "default": false
                    },
                    "laundryInUnit": {
                        "title": "Laundry In Unit",
                        "type": "boolean",
                        "description": "Only show listings with in-unit laundry.",
                        "default": false
                    },
                    "airConditioning": {
                        "title": "Air Conditioning",
                        "type": "boolean",
                        "description": "Only show listings with air conditioning.",
                        "default": false
                    },
                    "moveInDate": {
                        "title": "Move-in Date",
                        "type": "string",
                        "description": "Earliest available move-in date (ISO format: YYYY-MM-DD)."
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum number of parallel detail requests.",
                        "default": 3
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Residential proxies required for Trulia (PerimeterX protection)."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
