Apify Task Usage Reporter avatar
Apify Task Usage Reporter

Pricing

Pay per usage

Go to Store
Apify Task Usage Reporter

Apify Task Usage Reporter

Developed by

Vít Tuhý

Vít Tuhý

Maintained by Apify

This actor scans your Apify account and provides a detailed summary of your platform usage and costs, broken down by task. It helps you understand which tasks consume the most resources over a specific period.

0.0 (0)

Pricing

Pay per usage

0

Total users

2

Monthly users

2

Runs succeeded

>99%

Last modified

4 days ago

Usage by Tasks Actor

This actor scans your Apify account and provides a detailed summary of your platform usage and costs, broken down by task. It helps you understand which tasks are consuming the most resources over a specific period.

🚀 Key Features

  • Comprehensive Analysis: Fetches all tasks and their historical runs with efficient pagination
  • Cost Tracking: Focuses on runs with actual USD costs (usageTotalUsd > 0)
  • Dual Reports: Always generates both aggregated and daily breakdown reports
  • High Performance: Optimized with 1000-run batches and direct usage data access
  • Progress Tracking: Real-time progress updates with detailed batch logging
  • Duplicate Prevention: Tracks individual runs to prevent reprocessing

📊 Functionality

Data Processing Flow

  1. Task Discovery: Fetches all tasks using paginated API calls
  2. Run Analysis: For each task, retrieves all historical runs in 1000-run batches
  3. Date Filtering: Filters runs by specified date range (UTC)
  4. Cost Filtering: Only includes runs with usageTotalUsd > 0
  5. Data Aggregation: Groups results by task and date
  6. Report Generation: Creates both aggregated and daily breakdowns

Report Types

Aggregated Report (summary.csv):

  • Groups all runs by task across the entire date range
  • Shows total run count and USD cost per task
  • Sorted by total cost (highest first)

Daily Report (summary_daily.csv):

  • Breaks down usage by task and individual day
  • Shows daily run count and USD cost
  • Sorted chronologically by date

📝 Input Configuration

The actor takes its input from the Apify platform UI or API:

FieldTypeDescriptionRequiredDefault
startDateDateThe beginning of the date range (YYYY-MM-DD). Interpreted in UTC.Yes-
endDateDateThe end of the date range (YYYY-MM-DD). If empty, defaults to the current date. Interpreted in UTC.NoCurrent date
reportTypeSelectChoose the format for the data saved to the Dataset: "Summarized" (default) or "Day by Day".No"Summarized"

Note: Date fields are interpreted in UTC timezone. This may differ from times displayed in the Apify Console.

📤 Output

Console Logs

  • Progress Indicators: ✅ for success/info, ❌ for errors
  • Run Details: Each qualifying run logged with date, status, and cost
  • Summary Tables: Final aggregated and daily breakdowns

Key-Value Store (Storage > Key-value store)

  • summary.csv: Aggregated summary by task (always generated)
  • summary_daily.csv: Day-by-day breakdown by task (always generated)

Dataset (Output tab or Storage > Dataset)

Format depends on "Dataset Report Type" selection:

  • "Summarized": Aggregated data by task
  • "Day by Day": Daily breakdown by task

💡 Example Output

Console Log Example

✅ Starting new processing run 🚀
✅ Fetching all tasks (starting from offset 0)...
✅ Found 1500 tasks.
✅ Processing task: My Web Scraper (abc123) [Actor: Web Scraper (xyz789)]
✅ Filtering runs by date range: 2024-07-01 to 2024-07-31 📅
✅ Run batch saved for task My Web Scraper: 1000 runs fetched 📊
✅ Fetched 2500 runs for task My Web Scraper within date range
✅ Runs processed for task My Web Scraper: 15 qualifying runs 📊
✅ ➤ Run 2xMPaRmWfByTrc5yZ | 17 Jun 2024, 18:21:37 CEST | SUCCEEDED | USD: $0.0009
✅ Task completed: My Web Scraper (abc123) - 15 qualifying runs, $0.0234 total 📊
✅ Usage Summary (Aggregated):
┌─────────────┬─────────────┬─────────────┬─────────────┬───────────┬───────────┐
│ Actor Name │ Actor ID │ Task Name │ Task ID │ Run Count │ Total $ │
├─────────────┼─────────────┼─────────────┼─────────────┼───────────┼───────────┤
│ Web Scraper │ xyz789 │ My Scraper │ abc123 │ 15 │ $0.0234 │
└─────────────┴─────────────┴─────────────┴─────────────┴───────────┴───────────┘
✅ Aggregated summary has been saved to KVS as summary.csv 📥
✅ Daily summary has been saved to KVS as summary_daily.csv 📥
✅ Processing completed successfully! 🎉

CSV Output Examples

summary.csv (Aggregated):

Date Range (From):,2024-07-01
Date Range (To):,2024-07-31
Actor Name,Actor ID,Task Name,Task ID,Run Count,Total $
Web Scraper,xyz789,My Scraper,abc123,15,$0.0234

summary_daily.csv (Daily):

Date Range (From):,2024-07-01
Date Range (To):,2024-07-31
Day,Actor Name,Actor ID,Task Name,Task ID,Run Count,Total $
2024-07-15,Web Scraper,xyz789,My Scraper,abc123,8,$0.0123
2024-07-16,Web Scraper,xyz789,My Scraper,abc123,7,$0.0111

⚠️ Important Notes

Performance Considerations

  • Large Accounts: Processing time scales with number of tasks and runs
  • API Limits: Uses efficient pagination to handle large datasets
  • Memory Usage: Optimized for minimal memory footprint with batch processing
  • Timeout Settings: Critical for accounts with extensive history or large amount of runs
  • Batch Processing: 1000-run batches for optimal performance

Data Limitations

  • Retention Policy: Historical data availability depends on subscription plan
  • API Access: Requires valid Apify API token (auto-detected)
  • Cost Filtering: Only includes runs with actual USD costs
  • Date Precision: Uses UTC date comparison (date-only, not time)

Technical Details

  • Pagination: Handles unlimited tasks and runs efficiently
  • Error Recovery: Graceful handling of API failures and timeouts
  • Memory Management: Efficient data structures for large datasets
  • Duplicate Prevention: Individual run tracking prevents data loss

For more information, see the Apify documentation.