MusicBrainz Scraper
Scrape MusicBrainz artists, releases, recordings, release-groups and labels. Structured rows with MBIDs, dates and tags from $0.20 per 1,000. No API key.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
entity,query,maxItems(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.0002 per item = $0.2 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Item returned | Charged per MusicBrainz record returned. | $0.0002 |
| Actor Start | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). | $0.001 |
Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-04, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
entity | Which kind of music record to search for. artist = bands/performers, release = a specific album/single edition, recording = an individual track, release-group = an album as a concept across editions, label = a record label. | string |
query | The text to search for. Plain keywords work (e.g. "radiohead", "ok computer"), and MusicBrainz Lucene syntax is also supported (e.g. artist:radiohead, country:GB). Required. | string |
maxItems | Maximum number of records to return. The actor paginates 100 per page and respects MusicBrainz's ~1 request/second rate limit, so very large values take proportionally longer. | integer |
notionConnector | Optional. Write each item as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default) — results are always saved to the dataset regardless. | string |
notionParentId | Optional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead. | string |
What you get
A structured dataset — each result includes fields like:
nametitletypeartistCreditdatelifeSpancountryurlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
Related tools in Media & Entertainment Data
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
IMDb Search Scraper
Search IMDb for movies, shows, and people. Get the IMDb id, year, top cast, poster, and URL back as clean rows. Batch a whole watchlist at once.
Steam Games Scraper
Scrape Steam games with no API key. Search by name, get store details, price, genres, Metacritic and SteamSpy stats, or pull recent player reviews as JSON.
Books Scraper (Google Books + Open Library)
Search Google Books and Open Library and export clean book data: title, authors, ISBN-13, ratings, covers, and prices. No API key, no login.
TVMaze TV Show Scraper
Scrape TV data from TVMaze: search shows and people, get ratings, genres, network, IMDb IDs, images and full episode lists.
Where this tool sits
- Categories
- Media & Entertainment Data
MusicBrainz Scraper
Search MusicBrainz — the open, community-maintained music encyclopedia — by keyword and get back clean, structured records. No API key, no login.
Pick what you're looking for (artist, release, recording, release-group, or label), give a search term, and the actor returns flat, ready-to-use rows with the MusicBrainz ID (MBID) and a direct link, so you can join the data straight into your own catalog.
Entity types
entity | What it is |
|---|---|
artist | A band, performer, or composer. |
release | A specific edition of an album/single (a physical or digital product). |
recording | An individual track/recording. |
release-group | An album as a concept, grouping all its editions. |
label | A record label. |
What you get per row
Every row includes:
mbid— the MusicBrainz ID (stable, unique).url— direct link,https://musicbrainz.org/{entity}/{mbid}.entity— which entity type this row is.score— MusicBrainz's relevance score for the search (0–100), when provided.disambiguation— a short note distinguishing same-named records, when present.
Plus entity-specific fields:
- artist:
name,sortName,type,country,lifeSpan(+beginDate/endDate/ended),tags. - release:
title,status,artistCredit,date,country,trackCount,primaryType. - recording:
title,artistCredit,firstReleaseDate,length(ms) +lengthFormatted(m:ss). - release-group:
title,primaryType,secondaryTypes,artistCredit,firstReleaseDate. - label:
name,type,country,lifeSpan(+beginDate/endDate),labelCode.
artistCredit is the credited artist string (e.g. "Radiohead", or "A feat. B"), joined the way MusicBrainz credits it. Fields are null when MusicBrainz doesn't have that value for a record.
Input
| Field | Notes |
|---|---|
entity | One of artist / release / recording / release-group / label. Default artist. |
query | The search text. Plain keywords or MusicBrainz Lucene syntax (e.g. artist:radiohead, country:GB). Required. |
maxItems | Max records to return. Paginated 100/page. Default 100. |
Output
One dataset row per record, deduplicated by MBID. You are only charged for genuine result rows (ok: true). Rows we couldn't deliver are never charged — this includes:
- empty/invalid input (
ok: false,errorCode: "BAD_INPUT"), - no results for the query (
NO_RESULTS), - rate limits or network errors (
RATE_LIMITED/NETWORK/SERVER_ERROR).
Pricing
$0.20 per 1,000 rows ($0.0002 each), plus $0.001 each time a run starts. Flat rate — no volume tiers, no plan gates — and you are charged only for rows actually returned.
Because the per-row fee only fires on ok: true rows, a query that matches nothing costs just the $0.001 start fee. Deduplication by MBID happens before charging, so a paginated pull never bills the same record twice.
Rate limit & etiquette
The MusicBrainz API allows roughly 1 request per second. This actor sends the required descriptive User-Agent on every request, waits ~1.1s between pages, and treats a 503 as a rate-limit signal and backs off. As a result, very large maxItems jobs take proportionally longer — that's by design, to stay within MusicBrainz's policy.
Proxy
The MusicBrainz API is a public, no-auth, no-anti-bot JSON API, so no proxy is required and the default runs without one (saving proxy credits). Only enable Apify Proxy if you hit IP-level rate limits at very high volume.
Examples
Search for artists named Radiohead:
{ "entity": "artist", "query": "radiohead", "maxItems": 10 }
Find the album "OK Computer" as a release group:
{ "entity": "release-group", "query": "ok computer", "maxItems": 10 }
Notes
Data comes from MusicBrainz and is licensed under its open data licenses (core data is CC0). Please credit MusicBrainz when you redistribute.