Maven Course Scraper — Cohort Courses, Prices & Instructors
Pricing
from $0.00005 / actor start
Maven Course Scraper — Cohort Courses, Prices & Instructors
Extract cohort-based courses from Maven.com — title, instructor, cohort dates, price, student count, ratings, description, format, and tags. Scrapes public listing and detail pages via embedded JSON (no login required).
Pricing
from $0.00005 / actor start
Rating
0.0
(0)
Developer
Venkatesh Sekar
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
2 months ago
Last modified
Categories
Share
Maven Course Scraper
Extract cohort-based courses from Maven.com — title, instructor, cohort dates, price, student enrollment, ratings, description, format, and topic tags.
How it works
Maven is a Next.js SSR application. Every listing and detail page embeds a __NEXT_DATA__ JSON blob that contains the full course data — no JavaScript rendering required.
Phase 1 — Listing: The actor fetches the provided start URLs (e.g. https://maven.com/courses?sort=trending). Each listing page returns up to 99 courses server-side. The actor expands a plain /courses URL into all three sort variants (trending, new, best-selling) to maximise coverage. Course slugs are deduplicated across all listing pages.
Phase 2 — Detail: Each unique course detail page (/school-slug/course-slug) is fetched concurrently. Detail pages contain richer data: full pricing, cohort schedules, ratings, and instructor social links.
Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | stringList | — | Listing or category URLs (required) |
maxCourses | integer | 50 | Max detail pages to fetch (0 = unlimited) |
maxConcurrency | integer | 3 | Parallel detail fetches |
proxyConfiguration | proxy | Apify default | Proxy for outbound requests |
Accepted start URL formats:
https://maven.com/courses— expands to all 3 sort variantshttps://maven.com/courses?sort=trendinghttps://maven.com/courses?sort=newhttps://maven.com/courses?sort=best-sellinghttps://maven.com/courses/ai— category leaderboard (top 9)https://maven.com/courses/product
Output schema (per course)
{"url": "https://maven.com/shreyas-doshi/product-sense","course_id": 9991,"course_slug": "product-sense","school_slug": "shreyas-doshi","school_name": "Shreyas Doshi","school_verified": true,"title": "World-class Product Sense in Practice","description": "...","format": "full_course","price_usd": 3000.0,"currency": "USD","num_ratings": 0,"avg_rating": null,"enrolled_last_week": "28","social_image_url": "https://...","tags": ["Product", "Strategy", "For Product Managers"],"instructors": [{"name": "Shreyas Doshi","headline": "Former PM leader at Stripe, Twitter, Yahoo","linkedin_url": null,"twitter_handle": "","custom_social_link": null,"image_url": "https://...","previous_employers": ["Stripe", "Twitter"]}],"next_cohorts": [{"cohort_id": 24597,"name": "May 2026","start_date": "2026-05-02T16:00:00Z","end_date": "2026-05-09T23:00:00Z","max_size": null}],"next_cohort_start": "2026-05-02T16:00:00Z","next_cohort_end": "2026-05-09T23:00:00Z"}
Courses that fail to scrape are still pushed with an "error" field so the overall run always produces a complete dataset.
Notes
- Maven returns up to 99 courses per listing page server-side. The "Show more courses" button on the UI loads additional courses via JavaScript — the scraper does not execute JS, so it picks up the first page of each sort variant (~99 × 3 = ~297 unique courses before dedup).
- Category pages (e.g.
/courses/ai) only return the top 9 leaderboard courses server-side. avg_ratingis derived fromsum_ratings / num_ratings / 10to convert Maven's internal 100-point scale to a 10-point scale. Many courses havenum_ratings = 0if they use an external review platform (e.g. testimonial.to).- No authentication is required. All data is publicly accessible.
