OrbTop

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