Exercism Scraper
Pricing
from $3.00 / 1,000 results
Exercism Scraper
Scrape Exercism.org - free open-source coding education platform. List all programming language tracks, browse exercises by track, filter by difficulty, type, and more. No auth required.
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
2 days ago
Last modified
Categories
Share
Scrape Exercism.org — a free, open-source platform for learning 70+ programming languages through hands-on exercises. Extract programming language track metadata, exercise lists, difficulty levels, types (concept, practice, tutorial), and direct URLs.
No API key, no login, no proxy required. Uses the public Exercism REST API.
What you can scrape
- All 80+ programming language tracks with exercise counts, concept counts, tags, and URLs
- Exercises for any specific track with difficulty, type (concept/practice/tutorial), and blurb
- Exercises across all tracks (or a subset) in a single run
- Filter by difficulty (easy, medium, hard) and exercise type
Use cases
- Build a curriculum explorer or language comparison tool
- Analyze exercise difficulty distribution across languages
- Generate learning roadmaps based on concept availability
- Research which languages have concept-based vs practice-based tracks
- Track exercise inventory for specific programming languages
Input
| Field | Type | Description |
|---|---|---|
mode | select | What to fetch: tracks, exercises, or allExercises |
trackId | select | Track slug (e.g. python, rust) — required for mode=exercises |
trackIds | array | List of track slugs for mode=allExercises (leave empty for all tracks) |
difficulty | select | Filter: easy, medium, hard, or empty for all |
exerciseType | select | Filter: tutorial, concept, practice, or empty for all |
maxItems | integer | Maximum records to return (1–10,000, default 100) |
Example inputs
List all programming language tracks:
{"mode": "tracks","maxItems": 100}
Get all Python exercises:
{"mode": "exercises","trackId": "python","maxItems": 200}
Get medium-difficulty practice exercises for Rust:
{"mode": "exercises","trackId": "rust","difficulty": "medium","exerciseType": "practice"}
Get exercises for multiple tracks:
{"mode": "allExercises","trackIds": ["python", "javascript", "rust"],"maxItems": 500}
Output
Track record (mode=tracks)
{"trackId": "python","trackName": "Python","numExercises": 146,"numConcepts": 16,"isCourse": true,"tags": ["Interpreted", "Object-oriented", "Dynamic", "Strong"],"trackUrl": "https://exercism.org/tracks/python","exercisesUrl": "https://exercism.org/tracks/python/exercises","conceptsUrl": "https://exercism.org/tracks/python/concepts","iconUrl": "https://assets.exercism.org/tracks/python.svg","recordType": "track","scrapedAt": "2026-06-10T12:00:00+00:00"}
Exercise record (mode=exercises / allExercises)
{"exerciseSlug": "two-fer","exerciseName": "Two Fer","trackId": "python","trackName": "Python","difficulty": "easy","type": "practice","blurb": "Create a sentence of the form 'One for X, one for me.'","exerciseUrl": "https://exercism.org/tracks/python/exercises/two-fer","iconUrl": "https://assets.exercism.org/exercises/two-fer.svg","recordType": "exercise","scrapedAt": "2026-06-10T12:00:00+00:00"}
Supported tracks (sample)
8th, ABAP, ARM64 Assembly, AWK, Ballerina, Bash, C, CFML, Clojure, COBOL, C++, Crystal, C#, D, Dart, Delphi, Elixir, Elm, Erlang, Fortran, F#, Gleam, Go, Groovy, Haskell, Idris, Java, JavaScript, Julia, Kotlin, Lua, MIPS Assembly, Nim, OCaml, Pascal, Perl 5, PHP, PL/SQL, PowerShell, Prolog, PureScript, Python, R, Racket, Raku, ReasonML, Ruby, Rust, Scala, Scheme, Standard ML, Solidity, Swift, Tcl, TypeScript, Vimscript, Wren, x86-64 Assembly, Zig, and more.
FAQ
Do I need an API key or account?
No. This scraper uses Exercism's completely public REST API (exercism.org/api/v2).
How many exercises are there? Each track has 40–200+ exercises. Python alone has 146+ exercises. Total across all tracks is 5,000+.
What is the difference between exercise types?
tutorial: Introductory exercises (usually just "Hello World")concept: Exercises teaching a specific language conceptpractice: Traditional algorithmic exercises
What does isCourse mean?
When true, the track has a structured learning path with concept-based progression. When false, it's a practice-only track.
Can I get community solutions or user data? No. Community solutions require authentication. This scraper only accesses public, unauthenticated endpoints.
How fast is the scraper? Tracks mode returns 80+ records in a few seconds. Exercise mode for a single track (100–200 exercises) completes in 1–2 seconds.
Data source
All data is sourced from exercism.org via their public REST API. Exercism is an open-source, not-for-profit platform.