ParseForge Scrapers

MIT OpenCourseWare Scraper

parseforge/mit-ocw-scraper

EducationFOR_CREATORSOther

Scrapes MIT OpenCourseWare course listings by search query, department, or level. Returns course title, department, level, and URL for each course.

Run this scraper See the API call
Total users
1
Monthly active
0
Total runs
105
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

MIT OpenCourseWare Scraper

Scrape MIT OpenCourseWare courses by keyword, department, or level, up to a million per run. Every course comes with its title, department, level, and URL. No login or API key. Export to CSV, JSON, Excel, or XML.

MIT OpenCourseWare publishes thousands of free course pages, but browsing them one by one is slow. This Actor searches the public course catalog by keyword, department, or level, and returns each match in one fixed schema. You get a clean dataset of course titles, departments, levels, and URLs, ready for analysis or integration.

Who uses it What they scrape MIT OpenCourseWare for
Education researchers Cataloging which MIT courses are available on a given topic
Curriculum developers Finding free course materials to adapt for their own programs
Data analysts Building a dataset of course metadata for trend analysis
Students Discovering courses in a department or at a specific level

What it does

This Actor collects MIT OpenCourseWare course listings by search query, department, or level, and returns each course as a flat row.

  • ๐Ÿ” Keyword search: enter any term like 'machine learning' or 'calculus' to find matching courses.
  • ๐Ÿ›๏ธ Department filter: narrow results to a specific department such as 'Mathematics' or 'Electrical Engineering and Computer Science'.
  • ๐ŸŽ“ Level filter: choose undergraduate or graduate courses only.
  • ๐Ÿ“ฆ Bulk collection: set maxItems up to 1,000,000 to pull the full catalog in one run.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with MIT OpenCourseWare data

๐Ÿ“š Build a course catalog.

A curriculum developer runs the Actor with a department filter to list all MIT OpenCourseWare courses in that department, then selects materials for a new program.

๐Ÿ“ˆ Analyze course availability.

An education researcher scrapes all courses matching a keyword like 'data science' to see how many MIT courses cover the topic and at what levels.

๐ŸŽ“ Find free learning resources.

A student searches for 'physics' and filters by undergraduate level to get a list of MIT courses they can study independently.

๐Ÿ”— Collect URLs for further scraping.

A data engineer uses this Actor to get course URLs, then feeds them into a transcript scraper to collect lecture content.

Why choose this scraper

What you get
No API key Uses the public MIT OpenCourseWare search, no registration or token needed.
Fixed schema Every course returns the same fields, so your dataset is consistent.
Flexible filters Combine keyword, department, and level to target exactly the courses you need.
Scalable Collect up to a million courses per run for large-scale analysis.

How it compares

No other Store actor targets MIT OpenCourseWare the same way, so the honest comparison is with the alternatives teams actually weigh.

MIT OpenCourseWare Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When MIT OpenCourseWare changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with a search query, and optionally narrow by department or level. Filters run as each course is read, so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "searchQuery": "machine learning",
  "maxItems": 10
}

A larger pull:

{
  "searchQuery": "machine learning",
  "maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the MIT OpenCourseWare Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to MIT OpenCourseWare through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/mit-ocw-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your search query for typos. If you are using department or level filters, try removing them to see if the query itself returns anything. Also ensure maxItems is set to at least 1.

Why are my results missing some courses?

The Actor stops after collecting maxItems courses. Increase maxItems if you need more. Also verify that your filters are not excluding courses unintentionally.

Why does the run take a long time?

Large maxItems values or broad search queries can take longer. Try narrowing your query or reducing maxItems for faster runs.

Why do I get an error about the search query?

The searchQuery field is required. Make sure it is not empty and contains a valid string.

Can I get more fields than title, department, level, and URL?

Currently the Actor returns only these fields. If you need additional data like course descriptions or instructors, consider using a different scraper or requesting a feature.

FAQ

Question Answer
Do I need an API key or login? No. This Actor uses the public MIT OpenCourseWare search, so no registration or token is required.
What data does each course row include? Each row includes the course title, department, level, and URL. The exact fields are shown in the sample output.
Can I filter by department? Yes. Enter a department name like 'Mathematics' or 'Electrical Engineering and Computer Science' in the department field.
Can I filter by course level? Yes. Choose 'Undergraduate' or 'Graduate' from the level dropdown, or leave it as 'All Levels'.
How many courses can I collect in one run? You can set maxItems up to 1,000,000. The Actor will stop after collecting that many courses.
What if my search query returns no results? Check the spelling of your query, or try a broader keyword. Also make sure your department and level filters are not too restrictive.
Can I export the data? Yes. The Actor outputs data in CSV, JSON, Excel, or XML format, depending on your Apify dataset settings.
Is this affiliated with MIT? No. This is an independent scraper that reads publicly available course listings from MIT OpenCourseWare.
Can I schedule this Actor to run regularly? Yes. You can set up a schedule in Apify to run the Actor daily, weekly, or at any interval.
Does this Actor scrape course content like videos or PDFs? No. It only collects course metadata such as title, department, level, and URL. To get transcripts or other content, use a dedicated scraper.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Massachusetts Institute of Technology. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
searchQuery required string Search term to find courses (e.g. 'machine learning', 'calculus', 'physics') machine learning
maxItems integer How many courses to collect per run. 10
department string Filter by department name (e.g. 'Electrical Engineering and Computer Science', 'Mathematics') not set
level string (3 options) Filter by course level not set

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~mit-ocw-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "searchQuery": "machine learning",
    "maxItems": 3
  }'

Examples

Input that runs as-is.

input.json
{
  "searchQuery": "machine learning",
  "maxItems": 3
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run MIT OpenCourseWare Scraper on Apify All scrapers