{"uid":"cap_NNGAmy-nUXQr0m6-GxyHP","slug":"upwork-job-scraper-via-stableapify-9e91d9b3","name":"Upwork Job Scraper via StableApify","description":"Start the \"Upwork Job Scraper\" Apify actor (neatrat/upwork-job-scraper). Scrape Upwork jobs without limits 🌟 Bypass CAPTCHAs & apply custom filters.\n\nApify is retiring rental Actors, so pricing is changing. For many users around ~7…","url":"https://stableapify.dev/api/actors/neatrat/upwork-job-scraper/call","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"input":{"type":"object","required":["page","pagesToScrape","perPage","sort"],"properties":{"page":{"type":"integer","default":1,"maximum":9007199254740991,"minimum":1,"description":"Page number to start scraping from"},"sort":{"enum":["newest","relevance"],"type":"string","default":"newest","description":"How to sort the job listings"},"query":{"type":"string","description":"Keywords to search for in Upwork jobs"},"rawUrl":{"type":"string","description":"Directly use this Upwork search URL instead of constructing one (must be from upwork.com and include nx/search/jobs)"},"cookies":{"type":"object","description":"Cookies to use for requests (useful for bypassing Upwork's protection)","propertyNames":{"type":"string"},"additionalProperties":{}},"jobType":{"type":"array","items":{"type":"string"},"description":"Filter jobs by payment type"},"perPage":{"type":"integer","default":50,"maximum":9007199254740991,"minimum":10,"description":"Number of results to display per page"},"location":{"type":"array","items":{"type":"string"},"description":"Filter jobs by location (regions, subregions, or countries)"},"maxJobAge":{"type":"object","description":"Filter out jobs older than this time","propertyNames":{"type":"string"},"additionalProperties":{}},"clientHistory":{"type":"array","items":{"type":"string"},"description":"Filter by client hiring history"},"customFilters":{"type":"object","description":"Custom filters to apply to job results","propertyNames":{"type":"string"},"additionalProperties":{}},"pagesToScrape":{"type":"integer","default":1,"maximum":9007199254740991,"minimum":1,"description":"Number of pages to scrape sequentially starting from the specified page. Non-paying Apify users are limited to 5 total runs and 500 total results across all runs."},"experienceLevel":{"type":"array","items":{"type":"string"},"description":"Filter jobs by required experience level"},"fixedPriceRange":{"type":"array","items":{"type":"string"},"description":"Range for fixed-price jobs (min and max in USD, e.g. [100, 1000])"},"hourlyRateRange":{"type":"array","items":{"type":"string"},"description":"Range for hourly rate jobs (min and max in USD/hour, e.g. [20, 50])"},"paymentVerified":{"type":"boolean","description":"Filter jobs by payment verification status"}},"description":"Normalized actor input. See field descriptions for the simplified shape; native Apify input also accepted (passed through).","additionalProperties":{}},"options":{"type":"object","properties":{"build":{"type":"string","maxLength":100,"minLength":1},"memory":{"type":"integer","maximum":32768,"minimum":128},"maxItems":{"type":"integer","maximum":100000,"minimum":1}},"description":"Optional Apify run options.","additionalProperties":false}}},"responseSchema":null,"example":{"request":{"input":{"username":"sarptecimer","includeEmail":false},"options":{"memory":1024,"maxItems":100}},"response":{"run":{"id":"RXLo9nYdzs2VfG4WD","status":"READY","actorId":"XYTgO05GT5qAoSlxy","startedAt":"2026-06-16T17:45:11.354Z","usageTotalUsd":0.00005,"defaultDatasetId":"JUVYyLLqZDd35D9J6"},"token":"eyJhbGciOiJIUzI1NiJ9.eyJydW5JZCI6IlJYTG85bllkenMyVmZHNFdEIiwiYWN0b3JJZCI6Im5lYXRyYXQvdXB3b3JrLWpvYi1zY3JhcGVyIiwiZGVmYXVsdERhdGFzZXRJZCI6IkpVVll5TExxWkRkMzVEOUo2IiwidyI6IjB4OWNjNDJmM2Q5MjQ1Yjg2N2FjY2NkNjMwYjQzZjkwNmMxNjY1YjE3NiIsImlhdCI6MTc4MTYzMTkxMSwiZXhwIjoxNzg0MjIzOTExfQ.ag4TTU7t9KOiV3N-vZQFip1g_g382tNw11cH2COaFJA"}},"exampleRequest":{"input":{"username":"sarptecimer","includeEmail":false},"options":{"memory":1024,"maxItems":100}},"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_-Mozx_8aacVWGSebdBrOc","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Starts an Apify actor run that scrapes Upwork job listings by username or custom filters, bypassing CAPTCHAs, and returns a run ID and token to fetch results.","exampleAgentPrompt":"Scrape Upwork job listings for the user 'sarptecimer' — grab up to 200 jobs, skip emails, and use 1024 MB memory so I can analyze what kinds of gigs they're posting.","exampleUseCases":[{"title":"Competitor freelancer job analysis","prompt":"Scrape all Upwork job postings from the account 'topdevstudio' — get up to 500 listings with 2048 MB memory so I can analyze what work they're hiring for."},{"title":"Lead generation from Upwork","prompt":"Pull the latest 100 Upwork job listings from the user 'agencyhirefast', don't include emails, and use 1024 MB memory — I want to build a list of potential clients to reach out to."},{"title":"Market research on job trends","prompt":"Scrape up to 300 Upwork jobs from the account 'bigclientcorp' using 1024 MB memory so I can see what skills and budgets they're looking for right now."}],"resultDescription":"Returns a run object with a unique run ID, status (READY), actor ID, start timestamp, estimated usage in USD, and a default dataset ID, plus a signed JWT token used to fetch the scraped job results from the dataset endpoint.","failureModes":["Invalid or nonexistent Upwork username returns empty dataset","Insufficient memory setting causes actor run to fail or time out","CAPTCHA or anti-bot measures updated on Upwork may temporarily break scraping","maxItems too high combined with low memory causes out-of-memory errors","Invalid token or payment failure returns 402 or 401 error","Actor run starts (READY status) but may still fail during execution — check status before fetching results"],"whenToPreferThis":"Choose this endpoint when you need to programmatically extract Upwork job listings at scale without being blocked by CAPTCHAs, especially when targeting a specific Upwork user's postings or applying custom filters. Prefer it over manual scraping or Upwork's official API (which has strict rate limits and no job-scraping support) when you need bulk data for lead generation, competitive analysis, or market research on freelance job trends.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:45:16.226Z","isFirstParty":false}