Pricing
from $10.00 / 1,000 results
IMSLP Scraper - Free Sheet Music & Scores
Scrape free sheet music from IMSLP.org (Petrucci Music Library). Search 700K+ public domain scores by composer or work. Get titles, keys, opus numbers, instrumentation, and file counts.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Share
IMSLP Sheet Music Scraper
Scrape free public domain sheet music from IMSLP (International Music Score Library Project / Petrucci Music Library) โ the largest collection of free sheet music in the world with 200,000+ works.
What it does
Search by composer name or work title to get structured metadata for classical music scores:
- Title & Composer โ Parsed from IMSLP's canonical format
- Opus/Catalogue Numbers โ Op., WoO, BWV, K., RV, D., HWV, Hob., etc.
- Key โ Musical key (e.g. "C-sharp minor")
- Instrumentation โ e.g. "piano", "orchestra", "string quartet"
- Genre/Style โ Classical, Romantic, Baroque, etc.
- Year of Composition
- Movements โ Parsed movement list
- Edition Count โ Number of available PDF editions
- PDF URLs โ Direct links to downloadable score PDFs
- Source URL โ Link back to the IMSLP work page
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | ["Beethoven"] | Composer names or work titles |
maxListings | integer | 50 | Max works to return (1-1000) |
scrapeDetails | boolean | false | Visit work pages for full metadata |
proxyConfiguration | object | โ | Optional proxy settings |
Search modes
- Composer search (e.g. "Beethoven", "Bach") โ Lists all works in that composer's category
- Work search (e.g. "Moonlight Sonata", "Clair de Lune") โ Searches across all works
Detail scraping
With scrapeDetails: false (default), you get title, composer, opus number, and source URL โ fast and lightweight.
With scrapeDetails: true, each work page is visited to extract key, instrumentation, genre, year, movements, PDF links, and edition counts. This is slower but provides rich metadata.
Output example
{"title":"Piano Sonata No.14, Op.27 No.2","composer":"Beethoven, Ludwig van","opusNumber":"Op.27 No.2","key":"C-sharp minor","instrumentation":"piano","genre":"Classical","year":"1802","movements":["Adagio sostenuto","Allegretto - Trio","Presto agitato"],"editions":85,"pdfUrls":["https://imslp.org/images/..."],"sourceUrl":"https://imslp.org/wiki/Piano_Sonata_No.14,_Op.27_No.2_(Beethoven,_Ludwig_van)","scrapedAt":"2026-04-26T12:00:00.000Z"}
Use cases
- Music researchers โ Catalog and analyze classical music metadata at scale
- Music educators โ Find free sheet music for teaching
- App developers โ Build music discovery tools with structured data
- Digital humanities โ Analyze composers, genres, and time periods
- Performers โ Discover available editions of specific works
Technical notes
- Uses IMSLP's MediaWiki API for fast, reliable search and category listing
- Individual work pages are scraped with Cheerio for full metadata
- Respects rate limits with built-in delays when scraping details
- All sheet music on IMSLP is public domain or Creative Commons licensed
