Online Course Finder & Comparator avatar

Online Course Finder & Comparator

Pricing

from $0.85 / 1,000 courses

Go to Apify Store
Online Course Finder & Comparator

Online Course Finder & Comparator

Find and compare online courses for a learner goal using public Coursera search pages and Skillshare class sitemap discovery. Produces ranked shortlist rows with buyingDecision, goalFitScore, valueForMoneyScore, confidenceTier, missingData and redFlags.

Pricing

from $0.85 / 1,000 courses

Rating

0.0

(0)

Developer

Trove Vault

Trove Vault

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Share

Find and compare online courses for a specific learner goal. This actor searches public course platforms, extracts course metadata where available, and ranks course candidates by match, value, confidence, and practical trade-offs.

It is built for people and teams choosing what to learn, not for creators analyzing what to sell. For creator-side market research, use Course Market Gap Analyzer instead.

What it does

Online Course Finder & Comparator helps answer questions like:

  • Which course is the best fit for my learning goal?
  • Which option looks like the best value?
  • Which courses have enough public proof to trust?
  • Which course is better for beginners, intermediate learners, or advanced users?
  • What trade-offs should I check before buying or assigning a course?

The actor searches selected platforms from a learner goal and produces structured comparison rows that can be exported, scheduled, or connected to other Apify workflows.

Input

Basic example:

{
"topic": "AI agents",
"platforms": ["coursera", "skillshare"],
"maxCoursesPerPlatform": 5,
"learnerGoal": "Learn to build practical AI agent workflows for business automation",
"experienceLevel": "intermediate",
"budgetPreference": "best-value"
}

Team or procurement example:

{
"topic": "Python automation",
"learnerGoal": "Automate repetitive reporting tasks with Python",
"experienceLevel": "beginner",
"decisionContext": "team training",
"mustHaveCriteria": ["beginner-friendly", "hands-on projects", "under 10 hours"],
"budgetPreference": "best-value"
}

Input reference

FieldDescription
topicCourse topic or skill area to search. Use a concise phrase such as AI agents, Python automation, or product analytics.
learnerGoalPractical learning outcome. This is the most important field for ranking because it explains what the learner needs to do after the course.
platformsCourse platforms to search. Current reliable public sources are coursera and skillshare.
maxCoursesPerPlatformMaximum candidates to collect from each platform. Keep this small for fast shortlists; increase it for research.
experienceLevelOptional learner level: beginner, intermediate, or advanced.
decisionContextOptional context such as individual learning, team training, or procurement review.
mustHaveCriteriaOptional list of requirements such as certificate, project-based, short duration, or beginner-friendly.
budgetPreferenceOptional ranking preference such as best-value or lowest-price.
datasetIdOptional Apify dataset ID to append rows into.
runIdOptional workflow identifier copied into output rows.

Output

Each dataset row represents a course candidate or a no-results recommendation when public discovery does not return enough data. Platform fetch issues are reported in the run summary, so blocked sources do not pollute the course shortlist.

Key fields include:

  • rank - final recommendation order
  • buyingDecision - plain-English decision such as shortlist, inspect manually, or lower priority
  • whyRankedHere - the reason behind the recommendation rank
  • goalFitScore - fit against the learner goal
  • valueForMoneyScore - price-to-quality value signal
  • confidenceTier and dataConfidenceScore - evidence strength based on available public metadata
  • recommendation - short label such as Strong fit or Worth shortlisting
  • redFlags - risks or missing proof to review before buying
  • missingData - fields the public pages did not expose
  • nextAction - what the learner or L&D team should do next
  • bestFor - learner profile the course appears best suited for
  • mainCaveat and tradeoffs - what to verify before choosing
  • courseTitle, courseUrl, provider, platform
  • rating, reviewCount, studentCount, price, currency, level, durationHours

The output works well as a course shortlist for individuals, corporate L&D teams, education researchers, and procurement workflows.

Output example

{
"rank": 1,
"buyingDecision": "shortlist",
"recommendation": "Strong fit",
"whyRankedHere": "High topic match, strong public proof, and practical fit for the stated learner goal.",
"goalFitScore": 86,
"valueForMoneyScore": 72,
"dataConfidenceScore": 78,
"confidenceTier": "medium",
"courseTitle": "AI Agents for Business Automation",
"courseUrl": "https://www.coursera.org/learn/example-course",
"provider": "Example University",
"platform": "coursera",
"rating": 4.7,
"reviewCount": 1200,
"studentCount": null,
"price": null,
"currency": null,
"level": "intermediate",
"durationHours": 8,
"bestFor": "Intermediate operators who want practical agent workflows",
"mainCaveat": "Verify current price and certificate details on the course page.",
"redFlags": [],
"missingData": ["price"],
"nextAction": "Open the course page and confirm syllabus, price, and certificate value.",
"runId": "team-training-q3"
}

API example

curl -X POST "https://api.apify.com/v2/acts/trovevault~online-course-finder-comparator/runs?waitForFinish=120" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"topic": "AI agents",
"learnerGoal": "Learn to build practical AI agent workflows for business automation",
"platforms": ["coursera", "skillshare"],
"maxCoursesPerPlatform": 5
}'

Use cases

Individual learners

Compare courses before buying, especially when many marketplace results look similar.

Corporate L&D teams

Build a shortlist of public courses for a skill area and export the results for review.

Managers and team leads

Find course options for a team member based on role, level, and outcome.

Education researchers

Collect structured comparison data for public course availability across platforms.

How ranking works

The actor uses deterministic scoring:

  • Topic and learner-goal overlap increase goalFitScore.
  • Ratings, review counts, learner counts, detected level, and duration improve confidence.
  • Budget preference changes how price affects valueForMoneyScore.
  • Coursera is framed as stronger for certificates and structured programs, and unsupported sources are kept out of the default input until they return reliable data.

Scores are meant for shortlist building, not as a guarantee of course quality. Always inspect the final course page before purchasing or assigning training.

Supported sources

The actor currently exposes public discovery from:

  • Coursera search pages
  • Skillshare public class sitemap

Udemy is intentionally not exposed in the input form right now because both its public search page GET requests and API endpoint returned Cloudflare challenge pages in HTTP tests. Skillshare search also blocks HTTP requests, so the actor uses the public class sitemap instead.

Some platforms personalize results, hide prices by region, or block automated requests. When a source blocks public HTTP discovery, the actor records the issue in OUTPUT.sourceLog and continues with the remaining sources.

Limitations

The actor does not log in, purchase courses, bypass paywalls, or access private learner data. It only extracts public page metadata. Not every platform exposes all fields, so some rows may have missing price, duration, rating, or provider fields.

When structured course cards are unavailable, the actor falls back to page-level metadata where possible and records lower confidence.

Troubleshooting

Few or no courses are returned

Use a broader topic, include both supported platforms, and keep the learner goal concrete. Very narrow goals may not match public course titles or descriptions.

Prices or duration are missing

Some platforms personalize price, hide subscription details, or omit duration from public cards. Check missingData, confidenceTier, and mainCaveat before making a purchase decision.

A platform appears blocked

Check OUTPUT.sourceLog. The actor keeps blocked or unreliable sources out of the shortlist and continues with the remaining public sources.

Tips for best results

  • Use a clear learner goal, not just a topic.
  • Select beginner, intermediate, or advanced when level matters.
  • Use best-value for balanced ranking or lowest-price for budget-sensitive searches.
  • Use must-have criteria to tell the actor what actually matters, such as certificate, practical projects, or team suitability.
  • Schedule recurring runs if you want to monitor changes in available courses or pricing.

Integrations

Use datasetId to append results to an existing dataset and runId to trace rows through a larger workflow. The actor can be connected to dashboards, CSV exports, L&D approval processes, spreadsheets, or follow-up analysis actors.

FAQ

Does this buy or enroll in courses?

No. It only collects public course metadata and ranks candidates for review.

Is this for course creators?

No. This actor is learner-side. It helps choose courses. For creator-side market research, use a market gap or demand analysis actor.

Are rankings guaranteed?

No. Scores are deterministic shortlist signals based on public metadata and your learner goal. Always inspect the final course page before buying or assigning training.

Can I schedule it?

Yes. Use Apify schedules and optionally provide datasetId to append recurring results into the same dataset.

Changelog

  • 0.1: Initial learner-side course finder with public discovery, ranking, trade-off analysis, datasetId, and runId support.

Feedback and support

Open an Apify issue with the topic, learner goal, selected platforms, run ID, and any course you expected to appear.