Upwork Job Scraper avatar
Upwork Job Scraper

Pricing

$10.00/month + usage

Go to Store
Upwork Job Scraper

Upwork Job Scraper

Developed by

Caleb Welsh

Caleb Welsh

Maintained by Community

Automates Upwork job searches with advanced filters, secure login, and detailed data extraction. For issues be sure to provide detailed logs (set log level to DEBUG)

0.0 (0)

Pricing

$10.00/month + usage

0

Total users

3

Monthly users

3

Runs succeeded

>99%

Last modified

4 days ago

You can access the Upwork Job Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.

{
"openapi": "3.0.1",
"info": {
"version": "0.0",
"x-build-id": "4MXd7RiHS7PQJ4Bj7"
},
"servers": [
{
"url": "https://api.apify.com/v2"
}
],
"paths": {
"/acts/hongkongph00ie~upwork-job-scraper/run-sync-get-dataset-items": {
"post": {
"operationId": "run-sync-get-dataset-items-hongkongph00ie-upwork-job-scraper",
"x-openai-isConsequential": false,
"summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
"tags": [
"Run Actor"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/inputSchema"
}
}
}
},
"parameters": [
{
"name": "token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Enter your Apify token here"
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/acts/hongkongph00ie~upwork-job-scraper/runs": {
"post": {
"operationId": "runs-sync-hongkongph00ie-upwork-job-scraper",
"x-openai-isConsequential": false,
"summary": "Executes an Actor and returns information about the initiated run in response.",
"tags": [
"Run Actor"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/inputSchema"
}
}
}
},
"parameters": [
{
"name": "token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Enter your Apify token here"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/runsResponseSchema"
}
}
}
}
}
}
},
"/acts/hongkongph00ie~upwork-job-scraper/run-sync": {
"post": {
"operationId": "run-sync-hongkongph00ie-upwork-job-scraper",
"x-openai-isConsequential": false,
"summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
"tags": [
"Run Actor"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/inputSchema"
}
}
}
},
"parameters": [
{
"name": "token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Enter your Apify token here"
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
}
},
"components": {
"schemas": {
"inputSchema": {
"type": "object",
"properties": {
"query": {
"title": "πŸ” Search Query",
"type": "string",
"description": "The primary search term for jobs (e.g., 'Workflow Automation')."
},
"limit": {
"title": "♾️ Limit",
"type": "integer",
"description": "Maximum number of jobs to fetch.",
"default": 50
},
"sort": {
"title": "πŸ”ƒ Sort By",
"enum": [
"relevance",
"newest",
"client_spend",
"client_rating"
],
"type": "string",
"description": "The sorting order for the search results.",
"default": "relevance"
},
"username": {
"title": "🧍 Username",
"type": "string",
"description": "Your Upwork username."
},
"password": {
"title": "🀐 Password",
"type": "string",
"description": "Your Upwork password."
},
"payment_verified": {
"title": "πŸ’³ Payment Verified",
"type": "boolean",
"description": "Filter for clients with a verified payment method.",
"default": false
},
"previous_clients": {
"title": "πŸ‘₯ Previous Clients",
"type": "boolean",
"description": "Filter for jobs from your previous clients.",
"default": false
},
"proposal_min": {
"title": "⬇️ Minimum Number of Proposals",
"type": "integer",
"description": "The minimum number of proposals for a job.",
"default": 0
},
"proposal_max": {
"title": "⬆️ Maximum Number of Proposals",
"type": "integer",
"description": "The maximum number of proposals for a job.",
"default": 0
},
"search_any": {
"title": "πŸ”Ž Any of These Words",
"type": "string",
"description": "A space-separated list of keywords. The job must contain at least one of these words."
},
"search_exact": {
"title": "πŸ”Exact Phrase",
"type": "string",
"description": "The exact phrase that must be found in the job posting."
},
"search_none": {
"title": "πŸ”Ž None of These Words",
"type": "string",
"description": "A space-separated list of words to exclude from the search."
},
"search_title": {
"title": "πŸ” Search in Title Only",
"type": "string",
"description": "Keywords that must appear in the job title."
},
"category": {
"title": "πŸ“‚ Category",
"type": "array",
"description": "Select one or more categories.",
"items": {
"type": "string",
"enum": [
"accounting & consulting",
"personal & professional coaching",
"accounting & bookkeeping",
"financial planning",
"recruiting & human resources",
"management consulting & analysis",
"other - accounting & consulting",
"admin support",
"data entry & transcription services",
"virtual assistance",
"project management",
"market research & product reviews",
"customer service",
"community management & tagging",
"customer service & tech support",
"data science & analytics",
"data analysis & testing",
"data extraction & etl",
"data mining & management",
"ai & machine learning",
"design & creative",
"art & illustration",
"audio & music production",
"branding & logo design",
"nft, ar/vr & game art",
"graphic, editorial & presentation design",
"performing arts",
"photography",
"product design",
"video & animation",
"engineering & architecture",
"building & landscape architecture",
"chemical engineering",
"civil & structural engineering",
"contract manufacturing",
"electrical & electronic engineering",
"interior & trade show design",
"energy & mechanical engineering",
"physical sciences",
"3d modeling & cad",
"it & networking",
"database management & administration",
"erp & crm software",
"information security & compliance",
"network & system administration",
"devops & solution architecture",
"legal",
"corporate & contract law",
"international & immigration law",
"finance & tax law",
"public law",
"sales & marketing",
"digital marketing",
"lead generation & telemarketing",
"marketing, pr & brand strategy",
"translation",
"language tutoring & interpretation",
"translation & localization services",
"web, mobile & software dev",
"blockchain, nft & cryptocurrency",
"ai apps and integration",
"desktop application development",
"ecommerce development",
"game design & development",
"mobile development",
"other - software development",
"product management",
"qa & testing",
"scripts & utilities",
"web & mobile design",
"web development",
"writing",
"sales & marketing copywriting",
"content writing",
"editing & proofreading services",
"professional & business writing"
],
"enumTitles": [
"πŸ“‚ Accounting & Consulting",
"πŸ”΅ Personal & Professional Coaching",
"πŸ”΅ Accounting & Bookkeeping",
"πŸ”΅ Financial Planning",
"πŸ”΅ Recruiting & Human Resources",
"πŸ”΅ Management Consulting & Analysis",
"πŸ”΅ Other - Accounting & Consulting",
"πŸ“‚ Admin Support",
"πŸ”΅ Data Entry & Transcription Services",
"πŸ”΅ Virtual Assistance",
"πŸ”΅ Project Management",
"πŸ”΅ Market Research & Product Reviews",
"πŸ“‚ Customer Service",
"πŸ”΅ Community Management & Tagging",
"πŸ”΅ Customer Service & Tech Support",
"πŸ“‚ Data Science & Analytics",
"πŸ”΅ Data Analysis & Testing",
"πŸ”΅ Data Extraction & ETL",
"πŸ”΅ Data Mining & Management",
"πŸ”΅ AI & Machine Learning",
"πŸ“‚ Design & Creative",
"πŸ”΅ Art & Illustration",
"πŸ”΅ Audio & Music Production",
"πŸ”΅ Branding & Logo Design",
"πŸ”΅ NFT, AR/VR & Game Art",
"πŸ”΅ Graphic, Editorial & Presentation Design",
"πŸ”΅ Performing Arts",
"πŸ”΅ Photography",
"πŸ”΅ Product Design",
"πŸ”΅ Video & Animation",
"πŸ“‚ Engineering & Architecture",
"πŸ”΅ Building & Landscape Architecture",
"πŸ”΅ Chemical Engineering",
"πŸ”΅ Civil & Structural Engineering",
"πŸ”΅ Contract Manufacturing",
"πŸ”΅ Electrical & Electronic Engineering",
"πŸ”΅ Interior & Trade Show Design",
"πŸ”΅ Energy & Mechanical Engineering",
"πŸ”΅ Physical Sciences",
"πŸ”΅ 3D Modeling & CAD",
"πŸ“‚ IT & Networking",
"πŸ”΅ Database Management & Administration",
"πŸ”΅ ERP & CRM Software",
"πŸ”΅ Information Security & Compliance",
"πŸ”΅ Network & System Administration",
"πŸ”΅ Devops & Solution Architecture",
"πŸ“‚ Legal",
"πŸ”΅ Corporate & Contract Law",
"πŸ”΅ International & Immigration Law",
"πŸ”΅ Finance & Tax Law",
"πŸ”΅ Public Law",
"πŸ“‚ Sales & Marketing",
"πŸ”΅ Digital Marketing",
"πŸ”΅ Lead Generation & Telemarketing",
"πŸ”΅ Marketing, PR & Brand Strategy",
"πŸ“‚ Translation",
"πŸ”΅ Language Tutoring & Interpretation",
"πŸ”΅ Translation & Localization Services",
"πŸ“‚ Web, Mobile & Software Dev",
"πŸ”΅ Blockchain, NFT & Cryptocurrency",
"πŸ”΅ AI Apps and Integration",
"πŸ”΅ Desktop Application Development",
"πŸ”΅ Ecommerce Development",
"πŸ”΅ Game Design & Development",
"πŸ”΅ Mobile Development",
"πŸ”΅ Other - Software Development",
"πŸ”΅ Product Management",
"πŸ”΅ QA & Testing",
"πŸ”΅ Scripts & Utilities",
"πŸ”΅ Web & Mobile Design",
"πŸ”΅ Web Development",
"πŸ“‚ Writing",
"πŸ”΅ Sales & Marketing Copywriting",
"πŸ”΅ Content Writing",
"πŸ”΅ Editing & Proofreading Services",
"πŸ”΅ Professional & Business Writing"
]
},
"default": []
},
"expertise_level_number": {
"title": "🎚️ Expertise Level",
"type": "array",
"description": "Select one or more desired expertise levels.",
"items": {
"type": "string",
"enum": [
"1",
"2",
"3"
],
"enumTitles": [
"🟒 Entry Level",
"🟑 Intermediate",
"πŸ”΄ Expert"
]
},
"default": []
},
"fixed": {
"title": "πŸ’Έ Fixed-Price Jobs",
"type": "boolean",
"description": "Include fixed-price jobs in the search.",
"default": false
},
"fixed_min": {
"title": "⬇️ Minimum Fixed Price",
"type": "integer",
"description": "The minimum budget for fixed-price jobs.",
"default": 0
},
"fixed_max": {
"title": "⬆️ Maximum Fixed Price",
"type": "integer",
"description": "The maximum budget for fixed-price jobs.",
"default": 0
},
"fixed_price_catagory_num": {
"title": "πŸ’² Fixed-Price Categories",
"type": "array",
"description": "Numeric codes for fixed-price job categories.",
"items": {
"type": "string",
"enum": [
"1",
"2",
"3",
"4",
"5"
],
"enumTitles": [
"0-99",
"100-499",
"500-999",
"1000-4999",
"5000-"
]
},
"default": []
},
"hourly": {
"title": "πŸͺ™ Hourly Jobs",
"type": "boolean",
"description": "Include hourly jobs in the search.",
"default": false
},
"hourly_min": {
"title": "⬇️ Minimum Hourly Rate",
"type": "integer",
"description": "The minimum hourly rate.",
"default": 0
},
"hourly_max": {
"title": "⬆️ Maximum Hourly Rate",
"type": "integer",
"description": "The maximum hourly rate.",
"default": 0
},
"hires_min": {
"title": "⬇️ Minimum Hires",
"type": "integer",
"description": "The minimum number of previous hires for a client.",
"default": 0
},
"hires_max": {
"title": "⬆️ Maximum Hires",
"type": "integer",
"description": "The maximum number of previous hires for a client.",
"default": 0
},
"contract_to_hire": {
"title": "🀝 Contract-to-Hire",
"type": "boolean",
"description": "Filter for contract-to-hire opportunities.",
"default": false
},
"workload": {
"title": "πŸ’Ό Workload",
"type": "array",
"description": "Select the desired workload.",
"items": {
"type": "string",
"enum": [
"part_time",
"full_time"
],
"enumTitles": [
"Less than 30 hrs/week",
"More than 30 hrs/week"
]
},
"default": []
},
"projectDuration": {
"title": "πŸ• Job Duration",
"type": "array",
"description": "Select the desired job duration.",
"items": {
"type": "string",
"enum": [
"week",
"month",
"semester",
"ongoing"
],
"enumTitles": [
"Less than one month",
"1 to 3 months",
"3 to 6 months",
"More than 6 months"
]
},
"default": []
},
"log_level": {
"title": "🎚️ Log Level",
"enum": [
"INFO",
"DEBUG",
"WARNING",
"ERROR"
],
"type": "string",
"description": "Select the desired log level.",
"default": "INFO"
}
}
},
"runsResponseSchema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"actId": {
"type": "string"
},
"userId": {
"type": "string"
},
"startedAt": {
"type": "string",
"format": "date-time",
"example": "2025-01-08T00:00:00.000Z"
},
"finishedAt": {
"type": "string",
"format": "date-time",
"example": "2025-01-08T00:00:00.000Z"
},
"status": {
"type": "string",
"example": "READY"
},
"meta": {
"type": "object",
"properties": {
"origin": {
"type": "string",
"example": "API"
},
"userAgent": {
"type": "string"
}
}
},
"stats": {
"type": "object",
"properties": {
"inputBodyLen": {
"type": "integer",
"example": 2000
},
"rebootCount": {
"type": "integer",
"example": 0
},
"restartCount": {
"type": "integer",
"example": 0
},
"resurrectCount": {
"type": "integer",
"example": 0
},
"computeUnits": {
"type": "integer",
"example": 0
}
}
},
"options": {
"type": "object",
"properties": {
"build": {
"type": "string",
"example": "latest"
},
"timeoutSecs": {
"type": "integer",
"example": 300
},
"memoryMbytes": {
"type": "integer",
"example": 1024
},
"diskMbytes": {
"type": "integer",
"example": 2048
}
}
},
"buildId": {
"type": "string"
},
"defaultKeyValueStoreId": {
"type": "string"
},
"defaultDatasetId": {
"type": "string"
},
"defaultRequestQueueId": {
"type": "string"
},
"buildNumber": {
"type": "string",
"example": "1.0.0"
},
"containerUrl": {
"type": "string"
},
"usage": {
"type": "object",
"properties": {
"ACTOR_COMPUTE_UNITS": {
"type": "integer",
"example": 0
},
"DATASET_READS": {
"type": "integer",
"example": 0
},
"DATASET_WRITES": {
"type": "integer",
"example": 0
},
"KEY_VALUE_STORE_READS": {
"type": "integer",
"example": 0
},
"KEY_VALUE_STORE_WRITES": {
"type": "integer",
"example": 1
},
"KEY_VALUE_STORE_LISTS": {
"type": "integer",
"example": 0
},
"REQUEST_QUEUE_READS": {
"type": "integer",
"example": 0
},
"REQUEST_QUEUE_WRITES": {
"type": "integer",
"example": 0
},
"DATA_TRANSFER_INTERNAL_GBYTES": {
"type": "integer",
"example": 0
},
"DATA_TRANSFER_EXTERNAL_GBYTES": {
"type": "integer",
"example": 0
},
"PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
"type": "integer",
"example": 0
},
"PROXY_SERPS": {
"type": "integer",
"example": 0
}
}
},
"usageTotalUsd": {
"type": "number",
"example": 0.00005
},
"usageUsd": {
"type": "object",
"properties": {
"ACTOR_COMPUTE_UNITS": {
"type": "integer",
"example": 0
},
"DATASET_READS": {
"type": "integer",
"example": 0
},
"DATASET_WRITES": {
"type": "integer",
"example": 0
},
"KEY_VALUE_STORE_READS": {
"type": "integer",
"example": 0
},
"KEY_VALUE_STORE_WRITES": {
"type": "number",
"example": 0.00005
},
"KEY_VALUE_STORE_LISTS": {
"type": "integer",
"example": 0
},
"REQUEST_QUEUE_READS": {
"type": "integer",
"example": 0
},
"REQUEST_QUEUE_WRITES": {
"type": "integer",
"example": 0
},
"DATA_TRANSFER_INTERNAL_GBYTES": {
"type": "integer",
"example": 0
},
"DATA_TRANSFER_EXTERNAL_GBYTES": {
"type": "integer",
"example": 0
},
"PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
"type": "integer",
"example": 0
},
"PROXY_SERPS": {
"type": "integer",
"example": 0
}
}
}
}
}
}
}
}
}
}

Upwork Job Scraper OpenAPI definition

OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.

OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.

By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.

You can download the OpenAPI definitions for Upwork Job Scraper from the options below:

If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.

You can also check out our other API clients: