Alison Courses Scraper avatar

Alison Courses Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Alison Courses Scraper

Alison Courses Scraper

Scrape Alison's free online course catalog - 5,800+ Certificate and Diploma courses across IT, business, health, and more. Search or browse by category/level/environment, or fetch a course's full detail and syllabus by ID.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Scrape Alison.com — a global platform offering 5,800+ free online Certificate and Diploma courses across IT, business, health, personal development, engineering, and more. Search or browse by category, difficulty level, and learning environment, or pull a course's full detail and ordered syllabus by ID. No login, no API key, no cookies required.

What this actor does

  • Two modes: search (full-text search / catalog browse) and byIds (full course detail + syllabus lookup)
  • Browse axes: category, difficulty level, learning environment, content language (6 locales)
  • Filters: minimum rating, minimum enrolled learners, course type (Certificate/Diploma), tag
  • Full syllabi: byIds mode returns the ordered module/topic breakdown for each course
  • Publisher/instructor bios: byIds mode can optionally attach the course publisher's profile (bio, expertise, avatar, aggregate stats)
  • Multi-market: content language selectable across English, Spanish, French, Italian, and Portuguese (Brazil + Portugal)
  • Empty fields are omitted — every record only contains data Alison actually returned

Output fields

Search / browse mode (mode=search)

  • courseId, title, slug, sourceUrl, headline
  • category, categorySlug
  • level, levelName — Beginner / Intermediate / Advanced
  • environment — human-readable learning-environment label
  • courseType — Certificate or Diploma
  • duration, language, contentLocale, translations[]
  • rating, enrolled, certified, liked, loved, disliked, points
  • hasVideo, hasAudio, enrollable, trending, published, active, mobileAppSupported
  • tags[]
  • imageUrl
  • publisherName, publisherSlug
  • recordType, scrapedAt

Course lookup mode (mode=byIds)

  • courseId, title, slug, sourceUrl, headline
  • summary, shortSummary, outcomes
  • level, levelName, duration, imageUrl, courseType
  • publisherId
  • enrolled, liked, loved, disliked
  • enrollable, active, hasVideo
  • createdAt, updatedAt
  • supportedLanguages[], tags[]
  • modules[] — ordered syllabus: { title, headline, topicCount, topics[], assessmentCount }
  • moduleCount, topicCount, assessmentCount
  • publisherName, publisherImageUrl, publisherShortBio, publisherServices, publisherExpertise, publisherBackground, publisherCourseCount, publisherTotalEnrollments, publisherTotalLikes, publisherTotalLoves, publisherRegisteredAt, publisherTopics[] — only when includePublisherInfo: true
  • recordType, scrapedAt

Input

FieldTypeDefaultDescription
modestringsearchsearch / byIds
searchQuerystringpythonFree-text query (mode=search)
categorystringOne of 9 top-level categories
levelinteger1 (Beginner) / 2 (Intermediate) / 3 (Advanced)
environmentstringOne of 7 learning-environment segments
localestringenContent language: en/es/fr/it/pt/pt-BR
minRatingnumberDrop courses rated below this (0-5)
minEnrolledintegerDrop courses with fewer enrolled learners
courseTypestringCertificate / Diploma
tagstringFilter by tag keyword
courseIdsarrayNumeric course IDs (mode=byIds)
includeModulesbooleantrueAttach full syllabus (mode=byIds)
includePublisherInfobooleanfalseAttach publisher/instructor bio + aggregate stats (mode=byIds)
maxItemsinteger30Hard cap on emitted records (1-500)
proxyConfigurationobjectApify Proxy (residential)Used automatically for pure catalog-browse requests (see note below); leave as default

Example: search for highly-rated Python courses

{
"mode": "search",
"searchQuery": "python",
"minRating": 4,
"maxItems": 30
}

Example: browse the IT category for advanced Diploma courses

{
"mode": "search",
"searchQuery": "",
"category": "it",
"level": 3,
"courseType": "Diploma",
"maxItems": 50
}

searchQuery must be explicitly set to an empty string to browse — omitting the field entirely falls back to its default text query (python) instead of a blank catalog browse.

Example: full detail and syllabus for specific courses

{
"mode": "byIds",
"courseIds": ["3658", "3061"],
"includeModules": true
}

Example: browse in Spanish

{
"mode": "search",
"searchQuery": "excel",
"locale": "es",
"maxItems": 20
}

Use cases

  • EdTech research — track free-course availability and ratings across categories
  • Curriculum discovery — find beginner-friendly certificate courses on a topic
  • Localization audits — verify which courses are available in Spanish, French, Italian, or Portuguese
  • Content aggregation — build a free-course directory or newsletter
  • Competitive analysis — compare Alison's catalog breadth against other free-course platforms

FAQ

Do I need an Alison account? No. Every mode uses Alison's own public, unauthenticated endpoints — the same ones the alison.com website itself calls from your browser.

Are Alison courses really free? Yes — every course is free to complete. Some certificates/diplomas offer an optional paid physical or premium digital copy, but course access itself has no cost.

What's the difference between Certificate and Diploma courses? Certificate courses are shorter, single-topic courses; Diploma courses are longer, multi-module programs covering a subject in depth. Filter with courseType.

How do I get course IDs for mode=byIds? Run mode=search first — every result includes a courseId field you can feed into a follow-up byIds run for full detail and syllabus.

Why does locale change my result count slightly? Not every course has been translated into every language. Switching locale returns the catalog as available in that language, which can be a handful of courses smaller than the English catalog.

How fresh is the data? Live — every request hits Alison's production API directly, so results reflect the catalog at the moment the actor runs.

Why does a pure category/level/environment browse (no searchQuery) use a proxy? Alison's catalog API silently returns a heavily truncated (sometimes empty) result set for query-less browsing when called from a non-residential IP, even though the request itself succeeds. The actor automatically routes that specific case through Apify's residential proxy pool to guarantee the full catalog is returned; plain keyword search never needs it.

Why does imageUrl return a 403 in curl? Alison's image CDN (cdn01.alison-static.net) blocks the raw curl TLS fingerprint specifically. The URLs load correctly in browsers and in any standard HTTP client library (Python requests/httpx, JavaScript fetch, etc.) — it's a curl-only quirk, not a broken link.