VOOZH about

URL: https://apify.com/crawlerbros/exercism-scraper

⇱ Exercism Scraper Β· Apify


Pricing

from $3.00 / 1,000 results

Go to Apify Store

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

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 minutes ago

Last modified

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

FieldTypeDescription
modeselectWhat to fetch: tracks, exercises, or allExercises
trackIdselectTrack slug (e.g. python, rust) β€” required for mode=exercises
trackIdsarrayList of track slugs for mode=allExercises (leave empty for all tracks)
difficultyselectFilter: easy, medium, hard, or empty for all
exerciseTypeselectFilter: tutorial, concept, practice, or empty for all
maxItemsintegerMaximum 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 concept
  • practice: 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.

You might also like

LeetCode Scraper

crawlerbros/leetcode-scraper

Scrape LeetCode - browse all public coding problems with filters by difficulty, topic, and search. No login required.

Code Language Detector β€” Identify Any Programming Language

maged120/programming-language-detector

Paste any code snippet and instantly identify its programming language. Returns the detected language with a confidence score β€” supports 50+ languages.

ccMixter Scraper

crawlerbros/ccmixter-scraper

Scrape ccMixter - the largest Creative Commons music community with 75,000+ free-to-use tracks. Browse, search by keyword or tags, or find tracks by artist. Zero auth required.

WordPress.org Themes & Plugins Scraper

crawlerbros/wordpress-org-scraper

Scrape WordPress.org themes and plugins, search by keyword, browse by author, fetch by slug or URL. Returns ratings, install counts, version info, tags, and direct download URLs. No proxy or auth required

iTunes Music Scraper

crawlerbros/itunes-music-scraper

Search 8M+ tracks on Apple iTunes with track search, trending charts, artist/album/track lookup. Free Apple REST API, no auth, no proxy required.