ParseForge Scrapers

edX Course Scraper

parseforge/edx-scraper

EducationFOR_CREATORSLead generation

Scrapes edX course listings by search keyword and optional subject filter. Returns each course as a flat row with title, university, and subject. Export to CSV, JSON, Excel, or XML.

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

Overview

ParseForge

edX Course Scraper

Scrape edX course listings by keyword, up to a million per run. Every course comes with its title, university, subject, and enrollment details. No login or API key. Export to CSV, JSON, Excel, or XML.

edX has no public API for course discovery, and manual browsing is slow. This Actor searches edX course listings directly by keyword, filters by subject, and returns each match in one fixed schema. It is built for researchers, marketers, and analysts who need current course data without writing code.

Who uses it What they scrape edX for
Market researchers Which courses and universities are trending in a given field
EdTech product managers What competitors are offering in a subject area
Career counselors Which programs match a student's interests and budget
Content marketers Which course titles and descriptions rank for a keyword

What it does

This Actor collects edX course listings by search keyword and optional subject filter, and returns each course as a flat row.

  • ๐Ÿ” Keyword search: enter any term like python, machine learning, or data science.
  • ๐ŸŽฏ Subject filter: narrow results to Computer Science, Business, Data Science, and more.
  • ๐Ÿ“ฆ Bulk export: collect up to 1,000,000 courses per run.
  • ๐Ÿ“„ Flat schema: every course is one row, ready for CSV, Excel, JSON, or XML.

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

What you can do with edX data

๐Ÿ“Š Track course supply by subject.

A market researcher runs the Actor with the keyword 'data science' and subject 'Data Science' to see which universities offer the most courses this quarter.

๐ŸŽ“ Build a course catalog.

An EdTech startup scrapes all courses for 'machine learning' to populate its comparison site with current titles and providers.

๐Ÿงญ Guide student choices.

A career counselor searches 'python' with no subject filter to compile a list of beginner-friendly courses for a client.

๐Ÿ“ Analyze course descriptions.

A content marketer scrapes courses for 'blockchain' to see which phrases appear most often in titles and summaries.

Why choose this scraper

What you get
No API key Scrape public edX listings without registration or OAuth.
Subject filtering Limit results to a specific discipline like Computer Science or Business.
High volume Collect up to a million courses in a single run.
Multiple formats Export to CSV, JSON, Excel, or XML for any downstream tool.

How it compares

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

edX Course Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When edX 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 keyword and an optional subject filter. 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:

{
  "query": "python",
  "maxItems": 10
}

A larger pull:

{
  "query": "python",
  "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 edX Course 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 edX 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/edx-scraper"

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

Troubleshooting

Why am I getting no results?

Your keyword may be too narrow or the subject filter may exclude everything. Try a broader term like 'data' or remove the subject filter. Also check that edX has courses matching your query.

Why did the run stop before reaching maxItems?

The Actor stops when edX returns no more results for your query. This is normal. Try a different keyword or remove the subject filter to get more.

Why are some courses missing fields?

edX does not always show every field for every course. Missing values appear as empty strings or null in the output. This is expected.

Can I get more than 1,000,000 courses?

The maximum is 1,000,000 per run. If you need more, split your query into multiple runs with different keywords or subjects.

Why does the Actor return courses outside my subject?

The subject filter matches edX's subject labels. Some courses may be tagged with multiple subjects. Try a more specific subject name or add a keyword to narrow results.

FAQ

Question Answer
Do I need an edX account or API key? No. This Actor reads public course listings directly. No login, OAuth, or API key is required.
Can I filter by subject? Yes. Use the subject input to limit results to a specific area like Computer Science, Business, or Data Science. Leave it empty to get all subjects.
How many courses can I scrape in one run? You can set maxItems up to 1,000,000. The Actor stops when it reaches that number or when no more results match.
What data does each course row include? Each row includes the course title, university or institution, subject, and other listing details as shown in the sample output.
Can I export the results? Yes. The Actor outputs a dataset you can download as CSV, JSON, Excel, or XML from Apify.
Does this Actor work for edX Professional Certificate or MicroMasters programs? It scrapes whatever appears in the public course search results for your keyword. If those programs appear, they will be included.
Is this Actor affiliated with edX? No. This is an independent scraper built by a third party. It is not endorsed by or connected to edX LLC.
Can I schedule this Actor to run regularly? Yes. Use Apify's scheduler to run it daily, weekly, or on any cron schedule.
What if I get no results? Try a broader keyword or remove the subject filter. Also check that your search term matches edX's course titles or descriptions.
Can I scrape a specific university's courses? Not directly. The Actor searches by keyword and subject. To target a university, include its name in the query, e.g. 'MIT python'.

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 edX LLC. 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
query string Search keyword to find courses (e.g. python, machine learning, data science) python
maxItems integer How many courses to collect per run. 10
subject string Filter by subject area (e.g. Computer Science, Business, Data Science). Leave empty for all subjects. 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~edx-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

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 edX Course Scraper on Apify All scrapers