Outschool Listings Scraper avatar

Outschool Listings Scraper

Pricing

from $2.00 / 1,000 class listings

Go to Apify Store
Outschool Listings Scraper

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

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

20 days ago

Last modified

Share

πŸŽ“ Outschool Listings Scraper

Easily extract online class listings from Outschool β€” the marketplace of 140,000+ live, teacher-led classes for kids and teens (ages 3–18). The Outschool Listings Scraper gathers structured data on classes, prices, schedules, ratings, and teachers, so you can analyze the online-learning market, track competitors, monitor pricing, or build your own course catalog.

Run it from the Apify Console with no code, or automate it with the Apify API, scheduling, and integrations (Google Sheets, Make, Zapier, Slack, and more).

✨ Features

  • πŸ”Ž Keyword search – Find classes by topic (e.g. coding, spanish, chess) or leave it empty to scrape the most popular classes across every subject.
  • 🏷️ Rich listing data – Title, summary, subject, age range, price, class size, weekly meetings, duration, star rating, review count, and the teacher behind each class.
  • πŸ“… Live schedule info – Number of open and upcoming sections plus the next session's start and end time.
  • πŸ“š Optional full details – Toggle Scrape full class details to add the complete curriculum, learning goals, homework, grading policy, materials, prerequisites, and teacher credentials.
  • ⚑ Fast & reliable – Pulls clean, structured data directly and handles pagination automatically.
  • πŸ’Έ Pay only for what you scrape – Transparent pay-per-result pricing with a lower rate for listings and a higher rate for full details.

πŸ› οΈ How to use the Outschool Listings Scraper

  1. Enter a search query – Type a keyword such as coding, or leave it blank to scrape top classes across all subjects.
  2. Set the limit – Choose how many classes to scrape with Max items.
  3. (Optional) Enable full details – Turn on Scrape full class details to capture the entire curriculum and teacher credentials for each class.
  4. Run the Actor – Start it and download your results as JSON, CSV, Excel, or HTML.

πŸ”§ Input

FieldTypeDescription
searchQuerystringKeyword to search classes for. Leave empty to scrape the most popular classes across all subjects.
maxItemsintegerMaximum number of classes to scrape (default 50).
scrapeDetailsbooleanFetch the full detail page for each class (curriculum, policies, teacher credentials). Slower and costs more. Default false.
proxyConfigurationobjectProxy settings used while scraping.

Example input:

{
"searchQuery": "coding",
"maxItems": 50,
"scrapeDetails": false
}

πŸ“Š Sample output data

Each class is saved as a structured record. You can download the dataset in various formats such as JSON, CSV, Excel, or HTML.

Listing record (default mode):

{
"uid": "9e5e8ede-58e8-43c2-a951-9f08940d478e",
"slugId": "YG4kOrJe",
"title": "Python Programming for Beginners Level 1 | Live Coding Class",
"summary": "Beginner-Friendly Python Coding! Unlock your child's potential with Python.",
"url": "https://outschool.com/classes/python-programming-for-beginners-level-1-YG4kOrJe",
"subject": "Coding & Tech",
"ageMin": 10,
"ageMax": 14,
"priceUsd": 240,
"weeklyMeetings": 1,
"durationMinutes": 50,
"classSizeMin": 1,
"classSizeMax": 6,
"averageStarRating": 4.91,
"reviewCount": 373,
"teacherName": "Einstein's Square",
"teacherUrl": "https://outschool.com/teachers/EinsteinsSquare",
"sectionCount": 8,
"openSectionCount": 5,
"nextSectionStart": "2026-08-14T16:00:00.000Z"
}

When Scrape full class details is enabled, each record additionally includes classExperience, learningGoals, homework, gradingPolicy, materials, prerequisites, parentalGuidance, assessment, gradeLevelMin/gradeLevelMax, completedEnrollmentCount, and the teacher's teacherCredentials, teacherAverageStarRating, and teacherReviewCount.

πŸ—‚οΈ Data fields

FieldDescription
titleClass title
urlLink to the class page
subjectSubject / category
summaryShort class description
priceUsd / priceCentsClass price
ageMin / ageMaxRecommended age range
gradeLevelMin / gradeLevelMaxGrade level range (details mode)
weeklyMeetings / durationMinutes / durationWeeksSchedule structure
classSizeMin / classSizeMaxClass size
averageStarRating / reviewCountClass rating and number of reviews
sectionCount / openSectionCount / upcomingSectionCountAvailable class sections
nextSectionStart / nextSectionEndNext scheduled session
teacherName / teacherUrlTeacher name and profile link
teacherCredentialsTeacher degrees and subjects (details mode)
classExperience / learningGoals / homework / materialsFull curriculum content (details mode)

πŸ’° How much does it cost to scrape Outschool?

This Actor uses a pay-per-event pricing model:

EventPriceWhen it's charged
Class listing$0.002Per class scraped in default mode
Class detail$0.006Per class scraped with full details enabled

There is no per-run start fee β€” you pay only for the classes you actually scrape. For example, scraping 1,000 class listings costs about $2, or about $6 with full curriculum details. New Apify accounts include free monthly usage credits, so you can start testing right away.

πŸ’‘ Tips

  • Start with a small Max items value to preview the data before running a large scrape.
  • Keep Scrape full class details off when you only need catalog-level data (title, price, rating, schedule) β€” it's faster and cheaper.
  • Use a specific search query to target a niche (e.g. ap calculus, creative writing) instead of scraping the whole catalog.

❓ FAQ

Is scraping Outschool legal? This Actor collects only publicly available data (class listings, prices, ratings, and public teacher profiles). No login or personal learner data is accessed. As with any scraping, you are responsible for how you use the data and for complying with Outschool's Terms of Service and applicable laws. Consider seeking legal advice for your specific use case.

Can I schedule regular runs? Yes. Use Apify's scheduling to run the Actor daily, weekly, or at any interval, and connect the output to Google Sheets, Make, Zapier, and more.

What if I need a custom field or feature? Open an issue on the Actor's Issues tab β€” feedback and custom requests are welcome.