Coursera Course Search Scraper avatar

Coursera Course Search Scraper

Pricing

from $0.04 / 1,000 item extracteds

Go to Apify Store
Coursera Course Search Scraper

Coursera Course Search Scraper

Scrape public Coursera search results with course titles, partners, ratings, reviews, skills, levels, durations, images, and URLs.

Pricing

from $0.04 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Extract public Coursera course search results for market research, catalog monitoring, lead generation, SEO analysis, and learning-content intelligence.

What does Coursera Course Search Scraper do?

Coursera Course Search Scraper collects public course cards from Coursera search pages.

It turns search phrases such as data science, python, or project management into structured dataset rows.

Each row includes the course courseTitle, provider, URL, image, rating, review text, level, duration, skills, type, position, and timestamp.

Use it when you need repeatable course catalog data without manually copying search pages.

Who is it for?

  • πŸŽ“ L&D teams comparing learning vendors and course coverage.
  • πŸ“Š Edtech analysts tracking course supply in fast-moving skill categories.
  • πŸ§‘β€πŸ« Course creators researching competitive course titles and positioning.
  • 🧩 Course aggregators building searchable education catalogs.
  • πŸ”Ž SEO teams monitoring Coursera result pages for topic clusters.
  • 🏒 Talent teams mapping skills to available learning options.

Why use this actor?

Coursera has a large public education catalog.

Manual research is slow when you need many topics.

This actor gives you clean rows that are easy to filter, export, enrich, and compare.

You can run the same query list weekly or monthly and watch changes in course availability.

What data can you extract?

FieldDescription
querySearch phrase connected to the course result.
courseTitleCourse, certificate, degree, or project title.
partnerNamesCoursera partners or institutions when visible.
urlAbsolute Coursera URL.
imageUrlPublic card image URL when visible.
ratingNumeric rating when visible.
reviewCountParsed numeric review count when visible.
reviewCountTextReview count text, for example 44K reviews.
enrollmentTextEnrollment text when present on the card.
levelBeginner, Intermediate, Advanced, or related level text.
durationDuration shown on the card.
skillsSkills listed on the search result card.
descriptionSnippetShort course description or summary when visible.
tagsAdditional public tags or metadata labels from the result card.
sourceUrlSearch results page URL that produced the record.
productTypeCourse, Specialization, Professional Certificate, Degree, or related type.
positionSaved result order.
scrapedAtISO timestamp for the scrape.

Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

EventWhat is chargedPrice
startOne-time fee charged when a run starts. Covers fixed startup cost (init, proxy warmup, first HTTP setup).$0.005
EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
itemCharged per item extracted.$0.06846 / 1,000$0.05953 / 1,000$0.04643 / 1,000$0.03572 / 1,000$0.02381 / 1,000$0.01667 / 1,000

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

How to use it

  1. Open the actor on Apify.
  2. Add one or more Coursera search queries.
  3. Optionally add direct Coursera search URLs.
  4. Set maxItems to the number of course results you need.
  5. Run the actor.
  6. Export the dataset as JSON, CSV, Excel, XML, or HTML.

Input options

Search queries

Add course-market phrases such as:

  • data science
  • python
  • project management
  • generative ai
  • cybersecurity

Coursera search URLs

You can also paste Coursera search URLs.

This is useful when you already have a filtered public search page.

Language filter

Use the optional language field when you want Coursera language-filtered results.

Maximum course results

maxItems controls the total saved records across all queries and URLs.

The default is intentionally small so first runs stay inexpensive.

Proxy configuration

The default run uses a direct connection.

Enable Apify Proxy only if your network path is blocked or unreliable.

Example input

{
"queries": ["data science", "python"],
"maxItems": 25,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Example output

{
"query": "data science",
"courseTitle": "Python for Data Science, AI & Development",
"partnerNames": ["IBM"],
"url": "https://www.coursera.org/learn/python-for-applied-data-science-ai",
"imageUrl": "https://d3njjcbhbojbot.cloudfront.net/...",
"rating": 4.6,
"reviewCount": 44000,
"reviewCountText": "44K reviews",
"enrollmentText": null,
"level": "Beginner",
"duration": "1 - 3 Months",
"skills": ["Data Import/Export", "Python Programming", "NumPy"],
"descriptionSnippet": "Build data science and AI skills with Python.",
"tags": ["Course"],
"sourceUrl": "https://www.coursera.org/search?query=data%20science",
"productType": "Course",
"position": 1,
"scrapedAt": "2026-07-03T15:00:00.000Z"
}

Tips for better results

  • Use specific skill phrases rather than very broad single words.
  • Run separate queries for separate market segments.
  • Keep a fixed query list for recurring trend monitoring.
  • Export CSV for spreadsheet review.
  • Export JSON for downstream enrichment pipelines.

Use cases

Course catalog monitoring

Track how many Coursera results exist for important skills.

Compare titles, providers, durations, and levels across topics.

Competitive intelligence

Course creators can inspect competing course titles and positioning.

Analysts can monitor how partner institutions appear across keywords.

Skill supply research

Learning teams can identify which skills are well-covered and which are underserved.

SEO and content planning

Content teams can discover course vocabulary, provider names, and skill clusters.

Integrations

Send results to Google Sheets for editorial review.

Load JSON into a warehouse for recurring catalog snapshots.

Use the Apify API to trigger scheduled weekly runs.

Connect the dataset to Make, Zapier, or n8n for automated alerts.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/coursera-course-search-scraper').call({
queries: ['data science'],
maxItems: 25
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/coursera-course-search-scraper').call(run_input={
'queries': ['python'],
'maxItems': 25,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~coursera-course-search-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"queries":["project management"],"maxItems":25}'

MCP usage

Use the Apify MCP server to run this actor from AI tools.

Claude Code example URL:

https://mcp.apify.com/?tools=fetch_cat/coursera-course-search-scraper

Claude Code command:

$claude mcp add apify-coursera "https://mcp.apify.com/?tools=fetch_cat/coursera-course-search-scraper"

Claude Desktop JSON configuration:

{
"mcpServers": {
"apify-coursera": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.apify.com/?tools=fetch_cat/coursera-course-search-scraper"]
}
}
}

Example prompts:

  • "Run Coursera Course Search Scraper for data science and summarize common providers."
  • "Collect 50 Coursera cybersecurity courses and group them by level."
  • "Compare Python and Java course search results from Coursera."

Scheduling

Create a scheduled Apify task for recurring monitoring.

Weekly or monthly schedules are useful for market research.

Keep query lists stable when you want trend comparisons.

Limits

The actor extracts public search-result data visible on Coursera pages.

It does not log in.

It does not enroll in courses.

It does not extract private learner data.

It may return fewer rows than requested if Coursera has fewer public results for a query.

Troubleshooting

The run returns fewer items than expected

Coursera may have fewer visible results for your query, or duplicate courses may appear across pages.

Try a broader query or multiple related queries.

The run fails with connection errors

Retry with Apify Proxy enabled.

If the issue persists, reduce maxItems and test with one query.

Some fields are empty

Coursera does not show every field on every result card.

Fields such as enrollment count or image URL can be missing for some courses.

Data quality notes

Values are normalized from public result cards.

Ratings are numbers when visible.

Review counts are preserved as display text because Coursera may abbreviate them.

Skills are split into arrays for easier filtering.

Legality

This actor collects publicly available course search information.

You are responsible for using the data legally and respecting Coursera's terms, privacy rules, and applicable laws.

Do not use the actor to collect private account data.

Explore other education and search actors from the same developer account on Apify:

FAQ

Can I search multiple Coursera topics in one run?

Yes. Add multiple values to queries and set a large enough maxItems.

Can I scrape a direct Coursera search URL?

Yes. Paste it into startUrls.

Does this actor need a Coursera account?

No. It targets public search results only.

Can I get course reviews?

No. This version extracts search result cards, not detailed review pages.

Can I use proxies?

Yes. Use the proxy configuration field if needed.