Outschool Listings Scraper
Pricing
from $2.00 / 1,000 class listings
Outschool Listings Scraper
The Outschool Listings Scraper extracts live online class listings and details from Outschool.com, capturing class titles, prices, age and grade ranges, schedules, class sizes, ratings, reviews, teacher profiles — ideal for online-learning market research and competitor and price monitoring.
Pricing
from $2.00 / 1,000 class listings
Rating
0.0
(0)
Developer
FalconScrape
Maintained by CommunityActor stats
1
Bookmarked
4
Total users
3
Monthly active users
9 days ago
Last modified
Categories
Security
Limited permissionsShare
🎓 Outschool Listings Scraper: Online Classes for Kids, Prices and Teachers
Export Outschool classes as clean JSON, CSV or Excel. The Outschool Listings Scraper collects the live, teacher-led online classes for kids and teens listed on Outschool, with price, age range, schedule, class size, star rating, review count and the teacher behind each class. Use it for market research on online classes for kids, to track Outschool prices, or to build your own catalog of homeschool online classes.
🎯 Use Cases for Outschool Classes Data
- Map the market for online classes for kids: pull every class for a topic and see which subjects, age groups and formats dominate.
- Research homeschool online classes: build a shortlist of classes by subject, age, price, weekly meetings and rating for a homeschool curriculum.
- Track Outschool prices: schedule a weekly run and see how teachers price online coding classes for kids, Spanish, math or art over time.
- Benchmark Outschool teachers: compare how many classes, sections and reviews the top teachers and schools have, before you teach on Outschool yourself.
- Collect online course data: feed class titles, summaries and full curricula into an edtech product, a recommender or an AI agent.
- Watch competitors: if you run a kids' coding school or tutoring business, see who else teaches your topic, at what price and with which ratings.
✨ Features
- Keyword search or the whole catalog: search any topic (
coding,spanish,chess) or leave the query empty to get the most popular available classes across all subjects (about 26,000 at the time of writing). - Rich listing data: title, summary, subject, age range, price in USD and cents, weekly meetings, session length, duration in weeks, class size, star rating, review count and the class format (club, one-time, self-paced, flexible schedule).
- Live schedule info: number of sections, open sections and upcoming sections, plus the next section's start and end time and how many seats are filled.
- Teacher data: teacher or school name, profile URL and ID on every row.
- Optional full class details: switch on Scrape full class details to add the class description ("class experience"), materials, the teacher's "why me" text, grade levels, completed enrollments, language of instruction and the teacher's credentials, rating, review count and tiers.
- Deep results, no duplicates: the scraper pages through the full result list for your query, and a class that shows up twice is saved and charged once.
- Fair billing: you pay per saved class, the run stops cleanly at your max charge limit, and every run ends with a clear status such as
Saved 150 classes.
🛠️ How It Works
- Enter a search query such as
codingorspanish, or leave it empty for the most popular classes on Outschool. - Set Max items (default 50) and turn on Scrape full class details if you need the curriculum and teacher credentials.
- Run the scraper and download the classes as JSON, CSV, Excel or HTML, or pull them through the Apify API.
⚙️ Input
| Field | What it does |
|---|---|
| Search query | Keyword to search Outschool classes for. Leave empty to scrape the most popular classes across all subjects. |
| Max items | Maximum number of classes to save. Default 50. |
| Scrape full class details | Adds the full class description, materials, grade levels, enrollments and teacher credentials. Default off. |
{"searchQuery": "coding","maxItems": 50,"scrapeDetails": false}
If a query has fewer matching classes than Max items, the run saves all of them and says so in its status.
💰 Pricing
Pay only for the classes you get. No monthly rental.
| Event | Price | What you get |
|---|---|---|
| Class listing | $0.002 per class ($2.00 per 1,000) | One class from search results with all listing fields. |
| Class detail | $0.006 per class ($6.00 per 1,000) | One class with full details (replaces the listing charge). |
| Actor start | $0.00005 per run | Charged once when the run starts. |
Examples:
- 50 class listings = $0.10 (plus $0.00005 for the start).
- 1,000 class listings = $2.00.
- 200 classes with full details = $1.20.
Each class is charged either as a listing or as a detail, never both.
📊 Sample Output Data
A real class from a coding search (listing mode):
{"uid": "a95fcb5a-0b49-4a25-a238-1905e0dbcd7c","slugId": "HfMFwvCZ","title": "Beginner Coding Camp With Minecraft: Level 2 - The Basics of Programming","summary": "In this class, students will learn even more about the basics of programming in Minecraft! In order to take this class, students must have taken PDL Coding Level 1. (#builder)","url": "https://outschool.com/classes/beginner-coding-camp-with-minecraft-level-2-the-basics-of-programming-HfMFwvCZ","subject": "Coding & Tech","ageMin": 8,"ageMax": 13,"priceCents": 17900,"priceUsd": 179,"weeklyMeetings": 5,"durationMinutes": 90,"durationWeeks": 1,"classSizeMin": 2,"classSizeMax": 8,"averageStarRating": 5,"reviewCount": 5,"isClub": false,"isOneTime": false,"isSelfPaced": false,"isFlexSchedule": false,"isAvailable": true,"publishedAt": "2022-03-11T12:44:32.173Z","teacherUid": "a35c3102-8ee8-49b7-879f-fb294227e766","teacherName": "Playful Digital Learning","teacherUrl": "https://outschool.com/teachers/Playful-Digital-Learning","sectionCount": 89,"openSectionCount": 89,"upcomingSectionCount": 4,"nextSectionStart": "2026-10-26T20:00:00.000Z","nextSectionEnd": "2026-10-30T21:30:00.000Z","nextSectionFilledSpaces": 0}
priceUsd is the price Outschool lists for the class, which is per meeting or per course depending on the class format. durationMinutes is the length of one meeting. Self-paced classes (isSelfPaced: true) usually have no sections, so the section fields are 0 or null.
With Scrape full class details on, each row also has gradeLevelMin and gradeLevelMax (for example "1st grade"), completedEnrollmentCount, languageOfInstruction, classExperience (the full class description), materials, whyMe, and the teacher's teacherAverageStarRating, teacherReviewCount, teacherTiers and teacherCredentials (degree type and subject).
🔁 Schedule and Integrate
For price and market tracking, run it once a week with the same search: every run is a dated snapshot of the classes, prices and open sections for that topic, and together they show how the market moves. Use daily runs if you watch new classes or seat availability. Set it up in Apify Schedules, then send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so new data lands where your team already works.
🤖 Use with AI Agents (MCP)
This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can find online classes for kids with:
{ "searchQuery": "online coding classes for kids", "maxItems": 20 }
❓ FAQ
Does Outschool have an official API? Outschool doesn't offer a public, self-serve API for browsing its class catalog; the site is built for families booking classes. This Actor is the practical alternative: no API key, no approval and no account, and it returns the public class data a parent sees, as structured rows ready for a spreadsheet or database.
How much do Outschool classes cost? It varies a lot by format. In a sample coding search, one-on-one classes were listed at $6–$65, and multi-week courses at up to a few hundred dollars. Run the scraper for your topic and sort by priceUsd to see the real price range.
Do I need an Outschool account? No. The scraper only reads public class pages, and no login or learner data is involved.
Why are some fields empty? New classes have no averageStarRating yet. Self-paced and one-on-one classes often have no scheduled sections, so nextSectionStart is null. In details mode, many teachers write everything into classExperience, so learningGoals, homework, gradingPolicy and prerequisites are often null.
How many classes can I get? As many as Outschool search returns for your query. A broad query such as coding returns about 1,000 available classes, the empty query (popular classes) tens of thousands. Only classes that are currently available to book are included.
Where can I read Outschool reviews? Each row has the class averageStarRating and reviewCount, and details mode adds the teacher's overall rating and review count. Review texts are not included.
What are alternatives to Outschool for online classes? Coursera and similar platforms focus on adult learners; for kids and teens, Outschool is the largest live-class marketplace. You can scrape Coursera with the related scraper below and compare the two catalogs.
Is scraping Outschool legal? This Actor collects only publicly available data: class listings, prices, ratings and public teacher profiles. You are responsible for how you use the data and for complying with Outschool's terms and applicable laws. Consider legal advice for your specific use case.
🔗 Related Scrapers
- Coursera Search Scraper: Coursera course search results, to compare adult and university courses with the Outschool catalog.
- Care.com Listings Scraper: tutors, nannies and caregivers, for a wider view of the kids' education and care market.
- Eventbrite Event Scraper: in-person and online workshops and camps, the offline side of kids' classes.
- Trustpilot Company Scraper: company ratings and reviews for edtech brands you compare with Outschool teachers.
