AllMusic Editorial Ratings, Genres & Taxonomy Scraper
AIDEVELOPER TOOLS
AllMusic Editorial Ratings, Genres & Taxonomy Scraper
Scrapes AllMusic's editorially curated artist and album data — the only source of AllMusic's proprietary genre/style taxonomy, staff star ratings, and similar-artist relationships. This data is not available from any music API (Spotify, MusicBrainz, Last.fm, etc.).
What you get
Each record contains:
| Field | Description |
|---|---|
allmusic_id |
AllMusic entity ID (MN... for artists, MW... for albums) |
entity_type |
artist or album |
name |
Artist or album name |
active_years |
Decades active — e.g. 1990s - 2020s (artists only) |
editorial_rating |
AllMusic staff star rating 0–10 (albums only, when staff-reviewed) |
genres |
Pipe-separated genres — e.g. `Pop/Rock |
styles |
Pipe-separated styles — e.g. `Black Metal |
similar_artists |
Pipe-separated similar artist names |
discography_count |
Number of releases in discography timeline (album pages only) |
allmusic_url |
Canonical AllMusic URL |
Note: Moods, themes, and biography text are loaded dynamically by AllMusic's JavaScript and are not included in server-rendered HTML. These fields are present in the output schema as
null. A future render-based upgrade would capture them.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
urls |
array | — | Direct AllMusic artist/album URLs. If provided, sitemap crawl is skipped |
maxItems |
integer | 10 | Maximum records to scrape (0 = no limit) |
entityType |
string | artist |
Filter sitemap crawl to artist, album, or both |
Direct URL mode
Supply a list of AllMusic artist or album URLs to scrape specific entities:
{
"urls": [
{ "url": "https://www.allmusic.com/artist/septicflesh-mn0000000031" },
{ "url": "https://www.allmusic.com/artist/radiohead-mn0000260174" }
],
"maxItems": 100
}
Sitemap crawl mode
Leave urls empty to crawl entities from AllMusic's 396-entry sitemap index (~3M+ artists and albums):
{
"maxItems": 1000,
"entityType": "artist"
}
Sample output
{
"allmusic_id": "MN0000000031",
"entity_type": "artist",
"name": "SepticFlesh",
"active_years": "1990s - 2020s",
"editorial_rating": null,
"genres": "Pop/Rock",
"styles": "Black Metal | Death Metal | Heavy Metal | Symphonic Black Metal",
"moods": null,
"themes": null,
"editorial_bio_summary": null,
"similar_artists": "Hypocrisy | Samael | Rotting Christ | Dimmu Borgir | Dark Tranquillity | Nightrage | Mors Principium Est",
"influenced_by": null,
"followers_of": null,
"discography_count": null,
"allmusic_url": "https://www.allmusic.com/artist/septicflesh-mn0000000031"
}
Use cases
- Music recommendation research — AllMusic styles/genres as feature signals for ML models
- Library metadata enrichment — Linking AllMusic IDs via MusicBrainz url-rels for cross-source joins
- Music journalism — Bulk export of editorial ratings for catalog analysis
- Knowledge graph construction — Similar-artist relationships as graph edges
Technical notes
- Server-rendered HTML — no browser required, runs on
core_crawler - Cloudflare passive tracking present but not blocking (200 OK responses)
- Polite concurrency (5 parallel requests) to stay within Cloudflare monitoring thresholds
- AllMusic IDs (
mn.../mw...) are stable join keys referenced by MusicBrainz url-rels