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

12 days 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 settings

SettingJSON keyWhat it does
Search queriesqueriesOne or more course-market phrases.
Direct search URLsstartUrlsOptional public Coursera /search URLs.
LanguagelanguageOptional Coursera language filter.
Product typeproductTypeOptional course, specialization, certificate, project, or degree filter.
Result capmaxItemsMaximum saved rows per query or direct URL.
Page capmaxPagesPerQueryPagination safety limit for each query.
Run-time capmaxRunSecondsWhole-run time limit including retries and saving.
ConnectionproxyConfigurationOptional Apify Proxy configuration.

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 maximum saved records for each query or direct search URL.

The default is intentionally small so first runs stay inexpensive.

Maximum pages and run time

maxPagesPerQuery caps pagination for each query. maxRunSeconds caps the whole run, including retries. Near the time limit the Actor stops accepting new pages, saves completed rows, and records any unfinished source in the run summary.

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 examples

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);

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'])

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.

If Coursera temporarily blocks a request or a source fails, completed rows are retained and the RUN_SUMMARY key-value record explains the affected source. A run with no matching public cards can validly finish with zero rows; a run where every requested source fails reports an error instead.

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:

Support

If a run fails or the output looks wrong, use the Actor page to report a bug. Include the Apify run ID or run URL, input JSON, expected output, actual output, and one reproducible public URL (for example, a public Coursera search URL). Do not include account credentials or private learner data.

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.

Privacy and data handling

This Actor only requests the permissions needed to run the input you provide. It uses your input (such as URLs, search terms, identifiers, filters, and limits) only to fetch the requested public data from the relevant source site or API for this Actor, then writes results to your Apify dataset/key-value store.

Data may pass through Apify platform services and Apify Proxy during the run, and requests are sent only to the target site or public data provider required for this Actor's results. FetchCat does not send your inputs or outputs to advertising networks, data brokers, or model-training services, and does not retain run data outside Apify storage after the run except when you explicitly share run details for transient support debugging.

You are responsible for using this Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs. Review the output before storing, sharing, or combining it with other data.