Coursera Course Scraper
Pricing
Pay per event
Coursera Course Scraper
Extract Coursera courses — titles, descriptions, difficulty levels, partners, certificates, and domains. Search by keyword, category, or scrape the full catalog. No proxy needed.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
What does Coursera Course Scraper do?
Coursera Course Scraper extracts detailed course data from Coursera — the world's largest online learning platform with 20,000+ courses from top universities and companies. Using Coursera's public REST API, this actor fetches course titles, descriptions, difficulty levels, partner/university details, certificate types, domain categories, workloads, and direct course URLs — all without any login or API key.
Search by keyword, browse by domain category, or extract all courses in bulk. Perfect for building course directories, conducting education market research, or analyzing online learning trends. No browser, no proxy — pure API access means fast, reliable, and extremely cost-effective extraction.
Who is it for?
📊 Education researchers and data analysts
- Analyze course distribution across difficulty levels and domains
- Track which universities and companies offer the most online courses
- Study language availability and global education access
- Build datasets for academic research on online learning trends
🏢 HR and learning & development professionals
- Inventory available courses for employee skill development programs
- Compare course offerings across providers for procurement decisions
- Identify certification programs aligned with company skills gaps
- Monitor new course launches in your industry
🛠️ Developers and product teams
- Build course recommendation engines or comparison platforms
- Populate content databases for educational apps and portals
- Create automated alerts for new courses in specific domains
- Aggregate Coursera data with other education platform data
📈 Competitive intelligence and market researchers
- Map the online education landscape by domain and provider
- Analyze pricing and certificate offerings across platforms
- Identify underserved subject areas with few course offerings
- Track Coursera's catalog growth over time
Why use Coursera Course Scraper?
- ✅ No API key or login required — Coursera's public API is freely accessible
- ✅ No proxy needed — pure HTTP API calls, no browser overhead
- ✅ Fast and reliable — direct API calls, not HTML scraping
- ✅ Flexible search modes — by keyword, by domain category, or all courses
- ✅ Rich partner data — fetches university/company names, logos, and descriptions
- ✅ Multi-filter support — filter by language, difficulty level, and certificate type
- ✅ Complete coverage — access all 20,000+ courses on Coursera
- ✅ Apify platform — schedule runs, export as JSON/CSV/Excel, integrate with 5,000+ apps
What data can you extract?
| Field | Description |
|---|---|
name | Full course title |
slug | URL slug for the course |
url | Direct link to the course on Coursera |
description | Full course description |
courseType | Course format (on-demand, etc.) |
level | Difficulty level (BEGINNER/INTERMEDIATE/ADVANCED/MIXED) |
workload | Estimated time to complete |
primaryLanguages | Languages the course is taught in |
subtitleLanguages | Available subtitle languages |
certificates | Certificate types (VerifiedCert, Specialization, etc.) |
photoUrl | Course thumbnail image URL |
domainId | Primary domain category (e.g., data-science) |
subdomainId | Primary subdomain category |
allDomains | All domain/subdomain pairs |
partnerName | University or company offering the course |
partnerShortName | Short/abbreviated partner name |
partnerDescription | Description of the partner institution |
partnerLogo | Partner institution logo URL |
partnerIds | Partner institution IDs |
specializations | Specialization program IDs |
How much does it cost to scrape Coursera courses?
Coursera Course Scraper uses Pay-Per-Event (PPE) pricing with tiered discounts for higher Apify plans:
| Plan | Start fee | Per course | 100 courses | 1,000 courses |
|---|---|---|---|---|
| Free | $0.005 | $0.00115 | $0.12 | $1.15 |
| Starter (BRONZE) | $0.005 | $0.001 | $0.10 | $1.00 |
| Scale (SILVER) | $0.004 | $0.00078 | $0.08 | $0.78 |
| Business (GOLD) | $0.003 | $0.0006 | $0.06 | $0.60 |
| Business+ (PLATINUM) | $0.003 | $0.0004 | $0.04 | $0.40 |
| Enterprise (DIAMOND) | $0.002 | $0.00028 | $0.03 | $0.28 |
💡 Free plan estimate: Apify gives $5 in free credits. That's enough to extract ~4,000 courses on the free plan — more than enough to explore the full Coursera catalog by category.
This actor is extremely cheap to run because it uses direct API calls with no browser or proxy costs.
How to scrape Coursera courses
- Go to the Coursera Course Scraper page on Apify Store
- Click Try for free
- Choose a Search mode:
- Keyword search — enter a search term (e.g., "machine learning")
- Category/domain browse — select a domain like "Data Science"
- All courses — scrape all 20,000+ courses with optional filters
- Set Maximum courses to control how many to extract
- Optionally filter by language, difficulty level, or certificate type
- Click Start and wait for results
- Download results as JSON, CSV, or Excel
Input examples:
Keyword search for Python courses:
{"searchMode": "keyword","searchQuery": "python","maxResults": 100,"language": "en"}
Browse beginner Data Science courses:
{"searchMode": "category","category": "data-science","maxResults": 50,"difficultyLevel": "BEGINNER"}
Extract all courses with certificates:
{"searchMode": "all","maxResults": 5000,"certificateType": "VerifiedCert"}
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchMode | String | Yes | keyword | How to find courses: keyword, category, or all |
searchQuery | String | When mode=keyword | — | Keyword to search in course names and descriptions |
category | String | When mode=category | — | Domain category (e.g., data-science, business) |
maxResults | Integer | Yes | 50 | Maximum number of courses to extract (1–10,000) |
language | String | No | — | ISO 639-1 language code (e.g., en, es, zh) |
difficultyLevel | String | No | — | BEGINNER, INTERMEDIATE, ADVANCED, or MIXED |
certificateType | String | No | — | VerifiedCert, Specialization, or ProfessionalCertificate |
includePartnerDetails | Boolean | No | true | Fetch full partner/university details (name, description, logo) |
Available categories:
arts-and-humanities, business, computer-science, data-science, information-technology, life-sciences, math-and-logic, personal-development, physical-science-and-engineering, social-sciences, language-learning
Output examples
{"id": "iGYdtQA7EfGQkhLpkq4N-Q","name": "Unlock Multimodal Search","slug": "unlock-multimodal-search","url": "https://www.coursera.org/learn/unlock-multimodal-search","description": "\"Unlock Multimodal Search\" is an intermediate, hands-on course for developers and ML engineers...","courseType": "v2.ondemand","level": "INTERMEDIATE","workload": "Approximately 91 minutes","primaryLanguages": ["en"],"subtitleLanguages": [],"certificates": ["VerifiedCert", "Specialization"],"photoUrl": "https://d3njjcbhbojbot.cloudfront.net/api/...","domainId": "information-technology","subdomainId": "data-management","allDomains": [{"domainId": "information-technology", "subdomainId": "data-management"},{"domainId": "data-science", "subdomainId": "machine-learning"}],"partnerIds": ["1342"],"partnerName": "Coursera","partnerShortName": "coursera","partnerDescription": "Coursera brings together a diverse network of subject matter experts...","partnerLogo": "https://d3njjcbhbojbot.cloudfront.net/api/...","specializations": [],"scrapedAt": "2026-04-08T03:00:00.000Z"}
Tips for best results
- 🚀 Start small — test with
maxResults: 20first to verify your filters work correctly - 🔍 Keyword matching — keywords are matched against course names and descriptions, so use specific terms for better results
- 🌍 Language codes — use ISO 639-1 codes:
en(English),es(Spanish),zh(Chinese),fr(French),de(German),pt(Portuguese),ja(Japanese) - 📦 Bulk extraction — for full catalog extraction, use
searchMode: "all"withmaxResults: 10000and apply filters to narrow results - 🔄 Schedule runs — use Apify's scheduler to monitor the Coursera catalog for new courses in your area of interest
- 💡 Partner details — set
includePartnerDetails: falseto skip extra API calls if you only need basic course data (makes runs faster for large extractions) - 📊 Category browsing — when using category mode, results include all levels by default — add
difficultyLevelfilter to target specific learner experience levels
Integrations
Coursera data → Google Sheets — Build a live course catalog spreadsheet for your team:
Set up a scheduled run (weekly) to extract new computer-science courses → auto-export to Google Sheets → share with your L&D team for training program planning.
Coursera data → Slack/Discord alerts — Monitor new course launches:
Schedule daily runs searching for "AI" or "GenAI" → compare with previous dataset → webhook to Slack when new courses appear in your domain.
Coursera data → Make/Zapier workflows — Automate course discovery: Connect via Apify's webhook → Make scenario → add new courses to Notion database → trigger email digest to stakeholders.
Coursera data → MongoDB/PostgreSQL — Build a searchable course database:
Use searchMode: "all" with pagination → store in your database → build custom search and filtering on top of the data.
Bulk export for analysis — Research and reports: Extract 5,000+ courses → export as CSV → import into Excel or Tableau for analysis of market trends, gap analysis, or competitive benchmarking.
API usage
You can trigger Coursera Course Scraper via the Apify API:
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/coursera-course-scraper').call({searchMode: 'keyword',searchQuery: 'machine learning',maxResults: 100,language: 'en',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/coursera-course-scraper").call(run_input={"searchMode": "category","category": "data-science","maxResults": 200,"difficultyLevel": "BEGINNER",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["name"], "-", item["partnerName"])
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~coursera-course-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"searchMode": "keyword","searchQuery": "python","maxResults": 50}'
Use with AI agents via MCP
Coursera Course Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).
Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Your AI assistant will use OAuth to authenticate with your Apify account on first use.
Example prompts
Once connected, try asking your AI assistant:
- "Use automation-lab/coursera-course-scraper to find all beginner Python courses on Coursera and export them to a spreadsheet"
- "Scrape the top 100 data science courses on Coursera and tell me which universities offer the most courses"
- "Find all Coursera courses in Spanish on personal development and list them with their workload and certificate types"
Learn more in the Apify MCP documentation.
Legality
This actor accesses Coursera's public REST API (api.coursera.org) which returns publicly available course catalog data — no login, authentication, or private data is involved. This is the same data visible to anyone browsing Coursera without an account.
Web scraping and API access of publicly available data is generally lawful and widely practiced for research, journalism, and commercial data aggregation purposes. However, always review Coursera's Terms of Service for the latest guidance on data usage, and ensure your use case complies with applicable law including GDPR and CCPA.
This actor does NOT:
- Access user accounts, enrollment data, or private content
- Bypass authentication or rate limiting in a harmful way
- Extract paid course content or copyrighted materials
Always use scraped data responsibly and ethically.
FAQ
How fast does the scraper run? Very fast — since it uses direct API calls with no browser, it processes 100–500 courses per minute depending on filter complexity. A run extracting 1,000 courses typically completes in 2–3 minutes.
How much does it cost to scrape 1,000 Coursera courses? About $1.00 on the Starter plan. With Apify's free $5 credit, you can extract ~4,000 courses. Higher Apify plans unlock volume discounts down to $0.28 per 1,000 courses.
Does it compare with the official Coursera API? The official Coursera API requires manual application and approval from Coursera. This actor uses Coursera's freely accessible public REST API endpoints — no application needed, immediate access.
Why are some courses missing descriptions?
Some older courses on Coursera have empty or very short descriptions in the API. The description field may be blank for a small percentage of courses. This is a data quality issue on Coursera's end, not a scraper bug.
Why is my keyword search returning unexpected results?
Keyword matching is done against course names AND descriptions. A search for "python" will match courses where Python is mentioned in the description, not just those with "Python" in the title. For title-only matching, review and filter the results by the name field in post-processing.
What if I get 0 results?
Check that your keyword is spelled correctly and not too specific. Try using searchMode: "all" with a language or difficultyLevel filter to browse without keyword constraints. Coursera's catalog uses English-language slugs even for non-English courses.
Related actors
Looking for more learning platform scrapers? Check out our other tools:
- Udemy Scraper — Extract Udemy course listings, ratings, prices, and instructor data
- ArXiv Scraper — Scrape research papers from ArXiv with titles, authors, abstracts, and PDF links
- AI Tools Directory Scraper — Extract AI tool listings from major directories