Skool classroom Content scraper
Pricing
$15.00/month + usage
Skool classroom Content scraper
Skool Classroom Content Scraper A powerful web scraper designed to extract comprehensive content from Skool Classroom courses. This scraper enables automated collection of course materials, modules, videos, and content from multiple classrooms in a single run.
Pricing
$15.00/month + usage
Rating
2.9
(4)
Developer

Shaheer khan
Actor stats
2
Bookmarked
32
Total users
9
Monthly active users
2 hours
Issues response
25 days ago
Last modified
Categories
Share
Skool.com Classroom Scraper
This Apify actor scrapes content from Skool.com classrooms, extracting course modules, text content, video links, and course structure.
Features
- Enhanced Scraping: Extracts complete course structure from page data
- Regular Scraping: Falls back to DOM-based scraping if enhanced method fails
- Smart Section Expansion: Automatically expands collapsed course sections
- Content Extraction: Scrapes text content, video links, images, and metadata
- Duplicate Handling: Removes duplicate modules automatically
- Error Recovery: Continues scraping even if individual modules fail
How to Scrape Skool classroom content in bulk
If you want to know more about how Skool Classroom Scraper works, here's a detailed explanation and step-by-step guide with examples. You can also follow this video for guidance:
Input Parameters
Required
- Email: Your Skool.com account email
- Password: Your Skool.com account password
- Classroom URLs: Array of classroom URLs to scrape
Optional
- Use Enhanced Scraping: Enable enhanced scraping method (default: true)
- Max Concurrency: Maximum concurrent requests (1-10, default: 1)
- Delay Between Requests: Delay in milliseconds between requests (default: 2000ms)
Output
The actor outputs scraped data in the following format:
Output Format
{"type": "direct_id_scraping","totalClassrooms": 2,"totalSections": 10,"totalModules": 50,"classrooms": [{"url": "https://www.skool.com/classroom/1","sections": 5,"modules": 25}],"data": [{"classroomUrl": "https://www.skool.com/classroom/1","courseTitle": "Introduction to Marketing","moduleTitle": "Getting Started","moduleId": "abc123","videoLink": "https://vimeo.com/123456789","secondaryvideoLink": "https://player.vimeo.com/video/123456789","content": "Module text content...","scrapedAt": "2024-01-01T12:00:00.000Z"}],"rawStructures": [{"url": "https://www.skool.com/classroom/1","structure": { /* Complete course structure */ }}]}
How It Works
- Authentication: Logs into Skool.com using provided credentials
- Multi-Classroom Processing: Processes each classroom URL in sequence
- Content Extraction: Uses direct ID-based scraping for reliable content access
- Video Link Processing: Extracts and transforms video links (Vimeo, YouTube, etc.)
- Data Organization: Structures content by classroom, section, and module
- Excel Generation: Creates a multi-tab Excel file with classroom content
- Progress Tracking: Maintains state for migration and error recovery
Scraping Methods
Enhanced Scraping (Recommended)
- Extracts course structure from page's
__NEXT_DATA__ - Matches scraped content with structured course data
- Provides better organization and metadata
- More reliable for complex course structures
Regular Scraping (Fallback)
- DOM-based scraping approach
- Extracts content directly from page elements
- Used when enhanced method fails
- Still provides comprehensive content extraction
Best Practices
- Rate Limiting: Use appropriate delays to avoid being blocked
- Single Concurrency: Keep max concurrency at 1 for stability
- Valid Credentials: Ensure your Skool.com account has access to the classroom
- Full URLs: Use complete classroom URLs including all parameters
Troubleshooting
Common Issues
- Login Failed: Check email/password and account status
- No Content Found: Verify classroom URL and access permissions
- Timeout Errors: Increase timeout settings or reduce concurrency
Error Handling
The actor includes comprehensive error handling:
- Continues scraping if individual modules fail
- Falls back to regular scraping if enhanced method fails
- Logs detailed error information for debugging
Technical Details
- Runtime: Node.js with Puppeteer
- Memory: 4GB recommended for large classrooms
- Timeout: 1 hour default (adjust based on classroom size)
- Dependencies: Apify SDK, Puppeteer, XLSX
Privacy & Security
- Credentials are handled securely using Apify's secret input fields
- No credentials or sensitive data are logged or stored
- All scraping respects Skool.com's structure and rate limits
Support
For issues or questions:
- Check the actor logs for detailed error information
- Verify input parameters are correct
- Ensure your Skool.com account has proper access
- Contact support with specific error messages
Changelog
v1.0.0
- Initial release
- Enhanced and regular scraping methods
- Smart section expansion
- Comprehensive content extraction
- Error recovery and fallback mechanisms