Upwork Auto Applier

Upwork Auto Applier

by philberhane

Automatically apply to multiple Upwork jobs with customized cover letters and intelligent preferences.

71 runs
3 users
Try This Actor

Opens on Apify.com

About Upwork Auto Applier

Automatically apply to multiple Upwork jobs with customized cover letters and intelligent preferences.

What does this actor do?

Upwork Auto Applier is a web scraping and automation tool available on the Apify platform. It's designed to help you extract data and automate tasks efficiently in the cloud.

Key Features

  • Cloud-based execution - no local setup required
  • Scalable infrastructure for large-scale operations
  • API access for integration with your applications
  • Built-in proxy rotation and anti-blocking measures
  • Scheduled runs and webhooks for automation

How to Use

  1. Click "Try This Actor" to open it on Apify
  2. Create a free Apify account if you don't have one
  3. Configure the input parameters as needed
  4. Run the actor and download your results

Documentation

🚀 Upwork Auto Applier > Automatically apply to multiple Upwork jobs with customized cover letters and intelligent preferences ## ✨ Features - 🎯 Batch Job Applications - Apply to 1-100 jobs in one run - 🤖 Smart Profile Selection - Auto-detect best profile based on job keywords - 📝 Custom Cover Letters - Personalized cover letter for each job - ⚙️ Configurable Preferences - Set contract duration, raise frequency, etc. - 🔄 Bidding Job Handling - Skip or auto-bid on bidding-only jobs - 📊 Detailed Tracking - Success/error/skipped status for each job - 🌐 Browser Extension - Real browser interaction for manual login and Cloudflare - 💾 Session Persistence - Save login sessions between job batches ## 🚀 Quick Start ### Step 1: Install Chrome Extension - Installation: Get the extension from https://chromewebstore.google.com/detail/upwork-auto-applier/dgidjghmeggbiligmcnpoagieagmlfhj?hl=en-US&utm_source=ext_sidebar ### Step 2: Prepare Your Jobs - Collect Upwork job URLs (e.g., https://www.upwork.com/nx/proposals/job/~abc123/apply/) - Write personalized cover letters for each job - Configure your application preferences ### Step 3: Run the Actor - Actor will automatically create a session - Look for the session ID in the console output ### Step 4: Connect Extension - Open the extension popup and enter the Session ID - Click "Connect to Service" - Navigate to Upwork and log into your account - Handle any Cloudflare challenges or 2FA - Open the extension popup and click "I'm logged into Upwork" ### Step 5: Watch It Work - The extension automatically applies to all your jobs - Monitor progress in real-time - View results in the Apify dataset ### Local Testing: 1. Extension Installed - Browser extension loaded and ready 2. Manual Login - Navigate to Upwork.com and login manually 3. Auto Processing - Extension applies to all jobs automatically ## 📋 Input Configuration ### Required Fields json { "jobs": [ { "jobUrl": "https://www.upwork.com/nx/proposals/job/~abc123/apply/", "coverLetter": "Your personalized cover letter..." } ], "applicationPreferences": { "profileMapping": [...], "fixedPricePreferences": {...} } } ### Application Preferences #### Profile Mapping Map job keywords to your specialized profile indices: json "profileMapping": [ { "tokenKeywords": ["full stack", "backend", "frontend"], "profileIndex": 1 }, { "tokenKeywords": ["mobile", "ios", "android"], "profileIndex": 2 } ] #### Fixed-Price Preferences Configure contract settings: json "fixedPricePreferences": { "projectDuration": "1 to 3 months", "raiseFrequency": "Never", "raiseAmount": "10%" } #### Browser Persistence Configure session management to avoid repeated logins: json "browserPersistence": { "enabled": true, // Enable/disable persistence "sessionTimeout": 24, // Session validity in hours "autoSave": true, // Automatically save sessions "fallbackToManual": true // Fall back to manual login if restoration fails } #### Other Settings json { "skipBiddingOnly": true, "genericScreeningResponse": "I'd be happy to discuss this in detail...", "delayBetweenJobs": 30, "cfTimeoutSec": 600, "manualLoginTime": 120 } ## 📊 Output Results The actor outputs detailed results for each job: ### Success json { "jobNumber": 1, "jobUrl": "https://www.upwork.com/nx/proposals/job/~abc123/apply/", "status": "submitted", "submittedAt": "2024-01-15T10:30:00.000Z" } ### Skipped json { "jobNumber": 2, "jobUrl": "https://www.upwork.com/nx/proposals/job/~def456/apply/", "status": "skipped", "reason": "bidding_only", "skippedAt": "2024-01-15T10:35:00.000Z" } ### Error json { "jobNumber": 3, "jobUrl": "https://www.upwork.com/nx/proposals/job/~ghi789/apply/", "status": "error", "error": "Submit button not found", "failedAt": "2024-01-15T10:40:00.000Z" } ## 📋 Input Configuration ### Required Fields json { "jobs": [ { "jobUrl": "https://www.upwork.com/nx/proposals/job/~abc123/apply/", "coverLetter": "Your personalized cover letter..." } ], "applicationPreferences": { "profileMapping": [...], "fixedPricePreferences": {...} } } ### Optional Fields json { "loginTimeout": 5, // Minutes to wait for login "delayBetweenJobs": 30, // Seconds between jobs "keepAlive": true, // Keep browser open between batches "reuseSessionId": "abc123-def456" // Reuse existing session } ## ⚙️ Configuration Examples ### Basic Setup (Minimal) json { "jobs": [ { "jobUrl": "https://www.upwork.com/nx/proposals/job/~abc123/apply/", "coverLetter": "Hi! I'm excited about this React project..." } ], "applicationPreferences": { "defaultProfileIndex": 0, "fixedPricePreferences": { "projectDuration": "1 to 3 months", "raiseFrequency": "Never" } } } ### Advanced Setup (Full Features) json { "jobs": [ { "jobUrl": "https://www.upwork.com/nx/proposals/job/~job1/apply/", "coverLetter": "Custom cover letter for job 1..." } ], "applicationPreferences": { "profileMapping": [ { "tokenKeywords": ["react", "javascript", "frontend"], "profileIndex": 1 } ], "defaultProfileIndex": 0, "fixedPricePreferences": { "projectDuration": "1 to 3 months", "raiseFrequency": "Never", "raiseAmount": "10%" } }, "loginTimeout": 5, "delayBetweenJobs": 30, "keepAlive": true } ## 📊 Output Results The actor outputs detailed results for each job: ### Success json { "jobNumber": 1, "jobUrl": "https://www.upwork.com/nx/proposals/job/~abc123/apply/", "status": "submitted", "submittedAt": "2024-01-15T10:30:00.000Z" } ### Skipped json { "jobNumber": 2, "jobUrl": "https://www.upwork.com/nx/proposals/job/~def456/apply/", "status": "skipped", "reason": "bidding_only", "skippedAt": "2024-01-15T10:35:00.000Z" } ### Error json { "jobNumber": 3, "jobUrl": "https://www.upwork.com/nx/proposals/job/~ghi789/apply/", "status": "error", "error": "Submit button not found", "failedAt": "2024-01-15T10:40:00.000Z" } ## 🔧 Troubleshooting ### Common Issues Browser doesn't open - Check Apify actor memory settings (minimum 2GB) - Ensure headless: false for local testing (automatically set to true on Apify platform) - On Apify platform, the browser runs in headless mode (no visible window) Login timeout - Increase manualLoginTime if you need more time to navigate and login - Default is 120 seconds (2 minutes) Profile not found - Verify your profileIndex matches your Upwork profile order - Check that tokenKeywords match job descriptions Skipped jobs - Check skipBiddingOnly setting - Verify job URLs are valid application pages ## 📈 Tips for Success 1. Test with 2-3 jobs first before running large batches 2. Use realistic delays (30+ seconds) between jobs 3. Monitor logs for any issues during automation 4. Keep cover letters personalized for better response rates 5. Update profile mapping based on your actual Upwork profiles ## 🔗 Integration ### Make.com (Integromat) - Use Apify webhook to trigger from Make.com - Set up scheduled runs for regular job applications - Connect to CRM for lead management ### Zapier - Create Zap with Apify trigger - Automate job application workflows - Sync results to Google Sheets ## 📄 License MIT License - feel free to modify and use for your projects! ## 🤝 Support For issues or questions: - Check the troubleshooting section - Review Apify actor logs - Ensure input configuration is valid --- Happy freelancing! 🎉

Common Use Cases

Market Research

Gather competitive intelligence and market data

Lead Generation

Extract contact information for sales outreach

Price Monitoring

Track competitor pricing and product changes

Content Aggregation

Collect and organize content from multiple sources

Ready to Get Started?

Try Upwork Auto Applier now on Apify. Free tier available with no credit card required.

Start Free Trial

Actor Information

Developer
philberhane
Pricing
Paid
Total Runs
71
Active Users
3
Apify Platform

Apify provides a cloud platform for web scraping, data extraction, and automation. Build and run web scrapers in the cloud.

Learn more about Apify

Need Professional Help?

Couldn't solve your problem? Hire a verified specialist on Fiverr to get it done quickly and professionally.

Find a Specialist

Trusted by millions | Money-back guarantee | 24/7 Support