Alison Courses Scraper
Pricing
from $3.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
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) andbyIds(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:
byIdsmode returns the ordered module/topic breakdown for each course - Publisher/instructor bios:
byIdsmode 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,headlinecategory,categorySluglevel,levelName— Beginner / Intermediate / Advancedenvironment— human-readable learning-environment labelcourseType— Certificate or Diplomaduration,language,contentLocale,translations[]rating,enrolled,certified,liked,loved,disliked,pointshasVideo,hasAudio,enrollable,trending,published,active,mobileAppSupportedtags[]imageUrlpublisherName,publisherSlugrecordType,scrapedAt
Course lookup mode (mode=byIds)
courseId,title,slug,sourceUrl,headlinesummary,shortSummary,outcomeslevel,levelName,duration,imageUrl,courseTypepublisherIdenrolled,liked,loved,dislikedenrollable,active,hasVideocreatedAt,updatedAtsupportedLanguages[],tags[]modules[]— ordered syllabus:{ title, headline, topicCount, topics[], assessmentCount }moduleCount,topicCount,assessmentCountpublisherName,publisherImageUrl,publisherShortBio,publisherServices,publisherExpertise,publisherBackground,publisherCourseCount,publisherTotalEnrollments,publisherTotalLikes,publisherTotalLoves,publisherRegisteredAt,publisherTopics[]— only whenincludePublisherInfo: truerecordType,scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search / byIds |
searchQuery | string | python | Free-text query (mode=search) |
category | string | – | One of 9 top-level categories |
level | integer | – | 1 (Beginner) / 2 (Intermediate) / 3 (Advanced) |
environment | string | – | One of 7 learning-environment segments |
locale | string | en | Content language: en/es/fr/it/pt/pt-BR |
minRating | number | – | Drop courses rated below this (0-5) |
minEnrolled | integer | – | Drop courses with fewer enrolled learners |
courseType | string | – | Certificate / Diploma |
tag | string | – | Filter by tag keyword |
courseIds | array | – | Numeric course IDs (mode=byIds) |
includeModules | boolean | true | Attach full syllabus (mode=byIds) |
includePublisherInfo | boolean | false | Attach publisher/instructor bio + aggregate stats (mode=byIds) |
maxItems | integer | 30 | Hard cap on emitted records (1-500) |
proxyConfiguration | object | Apify 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.