OrbTop

AllMusic Editorial Ratings, Genres & Taxonomy Scraper

AIDEVELOPER TOOLS

Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.

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: AllMusic withholds moods, themes and biography text from the page itself, so those fields are always null in the output. A future 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

  • Quick and cheap per album
  • 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