1import { ApifyClient } from 'apify-client';
2
3
4
5const client = new ApifyClient({
6 token: '<YOUR_API_TOKEN>',
7});
8
9
10const input = {
11 "requests": [],
12 "rateLimitConfig": {
13 "requestsPerSecond": 10,
14 "requestsPerMinute": 60,
15 "requestsPerHour": 1000,
16 "concurrentRequests": 5,
17 "algorithm": "token-bucket"
18 },
19 "retryConfig": {
20 "maxRetries": 3,
21 "initialDelayMs": 1000,
22 "maxDelayMs": 30000,
23 "backoffMultiplier": 2,
24 "retryOn429": true,
25 "retryOn5xx": true,
26 "retryOnTimeout": true
27 },
28 "batchConfig": {
29 "enabled": false,
30 "batchSize": 100,
31 "batchDelayMs": 500
32 },
33 "trackingConfig": {
34 "enabled": true,
35 "logSuccesses": true,
36 "logFailures": true,
37 "saveResponses": false,
38 "calculateStats": true
39 },
40 "apiPreset": "custom"
41};
42
43
44const run = await client.actor("fiery_dream/api-rate-limit-orchestrator").call(input);
45
46
47console.log('Results from dataset');
48console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
49const { items } = await client.dataset(run.defaultDatasetId).listItems();
50items.forEach((item) => {
51 console.dir(item);
52});
53
54