MusicBrainz Scraper
Pricing
Pay per event
MusicBrainz Scraper
Search the MusicBrainz open music encyclopedia. Find artists, releases, and recordings with genres, tags, countries, dates, and MBIDs. Export as JSON/CSV. Pay per result.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Search the MusicBrainz open music database. Find artists, releases (albums), and recordings (songs) with genres, tags, countries, dates, and unique identifiers.
What does MusicBrainz Scraper do?
MusicBrainz Scraper queries the MusicBrainz API to search for music entities. Search for artists to get their type, country, active years, and genre tags. Search for releases to find albums with track counts, barcodes, and release dates. Search for recordings to find songs with durations and associated releases.
MusicBrainz is the world's largest open music encyclopedia with data on millions of artists, albums, and recordings contributed by a global community.
Why use MusicBrainz Scraper?
- Open music database — millions of artists, albums, and songs with community-curated data
- Three entity types — search artists, releases, or recordings
- Rich tags — genre tags with vote counts for accurate classification
- Global coverage — music from every country with localized names and aliases
- Unique identifiers — MusicBrainz IDs (MBIDs) for reliable entity linking
- Structured output — clean JSON ready for analysis or integration
Use cases
- Music research — find artist discographies, collaborations, and career timelines
- Data enrichment — add MBIDs, genres, and metadata to music datasets
- Genre analysis — analyze tag distributions and genre trends
- Catalog building — build structured music catalogs with rich metadata
- Content discovery — find recordings and releases matching specific criteria
- Music apps — power search and recommendation features with reliable data
How to search MusicBrainz for music data
- Go to MusicBrainz Scraper on Apify Store.
- Add search terms to the Search queries list.
- Choose an Entity type (Artists, Releases, or Recordings).
- Click Start and wait for the run to finish.
- Download your data in JSON, CSV, or Excel format.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | array | Yes | — | Search terms (e.g., "Radiohead", "Abbey Road") |
entityType | string | No | artist | What to search: artist, release, or recording |
maxResults | integer | No | 25 | Max results per query (1–100) |
Example input
{"searchQueries": ["Radiohead", "Miles Davis"],"entityType": "artist","maxResults": 25}
Output example
Artist output
{"mbid": "a74b1b7f-71a5-4011-9441-d0b5e4122711","name": "Radiohead","sortName": "Radiohead","type": "Group","country": "GB","area": "United Kingdom","beginDate": "1991","endDate": "","disambiguation": "","tags": "alternative rock, art rock, rock, british, experimental rock","tagDetails": [{ "name": "alternative rock", "count": 15 },{ "name": "art rock", "count": 8 }],"aliases": [],"score": 100,"musicBrainzUrl": "https://musicbrainz.org/artist/a74b1b7f-71a5-4011-9441-d0b5e4122711","searchQuery": "Radiohead","scrapedAt": "2026-03-03T05:47:07.573Z"}
Recording output
{"mbid": "32dcac4e-191c-4e86-a660-e3c9a0c04a60","title": "Bohemian Rhapsody","artistName": "Queen","length": 354000,"lengthFormatted": "5:54","firstReleaseDate": "1975-10-31","releases": ["A Night at the Opera"],"tags": "rock, classic rock, progressive rock","score": 100,"musicBrainzUrl": "https://musicbrainz.org/recording/32dcac4e-...","searchQuery": "Bohemian Rhapsody","scrapedAt": "2026-03-03T05:50:00.000Z"}
Output fields
Artist fields
| Field | Type | Description |
|---|---|---|
mbid | string | MusicBrainz unique identifier |
name | string | Artist name |
sortName | string | Name for alphabetical sorting |
type | string | Entity type (Group, Person, Orchestra, etc.) |
country | string | Country code (GB, US, JP, etc.) |
area | string | Geographic area name |
beginDate | string | Career start date |
endDate | string | Career end date (empty if active) |
disambiguation | string | Clarifying note for similar names |
tags | string | Comma-separated genre/style tags |
tagDetails | array | Tags with vote counts |
aliases | array | Alternative names and spellings |
score | number | Search relevance score (0–100) |
Recording fields
| Field | Type | Description |
|---|---|---|
mbid | string | MusicBrainz unique identifier |
title | string | Recording title |
artistName | string | Artist name(s) |
length | number | Duration in milliseconds |
lengthFormatted | string | Duration as MM:SS |
firstReleaseDate | string | Earliest known release date |
releases | array | Albums/releases containing this recording |
tags | string | Genre/style tags |
How much does it cost to scrape MusicBrainz?
MusicBrainz Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Run started | $0.001 |
| Result extracted | $0.001 per entity |
Cost examples
| Results | Cost |
|---|---|
| 25 artists (1 search) | $0.026 |
| 100 recordings (2 searches) | $0.101 |
API usage
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/musicbrainz-scraper").call(run_input={"searchQueries": ["Radiohead"],"entityType": "artist","maxResults": 10})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['name']} ({item['country']}) — {item['tags'][:60]}")
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/musicbrainz-scraper').call({searchQueries: ['Radiohead'],entityType: 'artist',maxResults: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.name} (${item.country}) — ${item.tags.substring(0, 60)}`);});
Integrations
Connect MusicBrainz Scraper to your workflow with Apify integrations:
- Webhooks — trigger actions when extraction completes
- Google Sheets — export music data to spreadsheets
- Zapier / Make — connect to 5,000+ apps and services
- REST API — call the actor programmatically from any language
Tips and best practices
- MusicBrainz has a 1 request/second rate limit — the actor handles this automatically
- Use MBIDs to link entities across different music services (Spotify, Last.fm, etc.)
- Tags are community-curated with vote counts — higher counts indicate more consensus
- Search for releases to find specific albums; search recordings for individual songs
- The
scorefield (0–100) indicates how well each result matches your query
Use with AI agents via MCP
MusicBrainz Scraper is available as a tool for AI assistants via the Model Context Protocol (MCP).
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Example prompts
- "Search MusicBrainz for albums by 'Radiohead'"
- "Get discography data for this artist"
- "Find all recordings of 'Bohemian Rhapsody' in the MusicBrainz database"
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~musicbrainz-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries": ["Radiohead"],"entityType": "artist","maxResults": 25}'
FAQ
Why do some artists have low tag counts? MusicBrainz tags are community-curated. Less popular or newly added artists may have few or no tags. This does not mean the data is incomplete -- it reflects the community's contribution level for that entity.
The search returns duplicate-looking results.
MusicBrainz distinguishes between different entities with the same name using the disambiguation field. For example, there may be multiple artists named "Genesis" -- check the disambiguation, country, and begin/end dates to identify the correct one.
Other entertainment and media scrapers
- Metacritic Scraper -- scrape game, movie, and TV show ratings from Metacritic
- IMDB Scraper -- scrape movie and TV show ratings from IMDB
- Steam Scraper -- scrape game data, reviews, and prices from Steam
- Goodreads Scraper -- extract book ratings and reviews from Goodreads