Zillow Rental Auto-Apply Bot - 3 Seconds per Application avatar

Zillow Rental Auto-Apply Bot - 3 Seconds per Application

Pricing

$35.00/month + usage

Go to Apify Store
Zillow Rental Auto-Apply Bot - 3 Seconds per Application

Zillow Rental Auto-Apply Bot - 3 Seconds per Application

Submit Zillow rental applications in 3 seconds vs 10+ minutes manually. Custom messages, ZPID/URL support, validation. Chain with search actors for search-to-apply automation. $35/month unlimited. US/Canada phone numbers.

Pricing

$35.00/month + usage

Rating

0.0

(0)

Developer

ClearPath

ClearPath

Maintained by Community

Actor stats

1

Bookmarked

5

Total users

0

Monthly active users

an hour ago

Last modified

Share

🏠 Zillow Rental Application Request Submitter | Automatically Apply for Rentals

Send Zillow rental requests automatically. Your details. Your message. Submission status.

From Clearpath, creators of Zillow Bulk Search and Zillow ZIP Code Search. 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.

Prepare a rental request

Prepare your first rental request

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

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

Open actor 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.

Clearpath Β· Zillow Suite
Β  Bulk Search
Larger searches
Β  ZIP Search
Local listings
Β  Contact
Send inquiries
Β  Auto Apply
You are here
Β  Inbox
Export messages

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

clearpath/zillow-rental-application-submitter on Apify. Call: ApifyClient("TOKEN").actor("clearpath/zillow-rental-application-submitter").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: zpid (integer), name (string, required), email (string, required). Full actor spec (input schema with all params/enums/defaults, output dataset fields, README): GET https://api.apify.com/v2/acts/clearpath~zillow-rental-application-submitter/builds/default (Bearer TOKEN) β†’ inputSchema, actorDefinition.storages.dataset, readme. Pricing: See the actor Pricing tab for current rates. Get token: https://console.apify.com/account/integrations

Features

  • Automated rental requests - Send a request to apply with your contact details and message
  • πŸ”— Integrate with any other Zillow Actor - Chain with search actors for automation
  • βœ‰οΈ Custom Messages - Personalize with templates and variables
  • Current pricing - See the Pricing tab for billing terms

πŸš€ Quick Start

Basic - Single Property by ZPID

{
"zpid": 2069918407,
"name": "Sarah Johnson",
"email": "sarah.johnson@gmail.com",
"phoneNumber": "+12125551234"
}

Single Property by URL

{
"propertyUrl": "https://www.zillow.com/homedetails/137A-Christopher-St-1B-New-York-NY-10014/458222521_zpid/",
"name": "Michael Chen",
"email": "michael.chen@gmail.com",
"phoneNumber": "+14165551234"
}

Advanced - Custom Message

{
"zpid": 2069918407,
"name": "Alex Rivera",
"email": "alex.rivera@gmail.com",
"phoneNumber": "+13105551234",
"message": "Hello,\n\nI'm very interested in your property and would love to schedule a viewing. I'm a software engineer at a stable tech company with excellent credit (750+) and strong rental history.\n\nI can provide:\n- Proof of income (recent pay stubs)\n- Credit report\n- Previous landlord references\n- Employment verification\n\nI'm looking to move in by the 1st of next month and can sign a lease immediately upon approval.\n\nThank you for your consideration!\n\nBest regards,\n{name}"
}

⚑ Key Features

Instant Automated Submission

  • Request-to-apply automation - Submit a rental request with your chosen message
  • Automatic validation - Phone, email, and required fields checked
  • Success tracking - Know exactly which applications succeeded or failed

πŸ”— Apify Integration

  • Chain with search actors - Use with zillow-bulk-scraper or zip-code-search
  • Workflow automation - Build complete search-to-apply pipelines
  • Programmatic access - Full API integration for custom workflows

βœ‰οΈ Custom Message Templates

  • Professional default - Pre-written template included
  • Fully customizable - Personalize every aspect of your message
  • Variable interpolation - Use {name} placeholder for automatic insertion

🎯 Flexible Input

  • ZPID or URL - Direct property ID or full Zillow URLs
  • Speaking URLs supported - Works with friendly URLs like /apartments/city/building-name/
  • Automatic extraction - Converts any format to property ID

🎯 Use Cases

For Individual Renters

  • Competitive rental markets - Be first to apply in hot markets like NYC, SF, LA where properties rent within hours
  • Apartment hunting automation - Apply to 50+ matching properties instantly when new listings appear
  • Remote relocations - Submit applications from anywhere without visiting properties
  • Less repeated typing - Reuse your contact details and message templates
  • Application blitzes - Apply to every property in your target area in minutes
  • Market research - Test application process across multiple properties and landlords

For Real Estate Professionals

  • Client services - Submit applications on behalf of clients with their information
  • Property managers - Streamline tenant application workflows for managed properties
  • Relocation specialists - Automate applications for corporate relocations
  • Rental agents - Request to apply for selected properties, using one run per listing
  • Market analysis - Test landlord responsiveness across different properties
  • Portfolio expansion - Quickly identify accepting landlords for new client placements

For Developers & Automation Specialists

  • Search-to-apply pipelines - Chain zillow-bulk-scraper β†’ filter β†’ auto-apply workflows
  • Scheduled automation - Run nightly to apply to new listings matching criteria
  • Multi-platform integration - Combine with other rental platforms for comprehensive coverage
  • Custom filtering - Build intelligent selection logic before batch application
  • API orchestration - Integrate into existing property management systems
  • Data collection - Track application acceptance rates and landlord response times

πŸ“ Input Parameters

ParameterTypeDescriptionDefault
zpidintegerZillow Property ID (8-10 digits). Either ZPID or Property URL is required.Optional*
propertyUrlstringFull Zillow property URL. Supports both direct URLs (with _zpid/) and speaking URLs. Either ZPID or Property URL is required.Optional*
namestringYour full name as it should appear on the application (e.g., "Sarah Johnson")Required
emailstringYour email address for application correspondenceRequired
phoneNumberstringUS/Canada phone in international format: +1XXXXXXXXXX (exactly 12 characters)Required
messagestringYour message to the landlord/property manager. Uses professional default if not provided.Professional template

*Note: Either zpid OR propertyUrl must be provided (not both required, but at least one). If both are provided, zpid takes precedence.

Phone Number Format

  • Format: +1XXXXXXXXXX (exactly 12 characters)
  • Example: +12125551234 (New York), +14165551234 (Toronto), +13105551234 (Los Angeles)
  • Supported: US and Canada only
  • Validation: Automatic validation before submission

Default Message Template

If you don't provide a custom message, this professional template is used automatically:

Hello,
I'm interested in applying for this rental property. I'm a reliable tenant with stable income, good credit, and positive rental history. I can provide all necessary documentation and references promptly.
Please let me know the next steps in the application process. I'm happy to answer any questions you may have.
Thank you for your consideration.
Best regards,
{name}

The {name} placeholder is automatically replaced with your actual name.


πŸ“Š Output

Each application returns comprehensive submission details:

{
"zpid": 2069918407,
"propertyUrl": "https://www.zillow.com/homedetails/2069918407_zpid/",
"applicantName": "Sarah Johnson",
"applicantEmail": "sarah.johnson@gmail.com",
"message": "Hello,\n\nI'm interested in applying...",
"success": true,
"scrapedAt": "2025-11-16T15:47:37.080255"
}

Success Response:

  • zpid - Property ID that was applied to
  • propertyUrl - Full URL to the property listing
  • applicantName - Your name as submitted
  • applicantEmail - Your email as submitted
  • message - The exact message sent to the landlord
  • success - true (application submitted successfully)
  • scrapedAt - Timestamp of submission

Error Response:

{
"zpid": 123456789,
"propertyUrl": "https://www.zillow.com/homedetails/123456789_zpid/",
"applicantName": "Sarah Johnson",
"applicantEmail": "sarah.johnson@gmail.com",
"message": "Hello,\n\nI'm interested in applying...",
"success": false,
"error": "Login required for this property - applications not supported for authenticated properties",
"scrapedAt": "2025-11-16T15:47:37.080255"
}

Error Response Fields:

  • Same fields as success, plus:
  • success - false (application failed)
  • error - Description of why the application failed

πŸ”Œ Apify Integration - Call from Other Actors

Perfect for automation workflows: Chain this actor with search actors to build complete search-to-apply pipelines.

Python - Chain with Search Results

from apify_client import ApifyClient
client = ApifyClient("your_apify_token")
# Step 1: Search for properties with zillow-bulk-scraper
print("Searching for rental properties...")
search_run = client.actor("your-search-actor-id").call(run_input={
"locations": ["New York NY"],
"propertyType": "forRent",
"minPrice": 2500,
"maxPrice": 4000,
"minBedrooms": 2,
"homeTypes": ["apartment"]
})
# Step 2: Get search results
search_results = client.dataset(search_run["defaultDatasetId"]).iterate_items()
# Step 3: Filter and apply to matching properties
for item in search_results:
prop = item["rawData"]["property"]
zpid = prop["zpid"]
# Apply your custom filtering logic
if prop.get("daysOnZillow", 999) <= 7: # Only new listings
print(f"Applying to ZPID {zpid}...")
# Call rental application actor
app_run = client.actor("your-application-actor-id").call(run_input={
"zpid": zpid,
"name": "Sarah Johnson",
"email": "sarah.johnson@gmail.com",
"phoneNumber": "+12125551234"
})
# Check application result
app_results = list(client.dataset(app_run["defaultDatasetId"]).iterate_items())
if app_results and app_results[0]["success"]:
print(f"βœ… Successfully applied to ZPID {zpid}")
else:
error = app_results[0].get("error", "Unknown error") if app_results else "No response"
print(f"❌ Failed to apply to ZPID {zpid}: {error}")
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'your_apify_token' });
// Step 1: Search for properties
console.log('Searching for rental properties...');
const searchRun = await client.actor('your-search-actor-id').call({
locations: ['Los Angeles CA'],
propertyType: 'forRent',
minPrice: 3000,
maxPrice: 5000,
minBedrooms: 3,
homeTypes: ['singleFamily', 'townhome']
});
// Step 2: Get search results
const { items } = await client.dataset(searchRun.defaultDatasetId).listItems();
// Step 3: Apply to all matching properties in parallel
const applications = items
.filter(item => item.rawData.property.daysOnZillow <= 3) // Only very new listings
.map(item => {
const zpid = item.rawData.property.zpid;
console.log(`Applying to ZPID ${zpid}...`);
return client.actor('your-application-actor-id').call({
zpid,
name: 'Michael Chen',
email: 'michael.chen@gmail.com',
phoneNumber: '+13105551234',
message: 'Custom message here...'
});
});
// Wait for all applications to complete
const results = await Promise.all(applications);
// Report results
console.log(`\nπŸ“Š Application Summary:`);
console.log(`Total applications: ${results.length}`);
results.forEach(async (run, index) => {
const { items: appResults } = await client.dataset(run.defaultDatasetId).listItems();
const result = appResults[0];
if (result.success) {
console.log(`βœ… ZPID ${result.zpid}: Success`);
} else {
console.log(`❌ ZPID ${result.zpid}: ${result.error}`);
}
});

Integration Pattern: Search β†’ Filter β†’ Apply

Recommended Workflow:

  1. Use zillow-bulk-scraper or zip-code-search to find matching properties
  2. Filter results programmatically (price, location, features, days on market)
  3. Call this actor with filtered property ZPIDs for batch application
  4. Track success/failure rates and landlord responses

Pricing

See the Pricing tab for current rates and billing terms.

πŸ’‘ Advanced Usage

Batch Application to Multiple Properties

Apply to 50+ properties in one run by calling the actor multiple times in parallel:

from apify_client import ApifyClient
import asyncio
client = ApifyClient("your_apify_token")
# List of properties to apply to
properties = [
{"zpid": 2069918407, "url": "https://zillow.com/..."},
{"zpid": 458222521, "url": "https://zillow.com/..."},
{"zpid": 123456789, "url": "https://zillow.com/..."},
# ... 50 more properties
]
# Your application details
applicant_info = {
"name": "Sarah Johnson",
"email": "sarah.johnson@gmail.com",
"phoneNumber": "+12125551234"
}
# Apply to all properties
for prop in properties:
run_input = {**applicant_info, "zpid": prop["zpid"]}
print(f"Applying to ZPID {prop['zpid']}...")
run = client.actor("your-actor-id").call(run_input=run_input)
# Check result
results = list(client.dataset(run["defaultDatasetId"]).iterate_items())
if results and results[0]["success"]:
print(f"βœ… Success: {prop['zpid']}")
else:
error = results[0].get("error", "Unknown") if results else "No response"
print(f"❌ Failed: {prop['zpid']} - {error}")

Scheduled Automation - Apply to New Listings Daily

Set up automated applications to new listings matching your criteria:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'your_apify_token' });
// Create scheduled run (daily at 8 AM)
const schedule = await client.schedules().create({
name: 'Daily Auto-Apply to New Rentals',
actorId: 'your-application-actor-id',
cronExpression: '0 8 * * *', // Daily at 8 AM
timezone: 'America/New_York',
input: {
zpid: 2069918407, // Update with dynamic ZPID from search
name: 'Alex Rivera',
email: 'alex.rivera@gmail.com',
phoneNumber: '+14165551234'
}
});
console.log(`Scheduled automation created: ${schedule.id}`);

Custom Message Templates by Property Type

Customize your message based on property characteristics:

function getMessageForProperty(property) {
const bedrooms = property.rawData.property.bedrooms;
const price = property.rawData.property.price.value;
if (bedrooms >= 3 && price > 3500) {
// Luxury family home
return `Hello,\n\nI'm interested in this beautiful ${bedrooms}-bedroom property. My family and I are looking for a long-term rental in a quality neighborhood, and your property perfectly fits our needs.\n\nWe have excellent credit, stable employment, and can provide strong references from previous landlords.\n\nBest regards,\n{name}`;
} else if (bedrooms === 1) {
// Studio/1BR
return `Hello,\n\nI'm a young professional interested in your ${bedrooms}-bedroom apartment. I work in tech with a stable income and am looking for a clean, well-maintained property.\n\nI'm a quiet, responsible tenant who takes great care of rental properties.\n\nBest regards,\n{name}`;
} else {
// Standard application
return null; // Use default template
}
}

πŸ”Œ API Integration

Python

from apify_client import ApifyClient
# Initialize the Apify client
client = ApifyClient("your_apify_token")
# Prepare application input
run_input = {
"zpid": 2069918407,
"name": "Sarah Johnson",
"email": "sarah.johnson@gmail.com",
"phoneNumber": "+12125551234",
"message": "Hello,\n\nI'm interested in applying for this property..."
}
# Submit application
print("Submitting rental application...")
run = client.actor("your-actor-id").call(run_input=run_input)
# Get application result
print("Checking application status...")
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["success"]:
print(f"βœ… Application submitted successfully!")
print(f" ZPID: {item['zpid']}")
print(f" Property: {item['propertyUrl']}")
print(f" Applicant: {item['applicantName']}")
print(f" Email: {item['applicantEmail']}")
else:
print(f"❌ Application failed")
print(f" ZPID: {item['zpid']}")
print(f" Error: {item.get('error', 'Unknown error')}")

JavaScript/TypeScript

import { ApifyClient } from 'apify-client';
// Initialize the Apify client
const client = new ApifyClient({ token: 'your_apify_token' });
// Prepare application input
const input = {
propertyUrl: 'https://www.zillow.com/homedetails/137A-Christopher-St-1B-New-York-NY-10014/458222521_zpid/',
name: 'Michael Chen',
email: 'michael.chen@gmail.com',
phoneNumber: '+14165551234'
};
// Submit application
console.log('Submitting rental application...');
const run = await client.actor('your-actor-id').call(input);
// Get application result
console.log('Checking application status...');
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
if (item.success) {
console.log('βœ… Application submitted successfully!');
console.log(` ZPID: ${item.zpid}`);
console.log(` Property: ${item.propertyUrl}`);
console.log(` Applicant: ${item.applicantName}`);
console.log(` Email: ${item.applicantEmail}`);
} else {
console.log('❌ Application failed');
console.log(` ZPID: ${item.zpid}`);
console.log(` Error: ${item.error || 'Unknown error'}`);
}
});

πŸ“Š Data Export

Export your application records in multiple formats:

  • JSON - Perfect for programmatic analysis and record keeping
  • CSV - Import into spreadsheets for tracking success rates
  • Excel - Create professional application logs with formatting

πŸ€– Automation

Scheduled Runs

Set up automated application submission:

  • Daily monitoring - Apply to new listings every morning
  • Instant response - Be first to apply when properties match criteria
  • Competitive edge - Beat other applicants in hot markets

Webhooks

Receive real-time notifications:

  • Success alerts - Know immediately when applications are submitted
  • Error notifications - Get alerted if applications fail
  • Integration endpoints - Send results to your CRM or tracking system

API Access

Build custom workflows:

  • Search-to-apply pipelines - Automate the entire apartment hunting process
  • CRM integration - Track applications in your property management system
  • Custom dashboards - Monitor application success rates over time

❓ FAQ

Q: How does automated application submission work? A: The actor sends a request to apply for a rental. Provide a property ID or URL, your name, email, phone number and message. It does not complete screening or upload documents.

Q: How fast is application submission? A: Duration depends on the listing and source response. Each run processes one rental request.

Q: Does this work with all Zillow rental properties? A: The actor works with properties that accept application requests without login. Some properties require tenant login for direct applications - these will return an error with details.

Q: What phone number formats are supported? A: Currently US and Canada only, in international format: +1XXXXXXXXXX (e.g., +12125551234). The phone number must be exactly 12 characters.

Q: Can I customize the application message? A: Yes! You can provide a fully custom message, or use the professional default template. Use the {name} placeholder to automatically insert your name.

Q: How do I know if an application succeeded? A: Each request returns a success/failure status. Success refers to submission of the request, not a completed application or landlord approval. Failure includes an error description.

Q: Can I apply to multiple properties at once? A: Yes! Call the actor multiple times (in parallel or sequentially) with different ZPIDs. Each run processes one property, so you can batch by running multiple actors simultaneously.

Q: Can I integrate this with search actors? A: Absolutely! This is the recommended workflow: Use zillow-bulk-scraper or zip-code-search to find properties, filter results programmatically, then call this actor to apply to matching properties.

Q: What information is included in the application? A: The application includes your name, email, phone number, and your message to the landlord. All fields are validated before submission.

Q: Will I get a confirmation email? A: Yes! Zillow automatically sends a confirmation email to the email address you provided, confirming that your application request was submitted to the landlord.

Q: Will my Zillow profile information be visible to landlords? A: Yes. Zillow automatically detects your account using the email you provide. If you have a Zillow renter profile with additional information (credit score, rental history, income verification, etc.), landlords will be able to view this profile information along with your application.

Q: Is my information secure? A: Yes. The actor only submits your information directly to Zillow's application system. No personal data is stored or logged (except in your dataset output for your own records).

Q: What's the cost? A: See the Pricing tab for current rates and billing terms.

Q: Can I schedule automated applications? A: Yes! Set up scheduled runs through Apify to automatically apply to properties on a daily, weekly, or custom schedule.

Q: What happens if a property doesn't accept applications? A: The actor will return an error message explaining why the application couldn't be submitted (e.g., "Login required for this property"). Your run will still succeed - only that specific property application will show as failed.

Q: Can I track my application history? A: Yes! All application results are stored in the dataset output, including success/failure status, timestamps, and the exact message sent to each landlord.


πŸš€ Getting Started

1. Account Setup

  1. Sign up for Apify (free tier available, no credit card required)
  2. Review current billing terms in the Pricing tab
  3. Get your API token from account settings

2. Prepare Your Application

  1. Gather property details - ZPID or URL from Zillow listing
  2. Prepare your information - Name, email, phone (+1XXXXXXXXXX format)
  3. Customize message (optional) - Write a personalized message or use the default

3. Submit Your First Application

  1. Click "Start" with your input configuration
  2. Monitor progress in real-time through the run log
  3. Check dataset output for success confirmation
  4. Review the exact message that was sent to the landlord

4. Scale & Automate

  1. Use Apify API to integrate with search actors
  2. Set up webhooks for real-time success notifications
  3. Create scheduled runs for daily application automation
  4. Build search-to-apply pipelines for complete automation
  5. Track success rates across different properties and markets

πŸ“§ Support

  • Email: max@mapa.slmail.me
  • Feature Requests: Email or submit via issues
  • Response Time: Typically within 24 hours

This actor automates submission of rental applications through Zillow's public application system. Users are responsible for:

  • Truthful information: Only submit accurate, truthful information in applications
  • Legitimate intent: Use only for genuine rental applications, not spam or abuse
  • Terms compliance: Follow Zillow's Terms of Service and applicable laws
  • Privacy: Comply with data protection regulations (GDPR, CCPA)

Responsible Use: This tool is intended for legitimate rental application purposes. Do not use for spam, harassment, fraudulent applications, or any activities that violate platform terms or housing laws.


πŸš€ Start Submitting Rental Applications Now


Automate your apartment hunt and never fill out rental forms manually again - submit to dozens of properties in seconds with professional, customizable applications at one simple monthly price.