# Trulia Scraper 🔥 $0.7/1K (`azzouzana/trulia-scraper`) Actor

From $0.7/1K 💰 NO-CODE Trulia search scraper: paste any for-sale, for-rent, or sold URL & you're set! Price, beds, baths, address, sqft, sold data & listing links. Optimized for AI agents & LLM workflows. Auto-pagination, pay per result. Export JSON, CSV, Excel or API. Start now! 🚀

- **URL**: https://apify.com/azzouzana/trulia-scraper.md
- **Developed by:** [Azzouzana](https://apify.com/azzouzana) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 17 total users, 14 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 1,000 results

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### Fast Trulia Search Scraper — For Sale, Rent & Sold Listings

### 🤩 What you get

One search URL, a **state page** (`/AR/`), or a **category page** (`/cheap-apartments-for-rent-near-me/`) in → one row per listing on the results page. The actor paginates until your **`maxItems`** cap is hit.

Typical fields include:

`listingType` · `url` · `address` · `streetAddress` · `city` · `state` · `zip` · `neighborhood` · `communityName` · `latitude` · `longitude` · `propertyType` · `price` · `priceMin` · `priceMax` · `priceFormatted` · `priceLabel` · `rentPrice` · `beds` · `baths` · `sqft` · `photoUrls` · `tags` · `listingAgent` · `listingBroker` · `listingBy` · `soldPrice` · `soldDate` · `listingID` · `zPID` · `ssid` · and other Trulia tracking keys on the row root.

- ✅ **For sale, for rent, and sold** — same actor, three search modes
- ✅ **Flat rows** — no nested `media` blob; photos are **`photoUrls`** (WebP/JPG by size)
- ✅ **CRM-friendly** — one listing per row for Airtable, HubSpot, or your pipeline
- ✅ **Search-card scope only** — not a full property detail-page scrape

***

### 🤔 Why scrape Trulia search results?

Trulia is widely used for U.S. residential research. Scraping search results helps you:

- **Monitor markets** — prices, rents, and inventory by city, ZIP, or map area
- **Build lead lists** — addresses, links, and agent or property-manager names on result cards
- **Compare for-sale vs for-rent vs sold** — separate runs, merge in your tools
- **Automate research** — replace manual copy-paste from many result pages
- **Feed AI and analytics** — consistent JSON for dashboards, CRM, or LLM workflows

Fields that appear **only** on a full Trulia property or building page are not included unless Trulia puts them on the **search row**.

***

### 📚 How to use — 5 second setup

1. 👉 [Create a free Apify account](https://apify.com/sign-up?fpr=cbgdsf) - no credit card required.
2. Open [Trulia Search Scraper](https://apify.com/azzouzana/trulia-scraper?fpr=cbgdsf) → paste your Trulia search URL into **`startUrl`**
3. Set **`maxItems`** (default 1000)
4. Hit **Start** → download from the **Dataset** tab

**Where to get `startUrl`:** Run any search on Trulia in your browser. Copy the full URL from the address bar.

| Search type | Path on Trulia | Example |
|-------------|----------------|---------|
| For sale | `/for_sale/…` | `https://www.trulia.com/for_sale/Chicago,IL/house_type/` |
| For rent | `/for_rent/…` | `https://www.trulia.com/for_rent/Austin,TX/TOWNHOUSE_type/` |
| Recently sold | `/sold/…` | `https://www.trulia.com/sold/New_York,NY/` |
| State | `/AR/`, `/CA/`, … | `https://www.trulia.com/AR/` |
| Category / SEO | `/*-for-rent-near-me/`, `/*-for-sale/` | `https://www.trulia.com/cheap-apartments-for-rent-near-me/` |
| Category / SEO | pet-friendly, apartments, … | `https://www.trulia.com/pet-friendly-apartments-for-rent-near-me/` |

Filters in the URL (price, property type, map bounds, sort, etc.) are preserved — you get results for **that exact search**.

One **Start URL** per run.

***

### 🎯 Ready-made examples

Pick a **pre-built example** — **Start URL** and **Max listings** are already set. One click to run; export JSON or CSV.

| Example | What it collects |
|---------|------------------|
| [Trulia Austin for rent — 80 listings](https://apify.com/azzouzana/trulia-scraper/examples/trulia-austin-for-rent-80?fpr=cbgdsf) | Rental listings in Austin, TX |
| [Trulia Chicago houses for sale — 120 listings](https://apify.com/azzouzana/trulia-scraper/examples/trulia-chicago-houses-120?fpr=cbgdsf) | Houses for sale in Chicago |
| [How to scrape Trulia without getting blocked](https://apify.com/azzouzana/trulia-scraper/examples/how-to-scrape-trulia-without-getting-blocked?fpr=cbgdsf) | Small NYC for-sale sample; swap URL for any search |

Example runs use the same **dataset schema** as the main actor. The Store **Overview** table shows a short column subset (`price`, `rentPrice`, address, beds, baths, link, …).

***

### 🛠️ Input

| Field | Type | Description | Default |
|-------|------|-------------|---------|
| `startUrl` | string | Trulia **listing-results** URL: `/for_sale/`, `/for_rent/`, `/sold/`, state (`/AR/`), or category (`/cheap-apartments-for-rent-near-me/`). **Required.** Not a `/home/` or `/building/` page. | NYC example in Console |
| `maxItems` | integer | Max listings to save this run (min **5**, max **10,000**) | `1000` |

**Quick test — Chicago houses for sale**

```json
{
  "startUrl": "https://www.trulia.com/for_sale/Chicago,IL/house_type/",
  "maxItems": 500
}
```

**State page — Arkansas for sale**

```json
{
  "startUrl": "https://www.trulia.com/AR/",
  "maxItems": 600
}
```

**Category page — cheap apartments near me**

```json
{
  "startUrl": "https://www.trulia.com/cheap-apartments-for-rent-near-me/",
  "maxItems": 700
}
```

***

### 🧐 Output samples

Real row shapes from **for sale**, **for rent**, and **sold** searches (one listing each). Numeric **sale** amounts: **`price`**. **Rent**: **`rentPrice`** plus **`priceMin`** / **`priceMax`** for ranges. **`photoUrls`** prefer large WebP, then large JPG, then smaller sizes.

**For sale (`/for_sale/…`)**

```json
{
  "listingID": "7004116472",
  "maloneID": "2104094993",
  "zPID": "4116472",
  "listingState": "IL",
  "listingCity": "Chicago",
  "listingNeighborhood": "Burnside",
  "listingZip": "60619",
  "listingPrice": "90000",
  "listingStatus": "for sale",
  "listingType": "FOR_SALE",
  "propertyType": "SINGLE_FAMILY_HOME",
  "locationLat": "41.730465",
  "locationLon": "-87.60825",
  "rulesApplicable": "1",
  "isthreeDTourAvaliable": "0",
  "ssid": "ssid|pdp:17",
  "isAuction": "auction_data|0",
  "item": "eight bits of info|show;eightBitItem|traditional:Property Type:Single-Family Home;eightBitItem|traditional:Year Built:1905;eightBitItem|traditional:Price/Sqft:$91;",
  "language": "en",
  "url": "https://www.trulia.com/home/630-e-90th-pl-chicago-il-60619-4116472",
  "address": "630 E  90th Pl, Chicago, IL 60619",
  "streetAddress": "630 E  90th Pl",
  "city": "Chicago",
  "state": "IL",
  "zip": "60619",
  "neighborhood": "Burnside",
  "communityName": null,
  "latitude": 41.730465,
  "longitude": -87.60825,
  "price": 90000,
  "priceMin": 90000,
  "priceMax": 90000,
  "priceFormatted": "$90,000",
  "priceLabel": "$90K",
  "pricePerSqft": null,
  "rentPrice": null,
  "beds": 3,
  "bedsLabel": "3 Beds",
  "bedsMin": 3,
  "bedsMax": 3,
  "baths": 1,
  "bathsLabel": "1 Bath",
  "bathsMin": 1,
  "bathsMax": 1,
  "sqft": "990 sqft",
  "sqftValue": null,
  "sqftMax": null,
  "lotSize": null,
  "yearBuilt": null,
  "hoaFee": null,
  "isActiveForSale": true,
  "isActiveForRent": false,
  "isRecentlySold": false,
  "isRecentlyRented": false,
  "isOffMarket": false,
  "isForeclosure": false,
  "tags": [
    "NEW - 7 MIN AGO"
  ],
  "tagDetails": [
    {
      "level": "HIGHLIGHTED",
      "formattedName": "NEW - 7 MIN AGO",
      "icon": null
    }
  ],
  "description": "This single-family home is located at 630 E  90th Pl, Chicago, IL. 630 E  90th Pl is in the Burnside neighborhood in Chicago, IL and in ZIP code 60619. This property is listed for $90,000. This property has 3 bedrooms, 1 bathroom and approximately 990 sqft of floor space. This property has a lot size of 3050 sqft and was built in 1905.",
  "daysOnMarket": null,
  "dateListed": "2026-09-23T20:43:21+00:00",
  "mlsId": null,
  "listingAgent": "Don Felton",
  "listingBroker": "Chicago's Real Estate Agency",
  "listingSource": null,
  "listingBy": "Chicago's Real Estate Agency",
  "listingPhone": null,
  "photoUrls": [
    "https://www.trulia.com/pictures/thumbs_4/zillowstatic/fp/599f853b5a45130226b9f4212756a6f0-full.webp",
    "https://www.trulia.com/pictures/thumbs_5/zillowstatic/fp/599f853b5a45130226b9f4212756a6f0-full.jpg",
    "https://www.trulia.com/pictures/thumbs_5/zillowstatic/fp/1fe453d58b5675cd5a387b4abc8cf7de-full.jpg"
  ],
  "openHouses": null,
  "soldPrice": null,
  "soldDate": null,
  "typedHomeId": "4116472_ZPID",
  "listingId": "7004116472",
  "zpid": "4116472",
  "compositeId": "7004116472-2104094993",
  "unifiedListingType": "RESALE",
  "providerListingId": null
}
```

**For rent (`/for_rent/…`)**

```json
{
  "listingID": "7446904283",
  "maloneID": "2748079532",
  "listingState": "TX",
  "listingCity": "Austin",
  "listingZip": "78737",
  "listingPrice": "1325",
  "listingStatus": "for rent",
  "listingType": "FOR_RENT",
  "propertyType": "apartment",
  "locationLat": "30.204426",
  "locationLon": "-97.98428",
  "additionalListingTypes": "community:null",
  "rulesApplicable": "0",
  "isthreeDTourAvaliable": "0",
  "ssid": "ssid|pdp:100066",
  "isAuction": "auction_data|0",
  "item": "eight bits of info|show;eightBitItem|rental:Property Type:Apartment;eightBitItem|rental:Parking:Garage;eightBitItem|rental:Pets:Dogs & Cats;",
  "lotId": "2738891304",
  "rentalPLID": "1t6ufz7f787n",
  "language": "en",
  "url": "https://www.trulia.com/building/lookout-13059-four-star-blvd-austin-tx-78737-2738891304",
  "address": "13059 Four Star Blvd, Austin, TX 78737",
  "streetAddress": "13059 Four Star Blvd",
  "city": "Austin",
  "state": "TX",
  "zip": "78737",
  "neighborhood": null,
  "communityName": "Lookout",
  "latitude": 30.204426,
  "longitude": -97.98428,
  "price": null,
  "priceMin": 1275,
  "priceMax": 2660,
  "priceFormatted": "$1,275 - $2,660/mo",
  "priceLabel": "$1.28K+",
  "pricePerSqft": null,
  "rentPrice": 1275,
  "beds": 1,
  "bedsLabel": "1-3 Beds",
  "bedsMin": 1,
  "bedsMax": 3,
  "baths": 1,
  "bathsLabel": "1-3 Baths",
  "bathsMin": 1,
  "bathsMax": 3,
  "sqft": "568-1,547 sqft",
  "sqftValue": null,
  "sqftMax": null,
  "lotSize": null,
  "yearBuilt": null,
  "hoaFee": null,
  "isActiveForSale": false,
  "isActiveForRent": true,
  "isRecentlySold": false,
  "isRecentlyRented": false,
  "isOffMarket": false,
  "isForeclosure": false,
  "tags": [
    "NEW - 1 DAY AGO",
    "SPECIAL OFFER",
    "PET FRIENDLY"
  ],
  "tagDetails": [
    {
      "level": "HIGHLIGHTED",
      "formattedName": "NEW - 1 DAY AGO",
      "icon": null
    },
    {
      "level": "HIGHLIGHTED",
      "formattedName": "SPECIAL OFFER",
      "icon": null
    },
    {
      "level": "NORMAL",
      "formattedName": "PET FRIENDLY",
      "icon": null
    }
  ],
  "description": null,
  "daysOnMarket": null,
  "dateListed": null,
  "mlsId": null,
  "listingAgent": null,
  "listingBroker": null,
  "listingSource": null,
  "listingBy": null,
  "listingPhone": null,
  "photoUrls": [
    "https://www.trulia.com/pictures/thumbs_4/zillowstatic/fp/2a0572a38def1a7baa40bf06fccab391-full.webp",
    "https://www.trulia.com/pictures/thumbs_5/zillowstatic/fp/2a0572a38def1a7baa40bf06fccab391-full.jpg"
  ],
  "openHouses": null,
  "soldPrice": null,
  "soldDate": null,
  "typedHomeId": "2738891304_BUILDING_ID",
  "listingId": "7446904283",
  "zpid": "2738891304",
  "compositeId": "7446904283-2738891304",
  "unifiedListingType": "RENTAL_COMMUNITY",
  "providerListingId": "1t6ufz7f787n"
}
```

**Recently sold (`/sold/…`)**

```json
{
  "listingID": "2",
  "maloneID": "2008909666",
  "zPID": "29804896",
  "listingState": "NY",
  "listingCity": "Bronx",
  "listingZip": "10462",
  "listingStatus": "recently sold",
  "listingType": "SOLD",
  "propertyType": "CONDO",
  "locationLat": "40.836918",
  "locationLon": "-73.857056",
  "rulesApplicable": "0",
  "isthreeDTourAvaliable": "0",
  "isAuction": "auction_data|0",
  "item": "eight bits of info|show;eightBitItem|condoEtc:Property Type:Condo;eightBitItem|condoEtc:Living Area:613 sqft;eightBitItem|condoEtc:Price/Sqft:$359/sqft;",
  "language": "en",
  "url": "https://www.trulia.com/home/1540-unionport-rd-2g-bronx-ny-10462-29804896",
  "address": "1540 Unionport Rd #2G, Bronx, NY 10462",
  "streetAddress": "1540 Unionport Rd #2G",
  "city": "Bronx",
  "state": "NY",
  "zip": "10462",
  "neighborhood": null,
  "communityName": null,
  "latitude": 40.836918,
  "longitude": -73.857056,
  "price": null,
  "priceMin": null,
  "priceMax": null,
  "priceFormatted": "$220,000",
  "priceLabel": "$220K",
  "pricePerSqft": null,
  "rentPrice": null,
  "beds": 1,
  "bedsLabel": "1 Bed",
  "bedsMin": 1,
  "bedsMax": 1,
  "baths": 1,
  "bathsLabel": "1 Bath",
  "bathsMin": 1,
  "bathsMax": 1,
  "sqft": "613 sqft",
  "sqftValue": null,
  "sqftMax": null,
  "lotSize": null,
  "yearBuilt": null,
  "hoaFee": null,
  "isActiveForSale": false,
  "isActiveForRent": false,
  "isRecentlySold": true,
  "isRecentlyRented": false,
  "isOffMarket": true,
  "isForeclosure": false,
  "tags": [
    "SOLD",
    "SEP 23, 2026"
  ],
  "tagDetails": [
    {
      "level": "ALERT",
      "formattedName": "SOLD",
      "icon": null
    },
    {
      "level": "NORMAL",
      "formattedName": "SEP 23, 2026",
      "icon": null
    }
  ],
  "description": "This condo is located at 1540 Unionport Rd #2G, Bronx, NY. 1540 Unionport Rd #2G is in Bronx, NY and in ZIP code 10462. This property has 1 bedroom, 1 bathroom and approximately 613 sqft of floor space. The last sold price per dimension was $359/sqft.",
  "daysOnMarket": null,
  "dateListed": null,
  "mlsId": null,
  "listingAgent": null,
  "listingBroker": null,
  "listingSource": null,
  "listingBy": null,
  "listingPhone": null,
  "photoUrls": [
    "https://maps.googleapis.com/maps/api/streetview?size=640x480&location=1540%20Unionport%20Rd%2C%20Bronx%2C%20NY%2010462&key=AIzaSyCzWKDOMLGYlR3C9dltAR7sbLvcQEWNcvc&signature=XSRAIe5SEDrDAOnRBApvBc0g1vo%3D"
  ],
  "openHouses": null,
  "soldPrice": null,
  "soldDate": null,
  "typedHomeId": "29804896_ZPID",
  "listingId": "2",
  "zpid": "29804896",
  "compositeId": "2008909666",
  "unifiedListingType": "UNKNOWN",
  "providerListingId": null
}
```

The **Overview** export uses a shorter column list; full JSON includes all fields above. See **Dataset schema** in the Apify Console or API export without `?view=overview`.

***

### ❓ FAQ

**Do I need a Trulia account?**\
No. Only publicly visible search results are collected.

**What URLs can I paste?**\
Search results (`/for_sale/`, `/for_rent/`, `/sold/`), **state** pages (`https://www.trulia.com/AR/`), and **category** pages (`https://www.trulia.com/cheap-apartments-for-rent-near-me/`, `https://www.trulia.com/pet-friendly-apartments-for-rent-near-me/`, `https://www.trulia.com/apartment-for-rent/`). Not a single home or building URL.

**What happens if I paste a home/building URL or something invalid?**\
The run **succeeds** and exits with a short message explaining that you need a search, state, or category URL. It does not fail.

**Can I scrape several searches in one run?**\
No. Use one **Start URL** per run.

**Why is `price` empty on for-rent rows?**\
Use **`rentPrice`** (and **`priceMin`** / **`priceMax`** for ranges). **`price`** is for sale and sold numeric amounts.

**Why are beds or baths a range?**\
Rental **communities** often use ranges (`2-3 Beds`). Use **`bedsLabel`**, **`bedsMin`**, **`bedsMax`** (and the same for baths).

**Do we save every field on the search card?**\
We save what Trulia embeds on the **search results** row: flat fields (address, pricing, beds/baths, `photoUrls`, agents when shown, hoisted tracking keys, string **`tags`**, sold fields on `/sold/`, etc.). Detail-page-only fields are not included.

**Does this scrape property detail pages (`/home/…` opened alone)?**\
No. Only data on the **search results** page.

**Is it legal to scrape Trulia?**\
Use data responsibly and follow Trulia’s terms. See [Apify’s guide on web scraping legality](https://blog.apify.com/is-web-scraping-legal?fpr=cbgdsf).

**What export formats are available?**\
JSON, CSV, Excel, HTML, and API access from Apify.

***

### 🔍 Looking for something else?

Browse thousands of scrapers on [Apify Store](https://apify.com/store).

#### Contact 📬

**Need a custom solution? Have a feature request or just want to chat?**\
We'd love to hear from you!

- 💬 **Discord**: `@azzouzana`
- 📧 **Email**: <labs@azzouzana.com>

***

### ⚠️ Disclaimer

This actor is an **independent tool** and is **not affiliated with, endorsed by, or sponsored by** Trulia, Zillow Group, or any of their subsidiaries or affiliates. **Trulia**, **Zillow**, and related marks are trademarks of their respective owners.

The actor collects **publicly visible** listing data from Trulia **search results pages**. It does not log in on your behalf or access private account areas.

You are responsible for using exported data in line with **Trulia’s terms of use**, applicable **data-protection laws**, and your local regulations.

# Actor input Schema

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

Trulia listing-results URL from your browser: /for\_sale/, /for\_rent/, /sold/, a state page (https://www.trulia.com/AR/), or a category page (https://www.trulia.com/cheap-apartments-for-rent-near-me/). Not a single /home/ or /building/ listing.

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

How many listings to save in total.

## Actor input object example

```json
{
  "startUrl": "https://www.trulia.com/for_sale/New_York,NY/40.30103,41.41444,-75.39005,-73.3411_xy/0-450000_price/APARTMENT,CONDO,COOP,LOT%7CLAND,MULTI-FAMILY,TOWNHOUSE_type/price;a_sort/",
  "maxItems": 1000
}
```

# Actor output Schema

## `listings` (type: `string`):

One dataset row per Trulia home (address, price, beds, baths, listing URL, sold fields when shown).

# 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 = {
    "startUrl": "https://www.trulia.com/for_sale/New_York,NY/40.30103,41.41444,-75.39005,-73.3411_xy/0-450000_price/APARTMENT,CONDO,COOP,LOT%7CLAND,MULTI-FAMILY,TOWNHOUSE_type/price;a_sort/",
    "maxItems": 1000
};

// Run the Actor and wait for it to finish
const run = await client.actor("azzouzana/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 = {
    "startUrl": "https://www.trulia.com/for_sale/New_York,NY/40.30103,41.41444,-75.39005,-73.3411_xy/0-450000_price/APARTMENT,CONDO,COOP,LOT%7CLAND,MULTI-FAMILY,TOWNHOUSE_type/price;a_sort/",
    "maxItems": 1000,
}

# Run the Actor and wait for it to finish
run = client.actor("azzouzana/trulia-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrl": "https://www.trulia.com/for_sale/New_York,NY/40.30103,41.41444,-75.39005,-73.3411_xy/0-450000_price/APARTMENT,CONDO,COOP,LOT%7CLAND,MULTI-FAMILY,TOWNHOUSE_type/price;a_sort/",
  "maxItems": 1000
}' |
apify call azzouzana/trulia-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,azzouzana/trulia-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/x2laJpM877wRi1llW/builds/ZY8g9IL5NVDLcXTCK/openapi.json
