# Zillow Rental Application Request Submitter (`clearpath/zillow-rental-application-submitter`) Actor

Send one request to apply for a Zillow rental listing with your contact details and message. Track confirmation in JSON. Pay per confirmed request. This does not submit a completed rental application.

- **URL**: https://apify.com/clearpath/zillow-rental-application-submitter.md
- **Developed by:** [ClearPath](https://apify.com/clearpath) (community)
- **Categories:** Real estate, Automation, Lead generation
- **Stats:** 4 total users, 0 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $199.00 / 1,000 application request sents

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

## 🏠 Zillow Rental Application Request Submitter

[![Send Zillow rental requests automatically. Your details. Your message. Submission status.](https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/zillow-rental-application-submitter-readme-hero-v1.png)](https://console.apify.com/actors/vGu8Ujn448eqOjb6g/input)

From **Clearpath**, creators of [Zillow Bulk Search](https://apify.com/clearpath/zillow-bulk-search-unlimited-scraper) and [Zillow ZIP Code Search](https://apify.com/clearpath/zillow-zip-code-search-scraper). Find rentals, build your shortlist and send a request to apply.

### Why choose this actor?

- **Automate your request to apply.** Provide a Zillow property ID or listing URL, your contact details and a message. The actor submits the rental request for that listing.
- **Make every message your own.** Use custom text or the built-in template. Add `{name}` to insert the applicant’s name automatically.
- **Keep a record of each request.** Get the property ID, applicant name and email, message, timestamp and success status in your dataset. Connect it to a search workflow, using one run for each selected rental.

<a href="https://console.apify.com/actors/vGu8Ujn448eqOjb6g/input"><img src="https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/zillow-rental-application-submitter-readme-cta-v1.svg" width="250" height="48" alt="Prepare a rental request"></a>

### Prepare your first rental request

Replace the example property ID and contact details with your own. Each run processes one rental listing.

```json
{
  "zpid": 2069918407,
  "name": "Your Name",
  "email": "you@example.com",
  "phoneNumber": "+12025550123",
  "message": "Hi, I'd like to apply for this rental."
}
```

[Open actor input](https://console.apify.com/actors/vGu8Ujn448eqOjb6g/input) to review your details and message before starting. Running the actor sends a real request to apply. It does not complete tenant screening or upload application documents. Listings that require a Zillow login are not supported; successful submission is not landlord approval.

<table>
<tr><td colspan="5" style="padding:10px 12px;background:#006AFF;border:none"><strong style="color:#FFFFFF;font-size:14px">Clearpath · Zillow Suite</strong></td></tr>
<tr>
<td style="padding:10px 11px;background:#EAF0FF;border:1px solid #CBD8EF;vertical-align:top;width:20%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-o7HmXfwKe2eunRYXI-9A6dajayVT-zillow-bulk-search-unlimited-scraper-logo.png.png" width="20" height="20" style="vertical-align:middle">&nbsp; <a href="https://apify.com/clearpath/zillow-bulk-search-unlimited-scraper" style="color:#173660;font-size:13px;font-weight:700;text-decoration:none">Bulk Search</a></span><br><span style="white-space:nowrap;color:#334766;font-size:12px">Larger searches</span></td>
<td style="padding:10px 11px;background:#EAF0FF;border:1px solid #CBD8EF;vertical-align:top;width:20%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-qEF4wZM7dQpm1ebJ3-8ed2mYypPN-zillow-zip-code-search-scraper.png" width="20" height="20" style="vertical-align:middle">&nbsp; <a href="https://apify.com/clearpath/zillow-zip-code-search-scraper" style="color:#173660;font-size:13px;font-weight:700;text-decoration:none">ZIP Search</a></span><br><span style="white-space:nowrap;color:#334766;font-size:12px">Local listings</span></td>
<td style="padding:10px 11px;background:#EAF0FF;border:1px solid #CBD8EF;vertical-align:top;width:20%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-WOsEeX3kiEAVP3y0C-tbE8tfRWNS-zillow-contact-message-api-logo.png" width="20" height="20" style="vertical-align:middle">&nbsp; <a href="https://apify.com/clearpath/zillow-contact-message-api" style="color:#173660;font-size:13px;font-weight:700;text-decoration:none">Contact</a></span><br><span style="white-space:nowrap;color:#334766;font-size:12px">Send inquiries</span></td>
<td style="padding:10px 11px;background:#D8E4FF;border:1px solid #CBD8EF;vertical-align:top;width:20%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-vGu8Ujn448eqOjb6g-GZ9eLLaEOR-zillow-rental-application-submitter-logo.png" width="20" height="20" style="vertical-align:middle">&nbsp; <a href="https://apify.com/clearpath/zillow-rental-application-submitter" style="color:#173660;font-size:13px;font-weight:700;text-decoration:none">Auto Apply</a></span><br><span style="white-space:nowrap;color:#334766;font-size:12px">You are here</span></td>
<td style="padding:10px 11px;background:#EAF0FF;border:1px solid #CBD8EF;vertical-align:top;width:20%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-skl5evdFtHhSSNRQW-K6oSwOZwSN-zillow-inbox-actor-logo.png" width="20" height="20" style="vertical-align:middle">&nbsp; <a href="https://apify.com/clearpath/zillow-message-inbox-api" style="color:#173660;font-size:13px;font-weight:700;text-decoration:none">Inbox</a></span><br><span style="white-space:nowrap;color:#334766;font-size:12px">Export messages</span></td>
</tr>
</table>

### Pricing

**$0.25 per confirmed application request**, with the same price on every Apify plan. Platform usage is included.

| Confirmed-request charges | Price |
| --- | ---: |
| 1 request | $0.25 |
| 10 requests | $2.50 |
| 100 requests | $25.00 |

Failed requests, invalid input and test simulations do not incur the application-request charge. A confirmed request remains billable if saving its output subsequently fails. Check its outcome before starting a new run to avoid sending it again.

### Quick start

Provide a property ID, your own contact details and a message:

```json
{
  "zpid": 458222521,
  "name": "Your Name",
  "email": "you@example.com",
  "phoneNumber": "+12125551234",
  "message": "Hello, I'm interested in applying for this property. Please let me know the next steps. Thank you, {name}"
}
```

Replace the sample property and contact details before running. You can use `propertyUrl` instead of `zpid`. If both are supplied, the property ID takes priority. `{name}` is replaced with your supplied name.

### Inputs

| Field | Description |
| --- | --- |
| `zpid` | An 8–10 digit Zillow property ID. Required unless you provide `propertyUrl`. |
| `propertyUrl` | A Zillow listing URL, including supported apartment building URLs. |
| `name` | Your full name. Required. |
| `email` | Your email address. Required. |
| `phoneNumber` | US or Canada phone number in `+1XXXXXXXXXX` format. Required. |
| `message` | Optional message. The default asks how to apply without making claims about your income or credit history. |

### Output

A confirmed request returns:

```json
{
  "zpid": 458222521,
  "propertyUrl": "https://www.zillow.com/homedetails/458222521_zpid/",
  "applicantName": "Your Name",
  "applicantEmail": "you@example.com",
  "message": "Hello, I'm interested in applying for this property. Please let me know the next steps. Thank you, Your Name",
  "success": true,
  "scrapedAt": "2026-09-16T12:00:00+00:00"
}
```

`success: true` means Zillow confirmed the request, not that a landlord accepted your application. Rejected requests return `success: false` with an explanation. An `uncertain` result means a request may have reached Zillow even though completion could not be confirmed. Inspect the outcome before trying again.

The Actor checks the available run budget before sending. If a run is interrupted during submission, billing or output delivery, it stops for review instead of automatically repeating an uncertain action. A new run is a new request, so do not rerun blindly after an interruption.

### Use with your workflow

Search for suitable rental properties, review the matches and call this Actor once per property you want to contact. Use accurate contact information and a message that reflects your circumstances.

#### Copy to your AI assistant

```text
Use clearpath/zillow-rental-application-submitter on Apify to send one request to apply per run. This does not submit a completed rental application. Inputs: zpid (8–10 digit ID) or propertyUrl, name, email, phoneNumber (+1 followed by 10 digits), optional message with {name}. Pricing: $0.25 per confirmed request; platform usage included. Failed requests and simulations have no request charge. success=true confirms the request, not landlord acceptance. Do not automatically retry uncertain outcomes. Read results from the run's default dataset.
```

[Open the Actor](https://console.apify.com/actors/vGu8Ujn448eqOjb6g)

# Actor input Schema

## `zpid` (type: `integer`):

8-10 digit Zillow Property ID. Either ZPID or Property URL is required. You can find the ZPID in the property URL (e.g., https://www.zillow.com/homedetails/458222521_zpid/)

## `propertyUrl` (type: `string`):

Full Zillow property URL. Either ZPID or Property URL is required. Supports both direct URLs (with \_zpid/) and speaking URLs (like /apartments/city/building-name/)

## `name` (type: `string`):

Your full name for the request to apply.

## `email` (type: `string`):

Your email address for correspondence about this request.

## `phoneNumber` (type: `string`):

Your US or Canada phone number in international format: +1XXXXXXXXXX (exactly 12 characters). Examples: +12125551234 (New York), +14165551234 (Toronto), +13105551234 (Los Angeles)

## `message` (type: `string`):

Your message to the landlord/property manager. A professional default message is provided.

## Actor input object example

```json
{
  "zpid": 458222521,
  "propertyUrl": "https://www.zillow.com/homedetails/137A-Christopher-St-1B-New-York-NY-10014/458222521_zpid/",
  "name": "Sarah Johnson",
  "email": "sarah.johnson@gmail.com",
  "phoneNumber": "+14165551234",
  "message": "Hello, I'm interested in applying for this property. Please let me know the next steps. Thank you, {name}"
}
```

# 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 = {
    "name": "Your full name",
    "email": "your email address",
    "phoneNumber": "+15555550100",
    "message": "Hello, I'm interested in applying for this property. Please let me know the next steps. Thank you, {name}"
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/zillow-rental-application-submitter").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 = {
    "name": "Your full name",
    "email": "your email address",
    "phoneNumber": "+15555550100",
    "message": "Hello, I'm interested in applying for this property. Please let me know the next steps. Thank you, {name}",
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/zillow-rental-application-submitter").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 '{
  "name": "Your full name",
  "email": "your email address",
  "phoneNumber": "+15555550100",
  "message": "Hello, I'\''m interested in applying for this property. Please let me know the next steps. Thank you, {name}"
}' |
apify call clearpath/zillow-rental-application-submitter --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,clearpath/zillow-rental-application-submitter"
        }
    }
}
```

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/vGu8Ujn448eqOjb6g/builds/mGlzGSNMicB0XvuE2/openapi.json
