Upwork Feed avatar
Upwork Feed

Pricing

$25.00/month + usage

Go to Apify Store
Upwork Feed

Upwork Feed

Developed by

Hyperbach

Hyperbach

Maintained by Community

AI-powered Upwork job scraper with real-time notifications and AI insights. Get NEW jobs matching your criteria with urgency analysis, complexity scoring, and 59+ field filtering. Perfect for freelancers, agencies, and job boards with automatic deduplication.

0.0 (0)

Pricing

$25.00/month + usage

0

1

1

Last modified

20 hours ago

πŸš€ AI-Enriched Upwork Feed Actor

Smart Upwork job scraping with AI insights, real-time notifications, and advanced filtering

🎯 What This Actor Does

This Apify Actor transforms how you find Upwork jobs by providing:

  • πŸ” Smart Job Discovery: Scrapes and filters Upwork jobs with AI-powered insights
  • πŸ“± Real-Time Notifications: Get notified only about NEW jobs matching your criteria
  • 🧠 AI Enrichment: Each job includes AI analysis of urgency, complexity, and technical requirements
  • ⚑ Advanced Filtering: Filter by 59+ fields including price, skills, client quality, and AI insights
  • 🎯 Personalized Feed: Maintains cursor tracking so you never see the same job twice

πŸš€ Quick Start

1. Basic Usage

{
"limit": 10
}

2. With Smart Filtering

{
"limit": 20,
"skills": "React",
"price_min": ">=50",
"contract_to_hire": "true",
"buyer_score": ">=4.0",
"ai_urgency": "high"
}

3. Notification Mode (Only New Jobs)

{
"notifications_only": "true",
"limit": 50
}

βš™οΈ Input Configuration

All parameters are optional.

ParameterTypeDescription
limitnumberNumber of jobs to return (1-100, default: 10)
notifications_onlybooleanIf true, only returns NEW jobs since last call

πŸ“Š Available Filter Fields

You can filter jobs by 59 different fields across these categories:

πŸ“‹ Essential Job Information

Core job details like title, description, pricing 13 fields available

Available fields: title, description, skills, price_type, price, price_min, price_max, category_name, subcategory_name, date_posted, url, keywords, exclude_keywords

πŸ“‹ Job Requirements

Experience level, qualifications, and constraints 10 fields available

Available fields: experience_level, engagement_label, engagement_weeks, qual_min_hours_week, qual_min_success_score, qual_pref_english, qual_rising_talent, qual_portfolio_required, qual_type

πŸ“‹ Client Information

Details about the client posting the job 16 fields available

Available fields: client_location, jobs_posted, hire_rate, avg_hourly_rate, open_jobs, total_spent, hires, active_hires, total_hours, industry, company_size, buyer_city, buyer_feedback_count, buyer_score, buyer_contract_date, buyer_payment_verified

πŸ“‹ AI-Powered Insights

AI-generated analysis of job requirements and urgency 11 fields available

Available fields: ai_urgency, ai_duration, ai_deadline, ai_technical_skills, ai_inferred_technical_skills, ai_portfolio_requirements, ai_explicit_mention_of_agency, ai_complexity_score, ai_budget_estimation_indicators, ai_clients_technical_understanding, ai_summary

πŸ“‹ System Metadata

Internal tracking and system fields 4 fields available

Available fields: id, created_at

FieldTypeExampleDescription
skillstext"React"Filter by required skills
price_minnumeric">=50"Minimum hourly rate
buyer_scorenumeric">=4.0"Client rating (1-5 stars)
contract_to_hireboolean"true"Potential for permanent position
experience_levelselect"Intermediate"Required experience level
ai_urgencyselect"high"AI-detected project urgency
date_posteddate">=2025-01-01"Job posting date

πŸŽ›οΈ Filter Syntax Guide

Different field types support different filtering options:

πŸ“ Text Fields (skills, title, description)

  • Contains search: "React" β†’ finds jobs mentioning React
  • Case-insensitive: automatically handled
  • Empty check: "=null" β†’ finds jobs with empty/null values
  • Non-empty check: "!=null" β†’ finds jobs with content

πŸ”’ Numeric Fields (price, price_min, buyer_score)

  • Exact match: "1000" β†’ exactly 1000
  • Operators: ">=50", "<=100", ">25", "<75"
  • Ranges: "500-2000" β†’ between 500 and 2000 (inclusive)

βœ… Boolean Fields (contract_to_hire, qual_rising_talent)

  • True: "true" or "1"
  • False: "false" or "0"

πŸ“… Date Fields (date_posted, created_at)

  • Exact date: "2025-01-15"
  • Operators: ">=2025-01-01", "<=2025-12-31"
  • ISO format: "2025-01-15T10:30:00Z"

🎯 Select Fields (experience_level, ai_urgency)

  • Exact match: "Intermediate", "high"
  • Case-sensitive: use exact values from field options

πŸ“‹ Complete Field Reference

Essential Job Information

FieldTypeOperatorsExamplesDescription
titletextcontains, =null, !=nullBuild a React Dashboard with Real-time Analytics, Virtual Assistant for Email Management, Logo Design for Tech StartupThe job posting title as written by the client. Contains the main description of what work needs to be done.
descriptiontextcontains, =null, !=nullWe need an experienced React developer to build a ..., Looking for a Python expert who can integrate machine learning models ...Full job description text as written by the client. Contains detailed requirements, expectations, and project scope.
skillstextcontains, =null, !=nullJavaScript, React, Node.js, Python, Machine Learning, TensorFlowComma-separated list of required skills and technologies for the job as specified by the client.
price_typeselectequalsFixed-price, HourlyHow the job is priced: Fixed Price (one-time payment) or Hourly (paid per hour worked).
pricenumeric>=, <=, >, <, =, ranges500, 1200, 50The budget amount for the fixed-price job.
price_minnumeric>=, <=, >, <, =, ranges25, 50, 100Minimum budget or hourly rate for the job. Lower bound of the client's budget range.
price_maxnumeric>=, <=, >, <, =, ranges75, 150, 500Maximum budget or hourly rate for the job. Upper bound of the client's budget range.
category_nameselectequalsAccounting & Consulting, Admin Support, Customer Service, Data Science & Analytics, Design & Creative, +7 moreMain category of the job (e.g., Web Development, Data Science, Design). Upwork's primary job classification.
subcategory_nameselectequals3D Modeling & CAD, AI & Machine Learning, AI Apps & Integration, Accounting & Bookkeeping, Art & Illustration, +45 moreSpecific subcategory within the main category (e.g., Front-End Development, Machine Learning). More granular classification.
date_posteddate>=, <=, >, <, =, equals2024-01-15, 2024-01-20T14:30:00ZWhen the job was posted on Upwork. Use this to find recent opportunities or analyze posting patterns.
urltextcontains, =null, !=nullhttps://www.upwork.com/jobs/~01234567890abcdef, https://www.upwork.com/jobs/~987654321fedcba09Direct link to the job posting on Upwork. Use this to view the full job details or apply.
keywordstextcontainspython machine learning, react javascript typescript, design ui ux figma, marketing seo content, data analysis sql pythonFull-text search across job title, description, skills, categories, location, industry, and AI-generated fields. Uses PostgreSQL full-text search for fast performance on millions of jobs.
exclude_keywordstextcontainswordpress php, data entry copy paste, logo design graphic, social media marketing, excel spreadsheet manualExclude jobs containing any of these keywords. Uses the same full-text search across job title, description, skills, categories, location, industry, and AI-generated fields. Perfect for filtering out unwanted job types or technologies.

Job Requirements

FieldTypeOperatorsExamplesDescription
experience_levelselectequalsEntry_level, Expert, IntermediateRequired experience level for the job: Entry Level, Intermediate, or Expert.
engagement_labelselectequals1 to 3 months, 3 to 6 months, Less than 1 month, More than 6 monthsExpected duration or type of engagement (e.g., 1 to 3 months, 3 to 6 months, Less than 1 month, Less than 1 week, More than 6 months).
engagement_weeksselectequals3, 9, 18, 52Project duration in weeks. Options: 1, 3, 9, 18, 52 weeks.
qual_min_hours_weekselectequals0, 10, 30, 40Minimum hours per week required for hourly jobs. Options: 10, 30, 40.
qual_min_success_scoreselectequals0, 80, 90Minimum Upwork success score required to apply for the job.
qual_pref_englishselectequalsANY, CONVERSATIONAL, FLUENT, NATIVEClient's preferred English proficiency level for freelancers.
qual_rising_talentbooleanequalsTrue, FalseWhether the job is open to Upwork Rising Talent (newer freelancers with potential).
qual_portfolio_requiredbooleanequalsTrue, FalseWhether the client requires a portfolio or work samples to apply.
qual_typeselectequalsAGENCY, ANY, INDEPENDENTType of freelancer the client is looking for: Agency (team/company), Independent (solo freelancer), or Any (no preference).

Client Information

FieldTypeOperatorsExamplesDescription
client_locationselectequalsUnited States, United Kingdom, India, USA, Australia, +20 moreGeographic location of the client posting the job.
jobs_postednumeric>=, <=, >, <, =, ranges1, 10, >50Total number of jobs the client has posted on Upwork.
hire_ratenumeric>=, <=, >, <, =, ranges75, 90, 50Percentage of freelancers the client has hired from total applications. Higher rates indicate clients who actively hire rather than just browse.
avg_hourly_ratenumeric>=, <=, >, <, =, ranges45.50, 75.00, >=100Average hourly rate this client typically pays freelancers. Based on their historical hiring patterns.
open_jobsnumeric>=, <=, >, <, =, ranges0, 2, <5Number of jobs the client currently has open/active.
total_spentnumeric>=, <=, >, <, =, ranges100, 500, >=1000000Total amount the client has spent on Upwork across all their projects.
hiresnumeric>=, <=, >, <, =, ranges1, 10, >50Total number of freelancers hired by the client.
active_hiresnumeric>=, <=, >, <, =, ranges1, 10, >50Number of freelancers currently hired by the client.
total_hoursnumeric>=, <=, >, <, =, ranges100, 500, >=1000Total number of hours the client has worked on Upwork across all their projects.
industryselectequals``, Aerospace, Agriculture & Forestry, Art & Design, Automotive, +15 moreMain industry the client operates in. Select from available choices.
company_sizeselectequals0, 1, 10, 100, 1000, +4 moreSize of the client's company. Predefined option for company size. Select from available choices.
buyer_citytextcontains, =null, !=nullNew York, London, Paris, Tokyo, Sydney, Berlin, Rome, Madrid, Amsterdam, Mumbai, Beijing, Delhi, MumbaiCity where the client is located.
buyer_feedback_countnumeric>=, <=, >, <, =, ranges1, 10, >=2Number of feedbacks the client has received.
buyer_scorenumeric>=, <=, >, <, =, ranges>=4.7, 5.0Score of the client's performance on Upwork.
buyer_contract_datedate>=, <=, >, <, =, equals2024-01-15, 2024-01-20T14:30:00ZDate when the client first registered their account on Upwork. Indicates how long the client has been active on the platform.
buyer_payment_verifiedbooleanequalsTrue, FalseBoolean flag indicating whether the client has verified their payment method on Upwork.

AI-Powered Insights

FieldTypeOperatorsExamplesDescription
ai_urgencyselectequalsImmediate, Long-Term, Moderately Urgent, Not Urgent, Urgent, Very UrgentAI-detected urgency level of the job based on language and posting patterns.
ai_durationselectequalsFlexible, Flexible Deadline, Long-Term, Mid-Term, Part-Time, Short-TermAI-detected project duration based on job description analysis. Indicates expected length and type of engagement.
ai_deadlineselectequalsFixed Deadline, Flexible Deadline, Immediate Deadline, No DeadlineAI-detected deadline type for the job based on urgency indicators and time-sensitive language in the job description.
ai_technical_skillstextcontains, =null, !=nullJavaScript, React, Node.js, Python, Django, PostgreSQL, AWS, Docker, KubernetesTechnical skills explicitly mentioned in the job description, extracted using AI. These are skills directly stated by the client as requirements or preferences.
ai_inferred_technical_skillstextcontains, =null, !=nullGit, REST APIs, Testing, Database Design, Security, Responsive Design, SEOTechnical skills inferred by AI from the job description context, even when not explicitly mentioned. These are skills likely needed based on project requirements and industry patterns.
ai_portfolio_requirementsselectequalsNot Required, Optional, RequiredAI-detected portfolio requirements based on job description analysis. Indicates whether the client requires, prefers, or doesn't need portfolio samples from applicants.
ai_explicit_mention_of_agencyselectequalsAgencies Welcome, No Agencies, No MentionAI-detected explicit mention of agency preferences in the job posting. Indicates whether the client welcomes agencies, prefers individual freelancers, or has no specific preference.
ai_complexity_scoreselectequalsHigh, Low, ModerateAI-detected complexity score of the job based on the project requirements and deliverables.
ai_budget_estimation_indicatorsselectequalsFixed Budget, Flexible Budget, High Budget, Low Budget, Moderate Budget, Not SpecifiedAI-detected budget estimation indicators based on job description analysis. Categorizes jobs by their apparent budget level: High Budget for premium projects, Moderate Budget for standard projects, Low Budget for cost-conscious projects, or Not Specified when budget indicators are unclear.
ai_clients_technical_understandingselectequalsExpert, High, Low, ModerateAI-detected assessment of the client's technical understanding based on how they describe their project requirements. Helps identify whether the client has deep technical knowledge, moderate understanding, basic knowledge, or expert-level expertise in the domain.
ai_summarytextcontains, =null, !=nullThis job is a full-stack developer role for a startup. The ideal candidate will have experience with React, Node.js, and PostgreSQL., This job is a data analyst role for a consulting firm. The ideal candidate will have experience with SQL, Python, and data visualization tools.AI-generated summary of the job description. Provides a concise overview of the job requirements and responsibilities.

System Metadata

FieldTypeOperatorsExamplesDescription
idtextcontains, =null, !=null~01234567890abcdef, ~987654321fedcba09Unique identifier for the job posting on Upwork. Use this to track specific jobs or avoid duplicates.
created_atdate>=, <=, >, <, =, equals2024-01-20T14:30:00ZTimestamp when this job record was created in our system (not the Upwork posting date).

πŸ“€ Output Format

The actor returns a structured dataset with:

[
{
"title": "Video Editor Needed for YouTube Channel (Nostalgia / Memories Theme)",
"description": "I’m looking for a skilled and reliable video editor to join me in growing my faceless YouTube channel, Past & Present.\n\nYour role will be to edit videos in a style similar to Back to Yesterday - YouTube, Welcome to America Before! and (5) Dear Old Blighty - YouTube. If you can replicate this clean, engaging, documentary-like editing style, this could be a long-term collaboration.\n\nπŸ’° Payment: $30 per video\nπŸ“… Frequency: 3 videos per week\n\nπŸ‘‰ Requirements (do not apply if you don’t meet these):\nβ€’\tInclude samples of your previous video editing work (applications without samples will be ignored).\nβ€’\t90%+ job success rate.\nβ€’\t$100+ earnings on the platform.\nβ€’\tStrong sense of storytelling, pacing, and attention to detail.\n\nπŸ‘‰ Application Instructions:\nβ€’\tStart your proposal with the name of your favorite fruit (this is how I’ll know you’ve read the post carefully).\nβ€’\tShare at least 2–3 examples of your previous work that showcase similar editing style.\n\nI’m looking for someone motivated who can grow with the channel. If you’re creative, consistent, and can match the required style, I’d love to work with you!\n\nThanks,\nLucas",
"date_posted": "2025-09-01T12:47:38.432Z",
"price_type": "Fixed-price",
"price": 30,
"price_min": null,
"price_max": null,
"skills": "Video Editing, Adobe Premiere Pro",
"experience_level": "Expert",
"client_location": "France",
"jobs_posted": null,
"hire_rate": null,
"open_jobs": 1,
"total_spent": null,
"hires": 0,
"active_hires": null,
"avg_hourly_rate": null,
"total_hours": 0,
"industry": null,
"company_size": "None",
"created_at": "2025-09-01T12:48:09.799Z",
"url": "https://www.upwork.com/jobs/~021962497576065864162",
"category_name": "Design & Creative",
"subcategory_name": "Video & Animation",
"id": "021962497576065864162",
"job_is_premium": false,
"engagement_label": null,
"engagement_weeks": null,
"hourly_budget_type": null,
"client_invites_sent": null,
"client_positions_to_hire": 1,
"qual_min_hours_week": null,
"qual_min_success_score": 0,
"qual_pref_english": "ANY",
"qual_rising_talent": false,
"qual_portfolio_required": false,
"qual_type": "ANY",
"buyer_offset_utc": 7200000,
"buyer_city": null,
"buyer_feedback_count": 0,
"buyer_score": null,
"buyer_contract_date": null,
"buyer_payment_verified": false,
"ai_urgency": null,
"ai_duration": "Long-Term",
"ai_deadline": null,
"ai_technical_skills": "video editing",
"ai_inferred_technical_skills": "storytelling, pacing, documentary style editing",
"ai_portfolio_requirements": null,
"ai_specific_requirements_before_applying": "Include samples of previous video editing work, 90%+ job success rate, $100+ earnings on the platform, Start proposal with the name of your favorite fruit, Share 2–3 examples of previous work showcasing similar editing style",
"ai_explicit_mention_of_agency": "No Mention",
"ai_complexity_score": null,
"ai_budget_estimation_indicators": null,
"ai_clients_technical_understanding": null,
"ai_named_entities": "Back to Yesterday, Welcome to America Before!, Dear Old Blighty, Past & Present, Lucas",
"ai_anti_bot_phrase": "Start your proposal with the name of your favorite fruit",
"ai_summary": "Edit three faceless documentary-style YouTube videos per week at $30 each, delivering clean, engaging content similar to specified channels. Client wants an experienced editor with a high Upwork success rate, proven storytelling skills, and at least $100 earned on the platform, requiring video samples and a playful proposal start for consideration. Long-term growth potential is noted, but strict application rules and budget may limit candidates, so prepare for clear style matching and steady output."
}
]

🎯 Smart Usage Patterns

πŸ’Ό Freelancer Job Alerts

// High-value React jobs from quality clients
{
"notifications_only": "true",
"skills": "React",
"price_min": ">=60",
"buyer_score": ">=4.0",
"buyer_payment_verified": "true",
"ai_urgency": "Urgent"
}
// Entry-level opportunities for new freelancers
{
"experience_level": "Entry Level",
"price_min": ">=15",
"buyer_payment_verified": "true",
"exclude_keywords": "data entry copy paste"
}
// Remote-friendly design jobs
{
"keywords": "design ui ux figma",
"price_type": "Fixed-price",
"price": "500-5000",
"ai_complexity_score": "Moderate"
}

🏒 Agency Lead Generation

// Jobs explicitly seeking agencies or teams
{
"ai_explicit_mention_of_agency": "Agencies Welcome",
"ai_complexity_score": "High",
"price_min": ">=100",
"total_spent": ">=10000",
"ai_budget_estimation_indicators": "High Budget"
}
// Enterprise projects with team requirements
{
"ai_explicit_mention_of_agency": "Agencies Preferred",
"engagement_label": "More than 6 months",
"ai_portfolio_requirements": "Required",
"company_size": ">=1000",
"ai_clients_technical_understanding": "High"
}
// High-value development projects for agencies
{
"ai_explicit_mention_of_agency": "Agencies Only",
"keywords": "react node.js typescript",
"price": ">=25000",
"ai_complexity_score": "High",
"ai_duration": "Long-Term",
"buyer_score": ">=4.5"
}

πŸ” Market Research & Analysis

// Track AI/ML job trends and pricing
{
"keywords": "machine learning artificial intelligence",
"date_posted": ">=2025-01-01",
"limit": 100
}
// Monitor mobile app development market
{
"skills": "iOS Android React Native",
"price_type": "Fixed-price",
"date_posted": ">=2024-12-01",
"experience_level": "Intermediate"
}
// Analyze client spending patterns
{
"total_spent": ">=100000",
"hire_rate": ">=90",
"buyer_payment_verified": "true",
"limit": 50
}

🎯 Specialized Niches

// Blockchain & crypto projects with quality clients
{
"keywords": "blockchain cryptocurrency solidity ethereum",
"exclude_keywords": "scam pyramid scheme",
"ai_complexity_score": "High",
"ai_clients_technical_understanding": "High",
"ai_budget_estimation_indicators": "High Budget",
"price_min": ">=50"
}
// Technical writing with portfolio requirements
{
"keywords": "technical writing documentation",
"ai_portfolio_requirements": "Required",
"ai_clients_technical_understanding": "Moderate",
"experience_level": "Intermediate",
"price_min": ">=30",
"qual_pref_english": "FLUENT"
}
// Urgent fixes for immediate delivery
{
"ai_urgency": "Immediate",
"ai_deadline": "Fixed Deadline",
"keywords": "bug fix maintenance urgent",
"ai_duration": "Short-Term",
"price_min": ">=40",
"date_posted": ">=2025-01-01"
}

πŸš€ Notification & Automation

// Daily new job alerts for Python developers
{
"notifications_only": "true",
"skills": "Python",
"price_min": ">=45",
"buyer_score": ">=3.5",
"limit": 20
}
// Weekend side project hunting
{
"engagement_label": "Less than 1 month",
"price_type": "Fixed-price",
"price": "1000-10000",
"ai_complexity_score": "Low"
}

⚑ Performance & Limits

  • ⏱️ Response Time: < 2 seconds average
  • πŸ“Š Rate Limits: 100 requests/minute, 1000 requests/hour
  • πŸ’Ύ Data Freshness: Jobs scraped every minute + 2 minutes max for AI processing
  • πŸ”„ Cursor Tracking: Automatic per user session
  • πŸ“± Notification Mode: Only returns NEW jobs since last call

πŸ› οΈ Advanced Features

🧠 AI-Powered Insights

Every job includes AI analysis:

  • Urgency Detection: Identifies time-sensitive projects
  • Complexity Scoring: 1-10 scale based on requirements
  • Technical Skills: Extracted and normalized skill requirements
  • Budget Indicators: AI assessment of budget reasonableness

πŸ“± Smart Notifications

  • Cursor Tracking: Never see the same job twice
  • User-Specific: Each user session has independent tracking
  • Flexible Modes: Choose between full pages or notifications-only

🎯 Precision Filtering

  • 59+ Fields: Filter by almost any job attribute
  • Smart Operators: >=, <=, >, < for numbers and dates
  • Text Search: Case-insensitive partial matching
  • Boolean Logic: Combine multiple filters with AND logic

🚨 Common Issues & Solutions

Issue: "No jobs returned"

  • Solution: Check your filters aren't too restrictive
  • Tip: Start with broader filters and narrow down

Issue: "Same jobs appearing"

  • Solution: Use notifications_only: true for new jobs only
  • Tip: Cursor tracking is automatic per user session

Issue: "Rate limit exceeded"

  • Solution: Add delays between requests
  • Tip: Use higher limit values to reduce request frequency

πŸ”— Integration Examples

Webhook Integration

// Set up webhook to receive new job notifications
const webhook = await apifyClient.webhooks().create({
eventTypes: ['ACTOR.RUN.SUCCEEDED'],
requestUrl: 'https://your-app.com/webhook/new-jobs'
});

Slack Bot Integration

// Post new jobs to Slack channel
const jobs = await actor.call({
notifications_only: 'true',
skills: 'React',
price_min: '>=50'
});
jobs.items.forEach(job => {
slack.postMessage({
channel: '#job-alerts',
text: `πŸš€ New ${job.skills} job: ${job.title} - $${job.price_min}+/hr`
});
});

πŸ“ˆ Use Cases

  • πŸ’Ό Freelancer Job Alerts: Get notified of relevant opportunities
  • 🏒 Agency Lead Generation: Find high-value projects for your team
  • πŸ“Š Market Research: Track pricing and demand trends
  • πŸ€– Automation: Build job boards, alerts, and matching systems
  • πŸ“± Mobile Apps: Power job discovery applications
  • πŸ” Competitive Analysis: Monitor competitor job requirements

πŸ†˜ Support & Resources


🎯 Ready to find your perfect Upwork jobs? Start with the examples above and customize the filters for your needs!

Last updated: 2025-09-04 23:49:28 UTC