Upwork Search and Job(s) Scraper (No Cookies) avatar
Upwork Search and Job(s) Scraper (No Cookies)

Pricing

$15.00/month + usage

Go to Store
Upwork Search and Job(s) Scraper (No Cookies)

Upwork Search and Job(s) Scraper (No Cookies)

Developed by

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Extract detailed Upwork job listings with our scraper. Get job descriptions, budgets, required skills, client history, and engagement terms in a structured format. Perfect for market research and competitive analysis.

0.0 (0)

Pricing

$15.00/month + usage

2

Total users

14

Monthly users

14

Runs succeeded

>99%

Last modified

21 days ago

Upwork Jobs Scraper

Extract structured job listings from Upwork.com. Ideal for job seekers, recruiters, and market researchers looking to analyze job market trends, skills in demand, and competitive insights.


Features

  • Comprehensive Job Scraping:
    • Extract detailed job postings including titles, descriptions, budgets, and requirements.
    • Support for various job types (hourly, fixed-price) and experience levels.
  • Advanced Search Filters:
    • Filter by location, job type, budget range, client history, and more.
    • Support for complex search queries with multiple parameters.
  • Performance Optimized:
    • Configurable concurrency and retry settings for reliable scraping.
    • Built-in proxy rotation with residential IP support to avoid blocks.
  • Structured Data Output:
    • Clean, normalized data in JSON format ready for analysis.
    • Consistent schema for easy integration with databases and analytics tools.

Getting Started

Basic Usage

  1. Configure Input:

    • Add Upwork job URLs to the startUrls array.
    • Set your preferred scraping limits and proxy settings.
  2. Run the Scraper:

    • Execute the scraper via Apify platform or CLI.
    • Monitor progress through the Apify dashboard.
  3. Export Data:

    • Download results in JSON, CSV, or other supported formats.
    • Use webhooks or API to integrate with your workflow.

Example Input

{
"startUrls": [
{ "url": "https://www.upwork.com/jobs/~0123456789abcdef" },
{ "url": "https://www.upwork.com/freelance-jobs/apply/Pitchbook-Data-Extraction-for-Paddle-Companies_~021933418908659249795/" },
{ "url": "https://www.upwork.com/nx/search/jobs/?q=web+development" }
],
"maxItems": 100,
"maxConcurrency": 10,
"minConcurrency": 1,
"maxRequestRetries": 100,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Input Configuration

Input Fields Explained

ParameterDescriptionDefault
startUrlsArray of Upwork job URLs or search result pages to start scraping.[]
maxItemsMaximum number of job listings to scrape per run.100
maxConcurrencyMaximum number of pages to process simultaneously.10
minConcurrencyMinimum number of pages to keep in processing queue.1
maxRequestRetriesNumber of times to retry failed requests before giving up.100
proxyProxy configuration for making requests. Residential proxies recommended.Apify Proxy
cookies(Optional) Authentication cookies if accessing protected content.[]

Supported URL Formats

1. Job Search URLs

Search for jobs using Upwork's search functionality:

https://www.upwork.com/nx/search/jobs/?q=airbnb

2. Individual Job Postings

Scrape specific job postings using these URL formats:

https://www.upwork.com/freelance-jobs/apply/Pitchbook-Data-Extraction-for-Paddle-Companies_~021933418908659249795/
https://www.upwork.com/jobs/~021897592604309915141

3. Advanced Search with Filters

Use Upwork's advanced search parameters:

https://www.upwork.com/nx/search/jobs/?q=full+stack+data+scientist&sort=recency&location=Americas,Europe

Advanced Search Parameters

The scraper supports various Upwork search parameters that can be included in your start URLs:

  • q: Search query (e.g., web+development)
  • sort: Sort order (recency, relevance)
  • location: Filter by location (comma-separated values)
  • t: Job type (0 for hourly, 1 for fixed-price)
  • amount: Budget range (e.g., 100-500)
  • client_hires: Client hiring history (e.g., 0,1-9,10-)
  • payment_verified: Show only verified payments (1 for true)
  • timezone: Filter by timezone (comma-separated values)

Example with multiple filters:

https://www.upwork.com/nx/search/jobs/?q=react&sort=recency&location=Americas,Europe&t=1&amount=100-500&payment_verified=1

Output Structure

{
"hiredApplicantNames": null,
"opening": {
"job": {
"status": "ACTIVE",
"postedOn": "2025-06-22T08:27:45.795Z",
"publishTime": "2025-06-22T08:27:46.991Z",
"sourcingTime": null,
"startDate": null,
"deliveryDate": null,
"workload": null,
"contractorTier": "INTERMEDIATE",
"description": "We are Nova9 Marketing, a fast-growing digital marketing startup based in Seychelles, focused on helping Airbnbs, boutique hotels, and short-term rentals grow their online presence and increase direct bookings.\n\nOur services range from OTA listing optimization and dynamic pricing to social media management, visual branding, and Meta (Facebook/Instagram) ads.\n\nWe’re now looking to bring on a Social Media Manager with strong experience in Instagram and Facebook content creation, especially for brands in hospitality, real estate, travel, or lifestyle.\n\nThis is a long-term, remote position with the opportunity to manage multiple client accounts as we grow. You’ll be working closely with our video editor, virtual assistant, and creative director to deliver premium social media experiences for our clients.\n\n🛠 What You’ll Be Responsible For:\n\t•\tCreating monthly content plans (feed + story + Reel structure)\n\t•\tWriting engaging, branded captions with CTAs and emojis\n\t•\tSelecting and suggesting photos or clips from client shoot folders\n\t•\tCoordinating 6 Reels/month (our editor will handle the video – you guide the direction)\n\t•\tScheduling content via Later, Metricool, or similar\n\t•\tMonitoring basic engagement (replying to DMs/comments 2–3 times per week)\n\t•\tDelivering monthly performance reports using in-platform analytics\n\n✅ Requirements:\n\t•\t1+ year experience managing Instagram and Facebook for clients (travel/hospitality preferred)\n\t•\tConfident writing engaging, on-brand captions in English\n\t•\tBasic understanding of Reels hooks, trends, and storytelling\n\t•\tComfortable using Canva, Later/Metricool/Buffer, and Google Drive\n\t•\tHighly organized and proactive communicator\n\t•\tBonus: Familiarity with TikTok and short-form video trends\n💼 Scope & Rate:\n\t•\tWe’re offering $250–$300/month to start per client\n\t•\tFirst project will be a trial month for 1 property account\n\t•\tIf successful, we’ll increase workload and scale you into multiple accounts\n\t•\tFlexible working hours – we care more about quality and reliability than timezone\n\n🌴 Why Work With Us:\n\t•\tWe’re a creative team building something big in a niche with global growth potential\n\t•\tYou’ll work with beautiful, high-quality content (tropical hotels, beach villas, aerial shots)\n\t•\tDirect line of communication with the founder – no corporate fluff\n\t•\tRemote, independent, outcome-driven environment\n\t•\tLong-term growth opportunities — we want team players, not gig hoppers",
"info": {
"ciphertext": "~021936702637394960044",
"id": "1936702637394960044",
"type": "FIXED",
"access": "PUBLIC_INDEX",
"title": "Social Media Manager for Airbnb & Hotels",
"hideBudget": false,
"createdOn": "2025-06-22T08:27:45.795Z",
"notSureProjectDuration": false,
"notSureFreelancersToHire": false,
"notSureExperienceLevel": false,
"notSureLocationPreference": false,
"premium": false
},
"segmentationData": [
{
"customValue": null,
"label": "Ongoing project",
"name": "Employment",
"sortOrder": 1,
"type": "EMPLOYMENT",
"value": "EMPLOYMENT_POSITION",
"skill": null
}
],
"sandsData": {
"occupation": {
"freeText": null,
"ontologyId": "upworkOccupation:socialmediamarketing",
"prefLabel": "Social Media Marketing",
"id": "1017484851352698999",
"uid": "1017484851352698999"
},
"ontologySkills": [
{
"groupId": "1549040540813496320",
"id": "1045317701570953216",
"freeText": null,
"prefLabel": "Travel & Hospitality",
"groupPrefLabel": "Industry"
}
],
"additionalSkills": [
{
"groupId": null,
"id": "1052162208978227208",
"freeText": null,
"prefLabel": "Facebook"
},
{
"groupId": null,
"id": "1052162208978227206",
"freeText": null,
"prefLabel": "Instagram"
},
{
"groupId": null,
"id": "1204836476859301888",
"freeText": null,
"prefLabel": "Social Media Content Creation"
},
{
"groupId": null,
"id": "1031626781101637632",
"freeText": null,
"prefLabel": "Social Media Management"
}
]
},
"category": {
"name": "Digital Marketing",
"urlSlug": "digital-marketing"
},
"categoryGroup": {
"name": "Sales & Marketing",
"urlSlug": "sales-marketing"
},
"budget": {
"amount": 300,
"currencyCode": "USD"
},
"annotations": {
"tags": [
"jsi_contractToHire",
"contractToHireSet",
"searchable",
"C2HJobsOptInEducation"
]
},
"engagementDuration": {
"label": "1 to 3 months",
"weeks": 9
},
"extendedBudgetInfo": {
"hourlyBudgetMin": null,
"hourlyBudgetMax": null,
"hourlyBudgetType": null
},
"attachments": [],
"clientActivity": {
"lastBuyerActivity": "2025-06-22T08:52:15.177Z",
"totalApplicants": 20,
"totalHired": 0,
"totalInvitedToInterview": 0,
"unansweredInvites": 0,
"invitationsSent": 0,
"numberOfPositionsToHire": 1
}
},
"qualifications": {
"countries": null,
"earnings": null,
"groupRecno": null,
"languages": null,
"localDescription": null,
"localFlexibilityDescription": null,
"localMarket": false,
"minJobSuccessScore": 0,
"minOdeskHours": 0,
"onSiteType": null,
"prefEnglishSkill": "ANY",
"regions": null,
"risingTalent": false,
"shouldHavePortfolio": false,
"states": null,
"tests": null,
"timezones": null,
"type": "ANY",
"locationCheckRequired": false,
"group": null,
"location": null,
"locations": null
},
"questions": []
},
"buyer": {
"enterprise": false,
"isPaymentMethodVerified": false,
"info": {
"location": {
"offsetFromUtcMillis": 0,
"countryTimezone": "Etc/UTC (UTCZ)",
"city": null,
"country": "Seychelles"
},
"stats": {
"totalAssignments": 0,
"activeAssignmentsCount": 0,
"hoursCount": 0,
"feedbackCount": 0,
"score": 0,
"totalJobsWithHires": 0,
"totalCharges": null
},
"company": {
"name": null,
"companyId": "1931041000145612262",
"isEDCReplicated": null,
"contractDate": "2025-06-06T00:00:00.000Z",
"profile": {
"industry": "Travel & Hospitality",
"size": 1
}
},
"jobs": {
"openCount": 3,
"postedCount": 3,
"openJobs": [
{
"id": "1936712169910544263",
"uid": "1936712169910544263",
"isPtcPrivate": false,
"ciphertext": "~021936712169910544263",
"title": "Meta Ads Specialist for Airbnb & Boutique Hotels",
"type": "FIXED"
},
{
"id": "1936698126381745887",
"uid": "1936698126381745887",
"isPtcPrivate": false,
"ciphertext": "~021936698126381745887",
"title": "OTA Listing & Pricing Optimization Expert (Airbnb/Booking/VRBO)",
"type": "FIXED"
}
]
},
"avgHourlyJobsRate": null
},
"workHistory": []
},
"currentUserInfo": {
"owner": false,
"freelancerInfo": {
"profileState": "AUTO_ACCEPTED",
"applied": null,
"devProfileCiphertext": "~01d7fa411418639c50",
"hired": null,
"application": null,
"pendingInvite": null,
"contract": null,
"hourlyRate": {
"amount": 99
},
"qualificationsMatches": {
"matches": [
{
"clientPreferred": "all",
"clientPreferredLabel": "Any",
"freelancerValue": "IC",
"freelancerValueLabel": "Not Specified",
"qualification": "FreelancerType",
"qualified": true
},
{
"clientPreferred": "0",
"clientPreferredLabel": "At least 0%",
"freelancerValue": "0",
"freelancerValueLabel": "0%",
"qualification": "MinimumJobSuccessScore",
"qualified": true
},
{
"clientPreferred": "0",
"clientPreferredLabel": "Any",
"freelancerValue": "4",
"freelancerValueLabel": "Native Or Bilingual",
"qualification": "EnglishLevel",
"qualified": true
},
{
"clientPreferred": "0",
"clientPreferredLabel": "At least 0 hours",
"freelancerValue": "0",
"freelancerValueLabel": "0",
"qualification": "HoursBilled",
"qualified": true
},
{
"clientPreferred": "ANY",
"clientPreferredLabel": "Any",
"freelancerValue": "0.00",
"freelancerValueLabel": "0.00",
"qualification": "Earnings",
"qualified": true
},
{
"clientPreferred": "Any",
"clientPreferredLabel": null,
"freelancerValue": "en",
"freelancerValueLabel": "English",
"qualification": "Language",
"qualified": true
}
]
}
}
},
"similarJobs": [],
"workLocation": {
"onSiteCity": null,
"onSiteCountry": null,
"onSiteReason": null,
"onSiteReasonFlexible": null,
"onSiteState": null,
"onSiteType": null
},
"phoneVerificationStatus": {
"status": "VERIFIED"
},
"applicantsBidsStats": null,
"specializedProfileOccupationId": "1017484851352698999",
"applicationContext": {
"freelancerAllowed": false,
"clientAllowed": true
},
"basicInfo": {
"id": "1936702637394960044",
"title": "Social Media Manager for H^Airbnb^H & Hotels",
"description": "We are Nova9 Marketing, a fast-growing digital marketing startup based in Seychelles, focused on helping Airbnbs, boutique hotels, and short-term rentals grow their online presence and increase direct bookings.\n\nOur services range from OTA listing optimization and dynamic pricing to social media management, visual branding, and Meta (Facebook/Instagram) ads.\n\nWe’re now looking to bring on a Social Media Manager with strong experience in Instagram and Facebook content creation, especially for brands in hospitality, real estate, travel, or lifestyle.\n\nThis is a long-term, remote position with the opportunity to manage multiple client accounts as we grow. You’ll be working closely with our video editor, virtual assistant, and creative director to deliver premium social media experiences for our clients.\n\n🛠 What You’ll Be Responsible For:\n\t•\tCreating monthly content plans (feed + story + Reel structure)\n\t•\tWriting engaging, branded captions with CTAs and emojis\n\t•\tSelecting and suggesting photos or clips from client shoot folders\n\t•\tCoordinating 6 Reels/month (our editor will handle the video – you guide the direction)\n\t•\tScheduling content via Later, Metricool, or similar\n\t•\tMonitoring basic engagement (replying to DMs/comments 2–3 times per week)\n\t•\tDelivering monthly performance reports using in-platform analytics\n\n✅ Requirements:\n\t•\t1+ year experience managing Instagram and Facebook for clients (travel/hospitality preferred)\n\t•\tConfident writing engaging, on-brand captions in English\n\t•\tBasic understanding of Reels hooks, trends, and storytelling\n\t•\tComfortable using Canva, Later/Metricool/Buffer, and Google Drive\n\t•\tHighly organized and proactive communicator\n\t•\tBonus: Familiarity with TikTok and short-form video trends\n💼 Scope & Rate:\n\t•\tWe’re offering $250–$300/month to start per client\n\t•\tFirst project will be a trial month for 1 property account\n\t•\tIf successful, we’ll increase workload and scale you into multiple accounts\n\t•\tFlexible working hours – we care more about quality and reliability than timezone\n\n🌴 Why Work With Us:\n\t•\tWe’re a creative team building something big in a niche with global growth potential\n\t•\tYou’ll work with beautiful, high-quality content (tropical hotels, beach villas, aerial shots)\n\t•\tDirect line of communication with the founder – no corporate fluff\n\t•\tRemote, independent, outcome-driven environment\n\t•\tLong-term growth opportunities — we want team players, not gig hoppers",
"relevanceEncoded": "{\"position\":\"3\"}",
"ontologySkills": [
{
"uid": "1045317701570953216",
"parentSkillUid": null,
"prefLabel": "Travel & Hospitality",
"prettyName": "Travel & Hospitality",
"freeText": null,
"highlighted": false
},
{
"uid": "1052162208978227208",
"parentSkillUid": null,
"prefLabel": "Facebook",
"prettyName": "Facebook",
"freeText": null,
"highlighted": false
},
{
"uid": "1052162208978227206",
"parentSkillUid": null,
"prefLabel": "Instagram",
"prettyName": "Instagram",
"freeText": null,
"highlighted": false
},
{
"uid": "1204836476859301888",
"parentSkillUid": null,
"prefLabel": "Social Media Content Creation",
"prettyName": "Social Media Content Creation",
"freeText": null,
"highlighted": false
},
{
"uid": "1031626781101637632",
"parentSkillUid": null,
"prefLabel": "Social Media Management",
"prettyName": "Social Media Management",
"freeText": null,
"highlighted": false
}
],
"isSTSVectorSearchResult": false,
"connectPrice": 8,
"applied": false,
"upworkHistoryData": {
"client": {
"paymentVerificationStatus": null,
"country": "Seychelles",
"totalReviews": 0,
"totalFeedback": 0,
"hasFinancialPrivacy": false,
"totalSpent": null
},
"freelancerClientRelation": {
"lastContractRid": null,
"companyName": null,
"lastContractTitle": null
}
},
"jobTile": {
"job": {
"id": "1936702637394960044",
"ciphertext": "~021936702637394960044",
"jobType": "FIXED",
"weeklyRetainerBudget": null,
"hourlyBudgetMax": null,
"hourlyBudgetMin": null,
"hourlyEngagementType": null,
"contractorTier": "IntermediateLevel",
"sourcingTimestamp": null,
"createTime": "2025-06-22T08:27:45.795Z",
"publishTime": "2025-06-22T08:27:46.991Z",
"enterpriseJob": false,
"personsToHire": 1,
"premium": false,
"totalApplicants": 20,
"hourlyEngagementDuration": null,
"fixedPriceAmount": {
"isoCurrencyCode": null,
"amount": "300.0"
},
"fixedPriceEngagementDuration": {
"id": "474250516458926082",
"rid": 3,
"label": "1 to 3 months",
"weeks": 9,
"ctime": "2014-06-04T17:59:10.123Z",
"mtime": "2014-06-04T17:59:10.123Z"
}
}
}
}
}

Field Explanations

Job Opening Details

FieldTypeDescriptionExample/Notes
opening.job.statusStringCurrent status of the job postingACTIVE, CLOSED, etc.
opening.job.postedOnStringWhen the job was originally postedISO 8601 format
opening.job.publishTimeStringWhen the job was publishedISO 8601 format
opening.job.descriptionStringFull job description including requirements and responsibilitiesHTML/text content
opening.job.contractorTierStringExperience level requiredINTERMEDIATE, EXPERT, etc.
opening.job.workloadStringExpected workloadFULL_TIME, PART_TIME, etc.
opening.job.info.titleStringJob titlePlain text
opening.job.info.ciphertextStringEncoded job identifierUsed in URLs
opening.job.info.typeStringJob typeFIXED, HOURLY
opening.job.budget.amountNumberBudget amountCurrency specified in budget.currencyCode
opening.job.budget.currencyCodeStringCurrency codeUSD, EUR, etc.
opening.job.engagementDuration.weeksNumberExpected project duration in weeks
opening.job.engagementDuration.labelStringHuman-readable duratione.g., "1 to 3 months"
opening.job.clientActivity.totalApplicantsNumberTotal number of applicants
opening.job.clientActivity.totalHiredNumberNumber of candidates hired
opening.job.clientActivity.lastBuyerActivityStringTimestamp of last buyer activityISO 8601 format

Skills & Categories

FieldTypeDescriptionExample/Notes
opening.job.sandsData.occupation.prefLabelStringMain job categorye.g., "Social Media Marketing"
opening.job.sandsData.occupation.ontologyIdStringInternal category ID
opening.job.sandsData.ontologySkills[]ArrayIndustry/topical skillsArray of skill objects
opening.job.sandsData.additionalSkills[]ArraySpecific skills/toolsArray of skill objects
opening.job.category.nameStringJob categorye.g., "Digital Marketing"
opening.job.categoryGroup.nameStringCategory groupe.g., "Sales & Marketing"

Client/Buyer Information

FieldTypeDescriptionExample/Notes
buyer.info.location.countryStringClient's country
buyer.info.location.countryTimezoneStringClient's timezone
buyer.info.stats.totalAssignmentsNumberTotal jobs posted by client
buyer.info.stats.hoursCountNumberTotal hours worked by client
buyer.info.stats.feedbackCountNumberNumber of feedback entries
buyer.info.stats.scoreNumberClient's rating score
buyer.info.company.profile.industryStringClient's industry
buyer.info.company.profile.sizeNumberCompany size
buyer.info.jobs.openCountNumberCurrently open jobs
buyer.info.jobs.postedCountNumberTotal jobs posted
buyer.info.jobs.openJobs[]ArrayList of client's other open jobsArray of job objects

Application & Engagement

FieldTypeDescriptionExample/Notes
currentUserInfo.freelancerInfo.profileStateStringCurrent user's application statee.g., "AUTO_ACCEPTED"
currentUserInfo.freelancerInfo.hourlyRate.amountNumberUser's hourly rate
currentUserInfo.freelancerInfo.qualificationsMatches.matches[]ArrayHow user matches job requirementsArray of qualification objects
applicationContext.freelancerAllowedBooleanIf current user can apply
applicationContext.clientAllowedBooleanIf current user can manage the job

Job Metadata

FieldTypeDescriptionExample/Notes
basicInfo.idStringUnique job ID
basicInfo.titleStringJob title
basicInfo.descriptionStringFull job description
basicInfo.connectPriceNumberCost to apply (in Connects)
basicInfo.ontologySkills[]ArraySkills associated with the jobArray of skill objects
basicInfo.jobTile.job.jobTypeStringType of jobFIXED, HOURLY
basicInfo.jobTile.job.totalApplicantsNumberNumber of applicants
basicInfo.jobTile.job.fixedPriceAmount.amountStringFixed price amountIf job type is FIXED
basicInfo.jobTile.job.hourlyBudgetMinNumberMinimum hourly rateIf job type is HOURLY
basicInfo.jobTile.job.hourlyBudgetMaxNumberMaximum hourly rateIf job type is HOURLY
basicInfo.jobTile.job.contractorTierStringRequired experience level

Support

Additional Services