Coursera Course Scraper avatar

Coursera Course Scraper

Pricing

Pay per event

Go to Apify Store
Coursera Course Scraper

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

Stas Persiianenko

Maintained by Community

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?

FieldDescription
nameFull course title
slugURL slug for the course
urlDirect link to the course on Coursera
descriptionFull course description
courseTypeCourse format (on-demand, etc.)
levelDifficulty level (BEGINNER/INTERMEDIATE/ADVANCED/MIXED)
workloadEstimated time to complete
primaryLanguagesLanguages the course is taught in
subtitleLanguagesAvailable subtitle languages
certificatesCertificate types (VerifiedCert, Specialization, etc.)
photoUrlCourse thumbnail image URL
domainIdPrimary domain category (e.g., data-science)
subdomainIdPrimary subdomain category
allDomainsAll domain/subdomain pairs
partnerNameUniversity or company offering the course
partnerShortNameShort/abbreviated partner name
partnerDescriptionDescription of the partner institution
partnerLogoPartner institution logo URL
partnerIdsPartner institution IDs
specializationsSpecialization 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:

PlanStart feePer course100 courses1,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

  1. Go to the Coursera Course Scraper page on Apify Store
  2. Click Try for free
  3. 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
  4. Set Maximum courses to control how many to extract
  5. Optionally filter by language, difficulty level, or certificate type
  6. Click Start and wait for results
  7. 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

ParameterTypeRequiredDefaultDescription
searchModeStringYeskeywordHow to find courses: keyword, category, or all
searchQueryStringWhen mode=keywordKeyword to search in course names and descriptions
categoryStringWhen mode=categoryDomain category (e.g., data-science, business)
maxResultsIntegerYes50Maximum number of courses to extract (1–10,000)
languageStringNoISO 639-1 language code (e.g., en, es, zh)
difficultyLevelStringNoBEGINNER, INTERMEDIATE, ADVANCED, or MIXED
certificateTypeStringNoVerifiedCert, Specialization, or ProfessionalCertificate
includePartnerDetailsBooleanNotrueFetch 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: 20 first 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" with maxResults: 10000 and 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: false to 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 difficultyLevel filter 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 ApifyClient
client = 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.

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