1import { ApifyClient } from 'apify-client';
2
3
4
5const client = new ApifyClient({
6 token: '<YOUR_API_TOKEN>',
7});
8
9
10const input = {
11 "limit": 10,
12 "fromDate": "2025-01-01",
13 "toDate": "2025-12-31",
14 "jobCategories": [
15 "UI/UX Design",
16 "Product Design",
17 "Web Development"
18 ],
19 "includeKeywords.keywords": [],
20 "includeKeywords.matchTitle": true,
21 "includeKeywords.matchDescription": true,
22 "includeKeywords.matchSkills": true,
23 "excludeKeywords.keywords": [],
24 "excludeKeywords.matchTitle": true,
25 "excludeKeywords.matchDescription": true,
26 "excludeKeywords.matchSkills": true,
27 "budget.allowUnspecifiedBudget": false,
28 "budget.hourlyRate.min": "5",
29 "budget.hourlyRate.max": "150",
30 "budget.avgHourlyRate.min": "5",
31 "budget.avgHourlyRate.max": "150",
32 "budget.fixedPrice.min": "50",
33 "budget.fixedPrice.max": "10000",
34 "budget.connectsPrice.min": 1,
35 "budget.connectsPrice.max": 10,
36 "budget.jobDurations": [
37 "UNSPECIFIED",
38 "UP_TO_ONE_MONTH",
39 "UP_TO_THREE_MONTHS",
40 "UP_TO_SIX_MONTHS",
41 "MORE_THAN_SIX_MONTHS"
42 ],
43 "budget.hourlyWorkloads": [
44 "UNSPECIFIED",
45 "LESS_THAN_30_HOURS",
46 "MORE_THAN_30_HOURS"
47 ],
48 "budget.noAvgHourlyRatePaid": false,
49 "budget.noHireRate": false,
50 "budget.onlyContractToHire": false,
51 "budget.minClientHireRate": 0,
52 "client.companySizeRange": [
53 "UNSPECIFIED",
54 "SOLO_ENTERPRENEUR",
55 "UP_TO_10_EMPLOYEES",
56 "UP_TO_100_EMPOLOYEES",
57 "UP_TO_500_EMPLOYEES",
58 "UP_TO_1K_EMPLOYEES",
59 "MORE_THAN_1K_EMPLOYEES"
60 ],
61 "client.descriptionLanguage.exclude": [],
62 "client.descriptionLanguage.include": [],
63 "client.hireHistory": [
64 "NONE",
65 "UP_TO",
66 "MORE_THAN"
67 ]
68};
69
70
71const run = await client.actor("upwork-vibe/upwork-scraper").call(input);
72
73
74console.log('Results from dataset');
75console.log(`πΎ Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
76const { items } = await client.dataset(run.defaultDatasetId).listItems();
77items.forEach((item) => {
78 console.dir(item);
79});
80
81