{
  "data": {
    "id": "XYTgO05GT5qAoSlxy",
    "userId": "g3SAdqRzjKzKDoKX7",
    "name": "upwork-job-scraper",
    "username": "neatrat",
    "description": "Scrape Upwork jobs without limits 🌟 Bypass CAPTCHAs & apply custom filters.\n\nApify is retiring rental Actors, so pricing is changing. For many users around ~7k jobs/month, cost should stay near the old $25. You still get the same no-cookie setup, with in-house Upwork accounts and proxies built in.",
    "isPublic": true,
    "createdAt": "2025-03-23T13:28:40.657Z",
    "modifiedAt": "2026-07-19T00:20:06.843Z",
    "taggedBuilds": {
      "latest": {
        "buildId": "lLkOTJ7lmkTB5EpbR",
        "finishedAt": "2026-07-19T00:20:06.843Z",
        "buildNumberInt": 85,
        "buildNumber": "0.0.85"
      }
    },
    "stats": {
      "totalBuilds": 85,
      "totalRuns": 2181145,
      "totalUsers": 6337,
      "totalUsers7Days": 254,
      "totalUsers30Days": 604,
      "totalUsers90Days": 1504,
      "lastRunStartedAt": "2026-09-01T16:52:36.428Z",
      "publicActorRunStats30Days": {
        "ABORTED": 201,
        "FAILED": 423,
        "SUCCEEDED": 214533,
        "TIMED-OUT": 980,
        "TOTAL": 216137
      },
      "actorReviewCount": 33,
      "actorReviewRating": 4.630080619587824,
      "bookmarkCount": 141
    },
    "versions": [
      {
        "versionNumber": "0.0",
        "sourceType": "SOURCE_FILES",
        "buildTag": "latest"
      }
    ],
    "defaultRunOptions": {
      "build": "latest",
      "timeoutSecs": 3600,
      "memoryMbytes": 256,
      "maxItems": null,
      "maxTotalChargeUsd": null
    },
    "exampleRunInput": {
      "body": "{ \"helloWorld\": 123 }",
      "contentType": "application/json; charset=utf-8"
    },
    "categories": [
      "AUTOMATION",
      "LEAD_GENERATION",
      "JOBS"
    ],
    "isDeprecated": false,
    "title": "Upwork Job Scraper",
    "pictureUrl": "https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/g3SAdqRzjKzKDoKX7-actor-XYTgO05GT5qAoSlxy-DwuvzJmdic-IYJzrNEnYxa3QaocC-download.png",
    "seoTitle": null,
    "seoDescription": null,
    "pricingInfos": [
      {
        "pricingModel": "FLAT_PRICE_PER_MONTH",
        "pricePerUnitUsd": 25,
        "trialMinutes": 120,
        "createdAt": "2025-03-23T14:10:16.365Z",
        "startedAt": "2025-03-23T14:10:16.365Z",
        "apifyMarginPercentage": 0.2,
        "notifiedAboutChangeAt": "2025-03-23T14:35:20.443Z"
      },
      {
        "minimalMaxTotalChargeUsd": null,
        "isPPEPlatformUsagePaidByUser": true,
        "pricingModel": "PAY_PER_EVENT",
        "isPriceChangeNotificationSuppressed": false,
        "reasonForChange": "Hey 👋 Apify is retiring rental Actors, so pricing is changing. For many users around ~7k jobs/month, cost should stay near the old $25. You still get the same no-cookie, captcha-handled setup, with in-house Upwork accounts and proxies built in.",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "apify-default-dataset-item": {
              "eventTitle": "job",
              "eventDescription": "One Upwork job returned in the results dataset.",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.0035
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.0034
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.0033
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.0032
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.0032
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.0032
                }
              },
              "isPrimaryEvent": true
            }
          }
        },
        "startedAt": "2026-03-24T11:39:20.213Z",
        "createdAt": "2026-03-10T11:39:20.800Z",
        "apifyMarginPercentage": 0.2,
        "notifiedAboutFutureChangeAt": "2026-03-10T11:39:45.786Z"
      },
      {
        "minimalMaxTotalChargeUsd": null,
        "isPPEPlatformUsagePaidByUser": true,
        "pricingModel": "PAY_PER_EVENT",
        "isPriceChangeNotificationSuppressed": false,
        "reasonForChange": "The per-job price stays the same. You'll continue getting the most reliable Upwork scraper, with in-house cookies & proxies, and CAPTCHA handling included. We're simply aligning billing with the minimum run usage already outlined in the readme.",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "apify-default-dataset-item": {
              "eventTitle": "job",
              "eventDescription": "One Upwork job returned in the results dataset.",
              "isOneTimeEvent": false,
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.0035
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.0034
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.0033
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.0032
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.0032
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.0032
                }
              },
              "isPrimaryEvent": true
            },
            "job": {
              "eventTitle": "job",
              "eventDescription": "One Upwork job returned in the results dataset.",
              "isOneTimeEvent": false,
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.0035
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.0034
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.0033
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.0032
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.0032
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.0032
                }
              }
            }
          }
        },
        "startedAt": "2026-07-18T23:31:25.778Z",
        "createdAt": "2026-07-04T23:31:26.405Z",
        "apifyMarginPercentage": 0.2,
        "notifiedAboutFutureChangeAt": "2026-07-04T23:32:03.751Z",
        "notifiedAboutChangeAt": "2026-07-18T23:35:34.954Z"
      }
    ],
    "notice": "NONE",
    "isCritical": false,
    "isGeneric": false,
    "hasNoDataset": false,
    "isSourceCodeHidden": true,
    "standbyUrl": null,
    "actorPermissionLevel": "LIMITED_PERMISSIONS",
    "readmeSummary": "## Upwork Job Listings Scraper\n\nA scraper for extracting authenticated Upwork job listings into structured job metadata: performs authenticated web scraping using an in‑house cookie pool, automatic proxy rotation, CAPTCHA solving and Cloudflare/protection bypass to retrieve rich job and client data; supports raw Upwork search URLs, keyword and category searches, job age constraints, location/region/country targeting, budget and job-type filtering (fixed or hourly), experience-level and client-history filtering, and advanced, case‑insensitive custom filters with operators for combining multiple conditions; outputs structured job information such as unique identifiers and listing URLs, titles and full descriptions, budget or hourly rate ranges, client statistics (spend, hires, feedback), required skills and experience level, posting timestamp, tags, contract type and engagement duration, and allowed-applicant-country data; implemented in TypeScript/Node.js for maintainability.\n\n## Use cases\n\n- Targeted job hunting for specific skills, budgets, and recency  \n- Market research to analyze demand and pricing for services  \n- Competitive analysis to track frequently requested skills in a field  \n- Opportunity alerts for new listings that match precise criteria  \n- Fresh job alerts by filtering out older postings  \n- Complex search criteria combining multiple filter conditions  \n- Freelancer tracking of niche opportunities  \n- Agency monitoring of demand in specific niches",
    "deploymentKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDrAajOL+Ltf8byq69Q7H2tNmeUyg3c15OVWp+rM3CHvNsdE2hbputhV8v+Fa3xI/cRozsFXlwUsuAh1z1Vq2YcrYoQYuATlCpThlpafxsGlEZrZIS172WCaRFVwokGixE7ek7cwGncrcEIDS9vde4H4mnuBnDULQz5R/hCTv4UE44wPC0XTQIgGxUNoBrxbdGwiB8fmMRQRKdjXTLAXrG+UeofZFrF8qBHZncwFxqNgUvCOZg/avDYV7BumgJsBeDdaCKfpVczCaQqDILLQQ1S6GCF+l6OjkyzmZewE8NLx1uIZhE7StVZNZphjKNpAMoIN9jkIJVjTJDxdjGfdj9h \n"
  }
}